functions.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. # ***** BEGIN LICENSE BLOCK *****
  3. # This file is part of DotClear.
  4. # Copyright (c) 2004 Olivier Meunier and contributors. All rights
  5. # reserved.
  6. #
  7. # DotClear is free software; you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation; either version 2 of the License, or
  10. # (at your option) any later version.
  11. #
  12. # DotClear is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with DotClear; if not, write to the Free Software
  19. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  20. #
  21. # ***** END LICENSE BLOCK *****
  22. class dcBlogroll
  23. {
  24. /*
  25. Cette fonction affiche la liste des liens (blogroll)
  26. @proto function dcLinkList
  27. @param string block Chaine de substitution pour pour la liste ('<ul>%s</ul>')
  28. @param string item Chaine de substitution pour un élément ('<li>%s</li>')
  29. */
  30. function linkList($category='<h3>%s</h3>',$block='<ul>%s</ul>',$item='<li>%s</li>')
  31. {
  32. global $con, $blog;
  33. if (($rs_link = $con->select(
  34. ' SELECT label, href, title, lang, rel FROM ' . $blog->t_link
  35. . ' ORDER BY position')) !== false) {
  36. $res = '';
  37. while (!$rs_link->EOF()) {
  38. $label = $rs_link->f('label');
  39. $href = $rs_link->f('href');
  40. $title = $rs_link->f('title');
  41. $lang = $rs_link->f('lang');
  42. $rel = $rs_link->f('rel');
  43. if (! $label && ! $href) {
  44. if ('' != $res) {
  45. printf($block,$res);
  46. }
  47. printf($category, $title);
  48. $res = '';
  49. } else {
  50. $link =
  51. '<a href="'.htmlspecialchars($href).'"'.
  52. ((!$lang) ? '' : ' hreflang="'.htmlspecialchars($lang).'"').
  53. ((!$title) ? '' : ' title="'.htmlspecialchars($title).'"').
  54. ((!$rel) ? '' : ' rel="'.htmlspecialchars($rel).'"').
  55. '>'.
  56. htmlspecialchars($label).
  57. '</a>';
  58. $res .= sprintf($item,$link);
  59. }
  60. $rs_link->moveNext();
  61. }
  62. if ('' != $res) {
  63. printf($block,$res);
  64. }
  65. }
  66. }
  67. }
  68. ?>