コード例 #1
0
    /**
     * @param int $applicationTypeId
     * @return ApplicationTemplate
     */
    public static function getApplicationTemplate( $applicationTypeId )
    {
        $conditionList = ClusterTool::clusterOverride( array('application_type_id' => $applicationTypeId ) );

        foreach ( $conditionList as $condition )
        {
            $applicationTemplate = self::fetchObject( self::definition(), null, $condition );
            if ( $applicationTemplate instanceof self )
            {
                return $applicationTemplate;
            }
        }

        return null;
    }
コード例 #2
0
    /**
     * @param int $applicationId
     * @return ApplicationStaticConfiguration
     */
    static public function getStaticConfiguration( $applicationId )
    {
        $conditionList = ClusterTool::clusterOverride( array('application_id' => $applicationId) );

        foreach ( $conditionList as $condition )
        {
            $staticConfiguration = self::fetchObject( self::definition(), null, $condition );

            if ( $staticConfiguration instanceof self )
            {
                return $staticConfiguration;
            }
        }

        return null;
    }
    /**
     * @param int $applicationId
     * @return ExternalLinkHandler
     */
    public static function getExternalConfiguration( $applicationId )
    {
        $conditionList = ClusterTool::clusterOverride( array('application_id' => $applicationId) );

        foreach ( $conditionList as $condition )
        {
            $externalConfiguration = self::fetchObject( self::definition(), null, $condition );

            if ( $externalConfiguration instanceof self )
            {
                $externalConfiguration->buildExternalLinkHandler();

                return $externalConfiguration;
            }
        }

        return null;
    }
    /**
     * @return array[]
     */
    static function getMapping()
    {
        if ( !empty($_mapping) )
        {
            return self::$_mapping;
        }
        
        $mapping = CacheTool::dailyValue('userSpeMapping');
        
        if ( $mapping === false || is_null($mapping) )
        {
            $conditionList = ClusterTool::clusterOverride( array( 'is_available' => '1' ) );

            foreach ($conditionList as $condition)
            {
                $mapping = self::fetchObjectList(self::definition(), null, $condition, false);
    
                if ( is_array($mapping) && count($mapping) > 0 )
                {
                    break;
                }
            }
            
            $mapping = self::flattenMapping($mapping);

            self::$_mapping = $mapping;

            CacheTool::dailyValue('userSpeMapping', $mapping);
        }
        else
        {
            self::$_mapping = $mapping;
        }
        
        return $mapping;
    }
    /**
     * @param int $applicationId
     */
    public function buildFacetList( $applicationId )
    {
        $sort       = array( 'placement' => 'asc' );
        $conditions = array(
            'application_id' => $applicationId
        );

        $conditionList = ClusterTool::clusterOverride( $conditions );

        foreach ( $conditionList as $condition )
        {
            /* @type $applicationHasFacetList ApplicationHasFacet[] */
            $applicationHasFacetList = ApplicationHasFacet::fetchObjectList(
                ApplicationHasFacet::definition(),
                null,
                $condition,
                $sort
            );

            if ( is_array( $applicationHasFacetList ) && count( $applicationHasFacetList ) > 0 )
            {
                break;
            }
        }

        if ( !isset($applicationHasFacetList) || !is_array( $applicationHasFacetList ) || count( $applicationHasFacetList ) == 0 )
        {
            return;
        }

        foreach ( $applicationHasFacetList as $applicationHasFacet )
        {
            /* @type $facet ApplicationFacet */
            $facet = $applicationHasFacet->getFacet();

            if ( $facet instanceof ApplicationFacet )
            {
                $facet->setOnMobile( (bool)$applicationHasFacet->attribute( 'on_mobile' ) );
                $this->facetList[] = $facet;
            }
        }
    }