Esempio n. 1
0
    /**
     * Display contents for a entry
     *
     * @param RDR_Entry $entry
     */
    private function displayEntry(RDR_Entry $entry)
    {
        $jsonData = $entry->_dbValues;
        $jsonData["id"] = $entry->getId();
        $readed = isset(user()->_cacheReaded[$entry->getId()]) || user()->setting("init.entry") >= $entry->getId();
        $saved = user()->getByKey("saved", $entry->getId());
        $categories = user()->getCategories();
        $feed = $entry->feed;
        $jsonData["contentJS"] = $feed->contentJS;
        $jsonData["feedId"] = $feed->getId();
        $category = user()->getCategoryToFeed($feed);
        $layout = "default";
        $favicon = $entry->feed->getFaviconUrl();
        if (user()->setting("layout")) {
            $layout = user()->setting("layout");
        }
        $smallTag = '<div class="feed-options small">';
        if (!$readed) {
            $smallTag .= '<span><a href="#" class="readed">' . t("mark.read") . '</a> · </span>';
        }
        $smallTag .= '<span><a href="#" class="saved">' . (!$saved ? t("saveit") : t("remove.save")) . '</a> · </span>';
        $smallTag .= '<time datetime="' . $entry->datetime->getUnixtime() . '"></time> · ';
        $smallTag .= t("feed") . ': ';
        if ($favicon) {
            $smallTag .= '<span class="favicon" style="background-image:url(' . $favicon . ')"></span>';
        }
        $smallTag .= sprintf(t("feeds.2"), '<a href="' . $entry->feed->getLink() . '">' . s(cut($entry->feed->name, 30)) . '</a>', '<a href="' . $category->getLink() . '">' . s(cut($category->name, 30)) . '</a>') . " · ";
        $smallTag .= t("url") . ': <a href="' . $entry->link . '" target="_blank">' . s(cut($entry->link, 30)) . '</a>';
        if (needRole(RDR_User::ROLE_ADMIN)) {
            $smallTag .= ' · <a href="#" class="adminview">' . t("adminview") . '</a>';
        }
        $smallTag .= '</div>';
        $titleTag = '<h2><a href="' . $entry->link . '" target="_blank" onclick="return false;" rel="noreferrer">' . s($entry->title) . '</a></h2>';
        $imageTag = '<div class="image"></div>';
        ?>
        <div class="<?php 
        echo user()->setting("hideimages") ? 'no-feed-images' : null;
        ?>
 entry <?php 
        echo $readed && $this->readedLayoutEnabled ? 'readed' : null;
        ?>
 layout-<?php 
        echo s($layout);
        ?>
" id="entry-<?php 
        echo $entry->getId();
        ?>
" data-id="<?php 
        echo $entry->getId();
        ?>
" data-feed="<?php 
        echo $feed->getId();
        ?>
">
            <div class="feed-start"></div>
            <?php 
        switch ($layout) {
            case "big":
                ?>
                    <?php 
                echo $titleTag;
                ?>
                    <div class="clear"></div>
                    <div class="float-one">
                        <div class="inner"><?php 
                echo $imageTag;
                ?>
</div>
                    </div>
                    <div class="float-two">
                        <div class="inner">
                           <?php 
                echo $smallTag;
                ?>
                           <div class="text"></div>
                        </div>
                    </div>
                    <div class="clear"></div>
                    <?php 
                break;
            case "headline":
                echo $titleTag;
                echo $smallTag;
                break;
            default:
                ?>
                    <div class="float-one">
                        <div class="inner"><?php 
                echo $imageTag;
                ?>
</div>
                    </div>
                    <div class="float-two">
                        <div class="inner">
                            <?php 
                echo $titleTag;
                ?>
                            <?php 
                echo $smallTag;
                ?>
                            <div class="text"></div>
                        </div>
                    </div>
                    <div class="clear"></div>
                    <?php 
                break;
        }
        ?>
            <div class="feed-end"></div>
            <?php 
        if (!user()->setting("noautoread") && !$readed) {
            ?>
                <div class="entry-readed" data-id="<?php 
            echo $entry->getId();
            ?>
"></div>
            <?php 
        }
        ?>
            <?php 
        if (needRole(RDR_User::ROLE_ADMIN)) {
            ?>
                <div class="adminview"></div>
            <?php 
        }
        ?>
        </div>

        <script type="text/javascript">
        (function(){
            var d = <?php 
        echo json_encode($jsonData, JSON_FORCE_OBJECT);
        ?>
;
            Feeds.feedInit(d);
        })();
        </script>
        <?php 
    }