index.phtml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <?php
  2. function lazyimg($content) {
  3. return preg_replace(
  4. '/<img([^<]+)src=([\'"])([^"\']*)([\'"])([^<]*)>/i',
  5. '<img$1src="' . Url::display('/data/grey.gif') . '" data-original="$3"$5>',
  6. $content
  7. );
  8. }
  9. $output = Request::param ('output', 'normal');
  10. if ($output == 'rss') {
  11. $this->renderHelper ('rss');
  12. } else {
  13. $this->partial ('aside_flux');
  14. $this->partial ('nav_menu');
  15. if (isset ($this->entryPaginator) && !$this->entryPaginator->isEmpty ()) {
  16. $items = $this->entryPaginator->items ();
  17. ?>
  18. <div id="stream">
  19. <?php
  20. $display_today = true;
  21. $display_yesterday = true;
  22. $display_others = true;
  23. ?>
  24. <?php foreach ($items as $item) { ?>
  25. <?php if ($display_today && $item->isDay (Days::TODAY)) { ?>
  26. <div class="day"><?php echo Translate::t ('today'); ?> - <?php echo timestamptodate (time (), false); ?></div>
  27. <?php $display_today = false; } ?>
  28. <?php if ($display_yesterday && $item->isDay (Days::YESTERDAY)) { ?>
  29. <div class="day"><?php echo Translate::t ('yesterday'); ?> - <?php echo timestamptodate (time () - 86400, false); ?></div>
  30. <?php $display_yesterday = false; } ?>
  31. <?php if ($display_others && $item->isDay (Days::BEFORE_YESTERDAY)) { ?>
  32. <div class="day"><?php echo Translate::t ('before_yesterday'); ?></div>
  33. <?php $display_others = false; } ?>
  34. <div class="flux<?php echo !$item->isRead () ? ' not_read' : ''; ?><?php echo $item->isFavorite () ? ' favorite' : ''; ?>" id="flux_<?php echo $item->id (); ?>">
  35. <ul class="horizontal-list flux_header">
  36. <?php if (!login_is_conf ($this->conf) || is_logged ()) { ?>
  37. <li class="item manage">
  38. <?php if (!$item->isRead ()) { ?>
  39. <a class="read" href="<?php echo _url ('entry', 'read', 'id', $item->id (), 'is_read', 1); ?>">&nbsp;</a>
  40. <?php } else { ?>
  41. <a class="read" href="<?php echo _url ('entry', 'read', 'id', $item->id (), 'is_read', 0); ?>">&nbsp;</a>
  42. <?php } ?>
  43. <?php if (!$item->isFavorite ()) { ?>
  44. <a class="bookmark" href="<?php echo _url ('entry', 'bookmark', 'id', $item->id (), 'is_favorite', 1); ?>">&nbsp;</a>
  45. <?php } else { ?>
  46. <a class="bookmark" href="<?php echo _url ('entry', 'bookmark', 'id', $item->id (), 'is_favorite', 0); ?>">&nbsp;</a>
  47. <?php } ?>
  48. </li>
  49. <?php } ?>
  50. <?php $feed = $item->feed (true); ?>
  51. <li class="item website"><a href="<?php echo _url ('index', 'index', 'get', 'f_' . $feed->id ()); ?>"><img class="favicon" src="<?php echo $feed->favicon (); ?>" alt="" /> <span><?php echo $feed->name (); ?></span></a></li>
  52. <li class="item title"><?php echo $item->title (); ?></li>
  53. <li class="item date"><?php echo $item->date (); ?></li>
  54. <li class="item link"><a target="_blank" href="<?php echo $item->link (); ?>">&nbsp;</a></li>
  55. </ul>
  56. <div class="flux_content">
  57. <div class="content">
  58. <h1 class="title"><?php echo $item->title (); ?></h1>
  59. <?php $author = $item->author (); ?>
  60. <?php echo $author != '' ? '<div class="author">' . Translate::t ('by_author', $author) . '</div>' : ''; ?>
  61. <?php
  62. if($this->conf->lazyload() == 'yes') {
  63. echo lazyimg($item->content ());
  64. } else {
  65. echo $item->content();
  66. }
  67. ?>
  68. </div>
  69. <ul class="horizontal-list bottom">
  70. <li class="item">
  71. <?php if ($item->notes () != '') { ?>
  72. <i class="icon i_note"></i> <a class="note" href="<?php echo _url ('entry', 'note', 'id', $item->id ()); ?>"><?php echo Translate::t ('update_note'); ?></a>
  73. <?php } else { ?>
  74. <i class="icon i_note_empty"></i> <a class="note" href="<?php echo _url ('entry', 'note', 'id', $item->id ()); ?>"><?php echo Translate::t ('add_note'); ?></a>
  75. <?php } ?>
  76. </li>
  77. <li class="item">
  78. <div class="dropdown">
  79. <div id="dropdown-share-<?php echo $item->id ();?>" class="dropdown-target"></div>
  80. <i class="icon i_share"></i> <a class="dropdown-toggle" href="#dropdown-share-<?php echo $item->id ();?>"><?php echo Translate::t ('share'); ?></a>
  81. <ul class="dropdown-menu">
  82. <li class="dropdown-close"><a href="#close"><i class="icon i_close"></i></a></li>
  83. <li class="item"><a href="mailto:?subject=<?php echo $item->title (); ?>&amp;body=J'ai trouvé cet article intéressant, tu peux le lire à cette adresse : <?php echo urlencode($item->link ()); ?>"><?php echo Translate::t ('by_email'); ?></a></li>
  84. <?php
  85. $shaarli = $this->conf->urlShaarli ();
  86. if ($shaarli) {
  87. ?>
  88. <li class="item"><a target="_blank" href="<?php echo $shaarli . '?post=' . urlencode($item->link ()) . '&amp;title=' . urlencode ($item->title ()) . '&amp;source=bookmarklet'; ?>"><?php echo Translate::t ('on_shaarli'); ?></a></li>
  89. <?php } ?>
  90. </ul>
  91. </div>
  92. </li>
  93. <?php $tags = $item->tags(); ?>
  94. <?php if(!empty($tags)) { ?>
  95. <li class="item">
  96. <div class="dropdown">
  97. <div id="dropdown-tags-<?php echo $item->id ();?>" class="dropdown-target"></div>
  98. <i class="icon i_tag"></i> <a class="dropdown-toggle" href="#dropdown-tags-<?php echo $item->id ();?>"><?php echo Translate::t ('related_tags'); ?></a>
  99. <ul class="dropdown-menu">
  100. <li class="dropdown-close"><a href="#close"><i class="icon i_close"></i></a></li>
  101. <?php foreach($tags as $tag) { ?>
  102. <li class="item"><a href="<?php echo _url ('index', 'index', 'search', urlencode ('#' . $tag)); ?>"><?php echo $tag; ?></a></li>
  103. <?php } ?>
  104. </ul>
  105. </div>
  106. </li>
  107. <?php } ?>
  108. </ul>
  109. </div>
  110. </div>
  111. <?php } ?>
  112. <?php $this->entryPaginator->render ('pagination.phtml', 'next'); ?>
  113. </div>
  114. <?php } else { ?>
  115. <div class="alert alert-warn">
  116. <span class="alert-head"><?php echo Translate::t ('no_feed_to_display'); ?></span>
  117. </div>
  118. <?php } ?>
  119. <?php } ?>