/**
     * @param string $mapping
     * @return array
     */
    private static function buildPublisherFolderMappings($mapping)
    {
        $db                  = eZDB::instance();
        $nodeToPathMapping   = array();
        $pathToIDMapping     = array();
        $publisherFolderList = PublisherFolder::fetchObjectList( PublisherFolder::definition(),array('path', 'id'), null, null, null, false );
        $pfRemotes           = array();
        $pfByPath            = array();

        foreach(array_keys($publisherFolderList) as $key )
        {
            $pf                    = $publisherFolderList[$key];
            $pfByPath[$pf['path']] = $pf['id'];
            $pfRemotes[]           = "\"publisher_folder-{$pf['path']}\"";
        }

        $pfRemotesString = implode( ',', $pfRemotes );
        $query = "
            SELECT c.remote_id as remote, ct.main_node_id as main_node
                FROM ezcontentobject c, ezcontentobject_tree ct
                WHERE c.remote_id IN ( $pfRemotesString ) and c.id = ct.contentobject_id and ct.node_id = ct.main_node_id";

        $results = $db->arrayQuery($query);
        
        foreach ( $results as $line )
        {
            $m = array();
            if (preg_match("#^publisher_folder-(.*)$#", $line['remote'], $m))
                $pfPath = $m[1];
            else
                continue;
            
            $nodeId = $line['main_node'];
            
            $pathToIDMapping[$pfPath]   = array( 'nid'  => $nodeId, 'pfid' => $pfByPath[$pfPath] );
            $nodeToPathMapping[$nodeId] = array( 'path' => $pfPath  , 'pfid' => $pfByPath[$pfPath] );
        }

        GlobalCacheTool::dailyValue( 'publisherFolderPathToIDMapping', $pathToIDMapping );
        GlobalCacheTool::dailyValue( 'publisherFolderNodeIdToPathMapping', $nodeToPathMapping );
        
        switch ($mapping)
        {
            case 'publisherFolderPathToIDMapping' :
                return $pathToIDMapping;
            case 'publisherFolderNodeIdToPathMapping' :
                return $nodeToPathMapping;
        }

        return array();
    }