/** * Vytvoreni nahledu clanku pro vypis * @param array $art pole s daty clanku vcetne cat_title_seo * @param bool $info vypisovat radek s informacemi 1/0 * @param bool $perex vypisovat perex 1/0 * @param int|null pocet komentaru (null = nezobrazi se) * @return string */ function _articlePreview($art, $info = true, $perex = true, $comment_count = null) { // podpora nahrazeni static $overload; if (null === $overload) { _extend('call', 'article.preview', array('callback' => &$overload)); if (null === $overload) { $overload = false; } } if (false !== $overload) { return call_user_func($overload, $art, $info, $perex, $comment_count); } global $_lang; // titulek $link = _linkArticle($art['id'], $art['title_seo'], $art['cat_title_seo']); $output = "<h2 class='list-title'><a href='" . $link . "'>" . $art['title'] . "</a></h2>"; // perex a obrazek if ($perex == true) { $output .= "<p class='list-perex'>" . (isset($art['picture_uid']) ? "<a href='" . $link . "'><img class='list-perex-image' src='" . _pictureStorageGet(_indexroot . 'pictures/articles/', null, $art['picture_uid'], 'jpg') . "' alt='" . $art['title'] . "' /></a>" : '') . $art['perex'] . "</p>"; } // info if ($info == true) { // pocet komentaru if ($art['comments'] == 1 and _comments and $comment_count !== null) { $info_comments = _template_listinfoseparator . "<span>" . $_lang['article.comments'] . ":</span> " . $comment_count; } else { $info_comments = ""; } $output .= "\n <div class='list-info'>\n <span>" . $_lang['article.author'] . ":</span> " . _linkUser($art['author'], null, true) . _template_listinfoseparator . "<span>" . $_lang['article.posted'] . ":</span> " . _formatTime($art['time']) . _template_listinfoseparator . "<span>" . $_lang['article.readed'] . ":</span> " . $art['readed'] . "x" . $info_comments . "</div>"; } elseif ($perex && isset($art['picture_uid'])) { $output .= "<div class='cleaner'></div>\n"; } return $output . "\n"; }
function _HCM_linkuser($jmeno = "") { $name = DB::esc(_anchorStr($jmeno, false)); $query = DB::query("SELECT id FROM `" . _mysql_prefix . "-users` WHERE username='******'"); if (DB::size($query) != 0) { $query = DB::row($query); return _linkUser($query['id']); } }
function _HCM_recentposts($limit = null, $stranky = "", $typ = null) { // priprava $result = ""; if (isset($limit) and intval($limit) >= 1) { $limit = abs(intval($limit)); } else { $limit = 10; } // filtr cisel sekci, knih nebo clanku if (isset($stranky) and isset($typ)) { $rtype = intval($typ); if ($rtype < 1 or $rtype > 3) { $rtype = 1; } $rroots = "(" . _sqlWhereColumn("home", $stranky) . ") AND type=" . $rtype; } else { $rroots = "type!=4 AND type!=6 AND type!=7"; } $query = DB::query("SELECT id,type,home,xhome,subject,author,guest,time,text FROM `" . _mysql_prefix . "-posts` WHERE " . $rroots . " ORDER BY id DESC LIMIT " . $limit); while ($item = DB::row($query)) { // nacteni titulku a odkazu na stranku switch ($item['type']) { case 1: case 3: $hometitle = DB::query_row("SELECT title,title_seo FROM `" . _mysql_prefix . "-root` WHERE id=" . $item['home']); $homelink = _linkRoot($item['home'], $hometitle['title_seo']); break; case 2: $hometitle = DB::query_row("SELECT art.title,art.title_seo,cat.title_seo AS cat_title_seo FROM `" . _mysql_prefix . "-articles` AS art JOIN `" . _mysql_prefix . "-root` AS cat ON(cat.id=art.home1) WHERE art.id=" . $item['home']); $homelink = _linkArticle($item['home'], $hometitle['title_seo'], $hometitle['cat_title_seo']); break; case 5: if ($item['xhome'] == -1) { $tid = $item['id']; $hometitle = array("title" => $item['subject']); } else { $tid = $item['xhome']; $hometitle = DB::query_row("SELECT subject FROM `" . _mysql_prefix . "-posts` WHERE id=" . $item['xhome']); $hometitle = array("title" => $hometitle['subject']); } $homelink = "index.php?m=topic&id=" . $tid; break; } // nacteni jmena autora if ($item['author'] != -1) { $authorname = _linkUser($item['author'], null, true, true); } else { $authorname = $item['guest']; } $hometitle = $hometitle['title']; $result .= "\n<h2 class='list-title'><a href='" . $homelink . "'>" . $hometitle . "</a></h2>\n<p class='list-perex'>" . _cutStr(strip_tags(_parsePost($item['text'])), 256) . "</p>\n<div class='list-info'>\n<span>" . $GLOBALS['_lang']['global.postauthor'] . ":</span> " . $authorname . _template_listinfoseparator . "\n<span>" . $GLOBALS['_lang']['global.time'] . ":</span> " . _formatTime($item['time']) . "\n</div>\n\n"; } return $result; }
case 3: $artorder = "art.title"; break; case 4: $artorder = "art.title DESC"; break; } // titulek kategorie $output .= "<h2>" . $catdata['title'] . " <a href='index.php?p=content-articles-edit&new_cat=" . $cid . "'><img src='images/icons/new.png' alt='new' class='icon' />" . $_lang['admin.content.articles.create'] . "</a></h2>\n"; // vypis clanku // zprava $message = ""; if (isset($_GET['artdeleted'])) { $message = _formMessage(1, $_lang['admin.content.articles.delete.done']); } $cond = "(art.home1=" . $cid . " OR art.home2=" . $cid . " OR art.home3=" . $cid . ")" . _admin_artAccess('art'); $paging = _resultPaging("index.php?p=content-articles-list&cat=" . $cid, $catdata['var2'], "articles:art", $cond); $s = $paging[2]; $output .= $paging[0] . "<div class='hr'><hr /></div>\n" . $message . "\n<table class='list'>\n<thead><tr><td>" . $_lang['global.article'] . "</td><td>" . $_lang['article.author'] . "</td><td>" . $_lang['article.posted'] . "</td><td>" . $_lang['global.action'] . "</td></tr></thead>\n<tbody>"; $arts = DB::query("SELECT art.id,art.title,art.title_seo,art.time,art.author,art.confirmed,art.visible,art.public,cat.title_seo AS cat_title_seo FROM `" . _mysql_prefix . "-articles` AS art JOIN `" . _mysql_prefix . "-root` AS cat ON(cat.id=art.home1) WHERE " . $cond . " ORDER BY " . $artorder . " " . $paging[1]); if (DB::size($arts) != 0) { while ($art = DB::row($arts)) { $output .= "<tr><td>" . _admin_articleEditLink($art) . "</td><td>" . _linkUser($art['author']) . "</td><td>" . _formatTime($art['time']) . "</td><td><a href='index.php?p=content-articles-edit&id=" . $art['id'] . "&returnid=" . $cid . "&returnpage=" . $s . "'><img src='images/icons/edit.png' alt='edit' class='icon' />" . $_lang['global.edit'] . "</a> <a href='index.php?p=content-articles-delete&id=" . $art['id'] . "&returnid=" . $cid . "&returnpage=" . $s . "'><img src='images/icons/delete.png' alt='del' class='icon' />" . $_lang['global.delete'] . "</a></td></tr>\n"; } } else { $output .= "<tr><td colspan='4'>" . $_lang['global.nokit'] . "</td></tr>"; } $output .= "</tbody></table>"; } else { $output .= _formMessage(3, $_lang['global.badinput']); }
if ($r['xhome'] != -1) { $link = 'index.php?m=topic&id=' . $r['xhome']; $page = _resultPagingGetItemPage(_commentsperpage, "posts", "id<" . $r['id'] . " AND type=5 AND xhome=" . $r['xhome'] . " AND home=" . $r['home']); $title = $r['topic_subject']; } else { $link = 'index.php?m=topic&id=' . $r['id']; $title = $r['subject']; $post_anchor = false; } break; } // sestaveni infa if ($r['author'] == -1) { $info = "<span class='post-author-guest'>" . $r['guest'] . '</span>'; } else { $info = _linkUser($r['author'], null, true, true); } $info .= ', ' . _formatTime($r['time']); // pridani do vysledku $results[] = array((isset($page) ? _addGetToLink($link, 'page=' . $page) : $link) . ($post_anchor ? '#post-' . $r['id'] : ''), $title, _cutStr(strip_tags(_parsePost($r['text'])), 255), $info); } DB::free($q); } } // vyhledani obrazku if ($image) { // zaklad dotazu $sql = 'SELECT img.id,img.prev,img.full,img.ord,img.home,img.title,gal.title AS gal_title,gal.title_seo,gal.var2 FROM `' . _mysql_prefix . '-images` AS img'; // join na galerii $sql .= ' JOIN `' . _mysql_prefix . '-root` AS gal ON(gal.id=img.home)'; // podminky
$query = DB::row($query); } $pagetitle = $query[$pagetitle_column]; switch ($type) { // komentare/prispevky/temata case 1: case 2: case 3: case 5: case 6: $items = DB::query("SELECT * FROM `" . _mysql_prefix . "-posts` WHERE " . $homelimit . $typelimit . " ORDER BY id DESC LIMIT " . _rsslimit); $titlebonus = ""; while ($item = DB::row($items)) { // nacteni jmena autora if ($item['author'] != -1) { $author = _linkUser($item['author'], null, true, true); } else { $author = $item['guest']; } // odkaz na stranku switch ($item['type']) { case 1: case 3: $homelink = _linkRoot($item['home']); break; case 2: $homelink = _linkArticle($item['home']); break; case 5: if ($item['xhome'] == -1) { $homelink = "index.php?m=topic&id=" . $item['id'];
} // info $module .= _formMessage(1, $_lang['mod.messages.delete.done']); } } // strankovani $paging = _resultPaging(_indexOutput_url, _messagesperpage, 'pm', 'sender=' . _loginid . ' OR receiver=' . _loginid, '&a=' . $a); if (_pagingmode == 1 or _pagingmode == 2) { $module .= $paging[0]; } // tabulka $module .= "\n <form method='post' action=''>\n<p class='messages-menu'>\n <img src='" . _templateImage('icons/bubble.png') . "' alt='new' class='icon' /><a href='" . _indexOutput_url . "&a=new'>" . $_lang['mod.messages.new'] . "</a>\n</p>\n\n<table class='messages-table'>\n<tr><td width='10'><input type='checkbox' name='selector' onchange=\"var that=this;\$('table.messages-table input').each(function(){this.checked=that.checked;});\" /></td><td><strong>" . $_lang['mod.messages.message'] . "</strong></td><td><strong>" . $_lang['global.user'] . "</strong></td><td><strong>" . $_lang['mod.messages.time.update'] . "</strong></td></tr>\n"; $q = DB::query('SELECT pm.id,pm.sender,pm.receiver,pm.sender_readtime,pm.receiver_readtime,pm.update_time,post.subject,(SELECT COUNT(*) FROM `' . _mysql_prefix . '-posts` AS countpost WHERE countpost.home=pm.id AND countpost.type=6 AND (pm.sender=' . _loginid . ' AND countpost.time>pm.receiver_readtime OR pm.receiver=' . _loginid . ' AND countpost.time>pm.sender_readtime)) AS unread_counter FROM `' . _mysql_prefix . '-pm` AS pm JOIN `' . _mysql_prefix . '-posts` AS post ON (post.home=pm.id AND post.type=6 AND post.xhome=-1) WHERE pm.sender=' . _loginid . ' AND pm.sender_deleted=0 OR pm.receiver=' . _loginid . ' AND pm.receiver_deleted=0 ORDER BY pm.update_time DESC ' . $paging[1]); while ($r = DB::row($q)) { $read = $r['sender'] == _loginid && $r['sender_readtime'] >= $r['update_time'] || $r['receiver'] == _loginid && $r['receiver_readtime'] >= $r['update_time']; $module .= "<tr><td><input type='checkbox' name='msg[]' value='" . $r['id'] . "' /></td><td><a href='" . _indexOutput_url . "&a=list&read=" . $r['id'] . "'" . ($read ? '' : ' class="notreaded"') . ">" . $r['subject'] . "</a></td><td>" . _linkUser($r['sender'] == _loginid ? $r['receiver'] : $r['sender']) . " <small>(" . $r['unread_counter'] . ")</small></td><td>" . _formatTime($r['update_time']) . "</td></tr>\n"; } if (!isset($read)) { $module .= "<tr><td colspan='4'>" . $_lang['mod.messages.nokit'] . "</td></tr>\n"; } $module .= "\n<tr><td colspan='4'>\n <div class='hr'><hr /></div>\n <select name='action'>\n <option value='1'>" . $_lang['mod.messages.delete.selected'] . "</option>\n <option value='2'>" . $_lang['mod.messages.delete.readed'] . "</option>\n <option value='3'>" . $_lang['mod.messages.delete.all'] . "</option>\n </select>\n <input type='submit' value='" . $_lang['global.do'] . "' onclick='return _sysConfirm();' />\n</td></tr>\n\n</table>\n" . _xsrfProtect() . "</form>\n"; // strankovani dole if (_pagingmode == 2 or _pagingmode == 3) { $module .= '<br />' . $paging[0]; } break; } // zpetny odkaz, titulek $start = ''; if (!$list) { $start .= "<a href='" . _indexOutput_url . "' class='backlink'>< " . $_lang['global.return'] . "</a>\n";
} break; // kategorie // kategorie case 2: $iteminfo .= "<span>" . $_lang['global.articlesnum'] . ":</span> " . DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-articles` AS art WHERE (home1=" . $item['id'] . " OR home2=" . $item['id'] . " OR home3=" . $item['id'] . ") AND " . _sqlArticleFilter()), 0); break; // kniha // kniha case 3: // nacteni jmena autora posledniho prispevku $lastpost = DB::query("SELECT author,guest FROM `" . _mysql_prefix . "-posts` WHERE home=" . $item['id'] . " ORDER BY id DESC LIMIT 1"); if (DB::size($lastpost) != 0) { $lastpost = DB::row($lastpost); if ($lastpost['author'] != -1) { $lastpost = _linkUser($lastpost['author'], null, true, true); } else { $lastpost = $lastpost['guest']; } } else { $lastpost = "-"; } $iteminfo .= "<span>" . $_lang['global.postsnum'] . ":</span> " . DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-posts` WHERE type=3 AND home=" . $item['id']), 0) . _template_listinfoseparator . "<span>" . $_lang['global.lastpost'] . ":</span> " . $lastpost; break; // galerie // galerie case 5: $iteminfo .= "<span>" . $_lang['global.imgsnum'] . ":</span> " . DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-images` WHERE home=" . $item['id']), 0); break; // forum // forum
/** * Vytvoreni vypisu prispevku * * Type Popis Vars * 1 komentare sekce zamknute komentare 1/0 * 2 komentare článku zamknute komentare 1/0 * 3 prispevky v knize [polozek na stranu, povoleno prispivani 1/0, zamknuto 1/0] * 5 temata ve foru [polozek na stranu, povoleno prispivani 1/0, zamknuto 1/0] * 6 odpovedi na tema [polozek na stranu, povoleno prispivani 1/0, zamknuto 1/0, id tematu] * 7 vypis vzkazu [zamknuto 1/0] * 8 vypis pluginpostu [polozek na stranu, povoleno prispivani 1/0, zamknuto 1/0, plugin flag, radit sestupne 1/0, [titulek / null]] * * @param int $type typ prispevku * @param int $home id polozky asociovane s komentari * @param mixed $vars promenna nastaveni podle typu * @param bool $force_locked vynutit zamknuty stav * @param string|null $url vlastni url nebo null (= automaticky) * @return string */ function _postsOutput($type, $home, $vars, $force_locked = false, $url = null) { global $_lang; /* --- typ --- */ // vychozi hodnoty $desc = "DESC "; $ordercol = 'id'; $countcond = "type=" . $type . " AND xhome=-1 AND home=" . $home; $locked_textid = ''; $autolast = false; $postlink = false; $pluginflag = null; // url if (!isset($url)) { $url = _indexOutput_url; } $url_html = _htmlStr($url); switch ($type) { // komentare v sekci case 1: $posttype = 1; $xhome = -1; $subclass = "comments"; $title = $_lang['posts.comments']; $addlink = $_lang['posts.addcomment']; $nopostsmessage = $_lang['posts.nocomments']; $postsperpage = _commentsperpage; $canpost = _loginright_postcomments; $locked = _boolean($vars); $replynote = true; break; // komentare u clanku // komentare u clanku case 2: $posttype = 2; $xhome = -1; $subclass = "comments"; $title = $_lang['posts.comments']; $addlink = $_lang['posts.addcomment']; $nopostsmessage = $_lang['posts.nocomments']; $postsperpage = _commentsperpage; $canpost = _loginright_postcomments; $locked = _boolean($vars); $replynote = true; break; // prispevky v knize // prispevky v knize case 3: $posttype = 3; $xhome = -1; $subclass = "book"; $title = null; $addlink = $_lang['posts.addpost']; $nopostsmessage = $_lang['posts.noposts']; $postsperpage = $vars[0]; $canpost = $vars[1]; $locked = _boolean($vars[2]); $replynote = true; break; // temata ve foru // temata ve foru case 5: $posttype = 5; $xhome = -1; $subclass = "book"; $title = null; $addlink = $_lang['posts.addtopic']; $nopostsmessage = $_lang['posts.notopics']; $postsperpage = $vars[0]; $canpost = $vars[1]; $locked = _boolean($vars[2]); $replynote = true; $ordercol = 'bumptime'; $locked_textid = '3'; break; // odpovedi v tematu // odpovedi v tematu case 6: $posttype = 5; $xhome = $vars[3]; $subclass = "book"; $title = null; $addlink = $_lang['posts.addanswer']; $nopostsmessage = $_lang['posts.noanswers']; $postsperpage = $vars[0]; $canpost = $vars[1]; $locked = _boolean($vars[2]); $replynote = false; $desc = ""; $countcond = "type=5 AND xhome=" . $xhome . " AND home=" . $home; $autolast = isset($_GET['autolast']); $postlink = true; break; // odpovedi v konverzaci // odpovedi v konverzaci case 7: $posttype = 6; $xhome = null; $subclass = "book"; $title = null; $addlink = $_lang['posts.addanswer']; $nopostsmessage = $_lang['posts.noanswers']; $postsperpage = _messagesperpage; $canpost = true; $locked = _boolean($vars[0]); $replynote = false; $desc = ""; $countcond = "type=6 AND home=" . $home; $locked_textid = '4'; $autolast = true; break; // plugin posty // plugin posty case 8: $posttype = 7; $xhome = -1; $subclass = "book"; $title = isset($vars[5]) ? $vars[5] : null; $addlink = $_lang['posts.addpost']; $nopostsmessage = $_lang['posts.noposts']; $postsperpage = $vars[0]; $canpost = $vars[1]; $locked = _boolean($vars[2]); $replynote = true; $pluginflag = $vars[3]; $countcond .= " AND flag=" . $pluginflag; if (!$vars[4]) { $desc = ''; } break; } // vynutit uzamceni parametrem if ($force_locked) { $locked = true; } // extend $callback = null; _extend('call', 'posts.output', array('type' => $type, 'home' => $home, 'xhome' => $xhome, 'vars' => $vars, 'post_type' => $posttype, 'plugin_flag' => $pluginflag, 'canpost' => &$canpost, 'locked' => &$locked, 'autolast' => &$autolast, 'post_link' => &$postlink, 'posts_per_page' => &$postsperpage, 'sql_desc' => &$desc, 'sql_ordercol' => &$ordercol, 'sql_countcond' => &$countcond, 'callback' => &$callback)); /* --- vystup --- */ $output = "\n <div class='anchor'><a name='posts'></a></div>\n <div class='posts-" . $subclass . "'>\n "; if ($title != null) { $output .= "<h2>" . $title . _linkRss($home, $posttype) . "</h2>\n"; } $output .= "<div class='posts-form' id='post-form'>\n"; /* --- priprava strankovani --- */ $paging = _resultPaging($url_html, $postsperpage, "posts", $countcond, "#posts", null, $autolast); /* --- zprava --- */ if (isset($_GET['r'])) { switch ($_GET['r']) { case 0: $output .= _formMessage(2, $_lang['posts.failed']); break; case 1: $output .= _formMessage(1, $_lang[$type != 5 ? 'posts.added' : 'posts.topicadded']); break; case 2: $output .= _formMessage(2, str_replace("*postsendexpire*", _postsendexpire, $_lang['misc.requestlimit'])); break; case 3: $output .= _formMessage(2, $_lang['posts.guestnamedenied']); break; case 4: $output .= _formMessage(2, $_lang['xsrf.msg']); break; } } /* --- formular nebo odkaz na pridani --- */ if (!$locked and (isset($_GET['addpost']) or isset($_GET['replyto']))) { // nacteni cisla prispevku pro odpoved if ($xhome == -1) { if (isset($_GET['replyto']) and $_GET['replyto'] != -1) { $reply = intval($_GET['replyto']); if ($replynote) { $output .= "<p>" . $_lang['posts.replynote'] . " (<a href='" . $url_html . "#posts'>" . $_lang['global.cancel'] . "</a>).</p>"; } } else { $reply = -1; } } else { $reply = $xhome; } // formular nebo prihlaseni if ($canpost) { $form = _uniForm("postform", array('posttype' => $type, 'pluginflag' => $pluginflag, 'posttarget' => $home, 'xhome' => $reply, 'url' => $url)); $output .= $form[0]; } else { $loginform = _uniForm("login", array(), true); $output .= "<p>" . $_lang['posts.loginrequired'] . "</p>" . $loginform[0]; } } else { if (!$locked) { $output .= "<a href='" . _addGetToLink($url_html, "addpost&page=" . $paging[2]) . "#posts'><strong>" . $addlink . " ></strong></a>"; } else { $output .= "<img src='" . _templateImage("icons/lock.png") . "' alt='stop' class='icon' /> <strong>" . $_lang['posts.locked' . $locked_textid] . "</strong>"; } } $output .= "</div>\n<div class='hr'><hr /></div>\n\n"; /* --- vypis --- */ if (_pagingmode == 1 or _pagingmode == 2) { $output .= $paging[0]; } // zaklad query if ($type == 5) { $sql = "SELECT id,author,guest,subject,time,ip,locked,bumptime,sticky,(SELECT COUNT(id) FROM `" . _mysql_prefix . "-posts` WHERE type=5 AND xhome=post.id) AS answer_count"; } else { $sql = "SELECT id,xhome,subject,text,author,guest,time,ip" . _extend('buffer', 'posts.columns'); } $sql .= " FROM `" . _mysql_prefix . "-posts` AS post"; // podminky a razeni $sql .= " WHERE post.type=" . $posttype . (isset($xhome) ? " AND post.xhome=" . $xhome : '') . " AND post.home=" . $home . (isset($pluginflag) ? " AND post.flag=" . $pluginflag : ''); $sql .= " ORDER BY " . ($type == 5 ? 'sticky DESC,' : '') . $ordercol . ' ' . $desc . $paging[1]; // dotaz $query = DB::query($sql); unset($sql); // nacteni prispevku do pole $items = array(); if ($type == 5) { $item_ids_with_answers = array(); } while ($item = DB::row($query)) { $items[$item['id']] = $item; if ($type == 5 && $item['answer_count'] != 0) { $item_ids_with_answers[] = $item['id']; } } // uvolneni dotazu DB::free($query); if ($type == 5) { // posledni prispevek (pro vypis temat) if (!empty($item_ids_with_answers)) { $topicextra = DB::query("SELECT * FROM (SELECT id,xhome,author,guest FROM `" . _mysql_prefix . "-posts` AS reply WHERE type=5 AND home=" . $home . " AND xhome IN(" . implode(',', $item_ids_with_answers) . ") ORDER BY reply.id DESC) AS replies GROUP BY xhome"); while ($item = DB::row($topicextra)) { if (!isset($items[$item['xhome']])) { if (_dev) { trigger_error('Nenalezen domovsky prispevek pro odpoved #' . $item['id'], E_USER_WARNING); } continue; } $items[$item['xhome']]['_lastpost'] = $item; } } } elseif (!empty($items)) { // odpovedi (pro komentare) $answers = DB::query("SELECT id,xhome,text,author,guest,time,ip FROM `" . _mysql_prefix . "-posts` WHERE type=" . $posttype . " AND home=" . $home . (isset($pluginflag) ? " AND flag=" . $pluginflag : '') . " AND xhome IN(" . implode(',', array_keys($items)) . ") ORDER BY id"); while ($item = DB::row($answers)) { if (!isset($items[$item['xhome']])) { if (_dev) { trigger_error('Nenalezen domovsky prispevek pro odpoved #' . $item['id'], E_USER_WARNING); } continue; } if (!isset($items[$item['xhome']]['_answers'])) { $items[$item['xhome']]['_answers'] = array(); } $items[$item['xhome']]['_answers'][] = $item; } DB::free($answers); } // vypis if (!empty($items)) { // vypis prispevku nebo temat if ($type != 5) { $hl = true; foreach ($items as $item) { // nacteni autora if ($item['guest'] == "") { $author = _linkUser($item['author'], "post-author"); } else { $author = "<span class='post-author-guest' title='" . _showIP($item['ip']) . "'>" . $item['guest'] . "</span>"; } // odkazy pro spravu $post_access = _postAccess($item); if ($type < 6 or $type > 7 or $post_access) { $actlinks = " <span class='post-actions'>"; if (($type < 6 or $type > 7) && !$locked) { $actlinks .= "<a href='" . _addGetToLink($url_html, "replyto=" . $item['id']) . "#posts'>" . $_lang['posts.reply'] . "</a>"; } if ($post_access) { $actlinks .= (($type < 6 or $type > 7) ? " " : '') . "<a href='index.php?m=editpost&id=" . $item['id'] . "'>" . $_lang['global.edit'] . "</a>"; } $actlinks .= "</span>"; } else { $actlinks = ""; } // avatar if (_show_avatars) { $avatar = _getAvatar($item['author']); } else { $avatar = null; } // prispevek $hl = !$hl; _extend('call', 'posts.post', array('item' => &$item, 'avatar' => &$avatar, 'type' => $type)); if (null === $callback) { $output .= "<div id='post-" . $item['id'] . "' class='post" . ($hl ? ' post-hl' : '') . (isset($avatar) ? ' post-withavatar' : '') . "'><div class='post-head'>" . $author; if ($type < 6 || $type > 7) { $output .= ", <span class='post-subject'>" . $item['subject'] . "</span> "; } $output .= "<span class='post-info'>(" . _formatTime($item['time']) . ")</span>" . $actlinks . ($postlink ? "<a class='post-postlink' href='" . _addGetToLink($url_html, 'page=' . $paging[2]) . "#post-" . $item['id'] . "'><span>#" . str_pad($item['id'], 6, '0', STR_PAD_LEFT) . "</span></a>" : '') . "</div><div class='post-body" . (isset($avatar) ? ' post-body-withavatar' : '') . "'>" . $avatar . '<div class="post-body-text">' . _parsePost($item['text']) . "</div></div></div>\n"; } else { $output .= call_user_func($callback, array('item' => $item, 'avatar' => $avatar, 'author' => $author, 'actlinks' => $actlinks, 'page' => $paging[2], 'postlink' => $postlink)); } // odpovedi if (($type < 6 || $type > 7) && isset($item['_answers'])) { foreach ($item['_answers'] as $answer) { // jmeno autora if ($answer['guest'] == "") { $author = _linkUser($answer['author'], "post-author"); } else { $author = "<span class='post-author-guest' title='" . _showIP($answer['ip']) . "'>" . $answer['guest'] . "</span>"; } // odkazy pro spravu if (_postAccess($answer)) { $actlinks = " <span class='post-actions'><a href='index.php?m=editpost&id=" . $answer['id'] . "'>" . $_lang['global.edit'] . "</a></span>"; } else { $actlinks = ""; } // avatar if (_show_avatars) { $avatar = _getAvatar($answer['author']); } else { $avatar = null; } _extend('call', 'posts.post', array('item' => &$answer, 'avatar' => &$avatar, 'type' => $type)); if (null === $callback) { $output .= "<div id='post-" . $answer['id'] . "' class='post-answer" . (isset($avatar) ? ' post-answer-withavatar' : '') . "'><div class='post-head'>" . $author . " " . $_lang['posts.replied'] . " <span class='post-info'>(" . _formatTime($answer['time']) . ")</span>" . $actlinks . "</div><div class='post-body" . (isset($avatar) ? ' post-body-withavatar' : '') . "'>" . $avatar . '<div class="post-body-text">' . _parsePost($answer['text']) . "</div></div></div>\n"; } else { $output .= call_user_func($callback, array('item' => $answer, 'avatar' => $avatar, 'author' => $author, 'actlinks' => $actlinks, 'page' => $paging[2], 'postlink' => $postlink)); } } } } if (_pagingmode == 2 or _pagingmode == 3) { $output .= "<br />" . $paging[0]; } } else { // tabulka s tematy $hl = false; $output .= "\n<table class='topic-table'>\n<thead><tr><td colspan='2'><strong>" . $_lang['posts.topic'] . "</strong></td><td><strong>" . $_lang['global.answersnum'] . "</strong></td><td><strong>" . $_lang['global.lastanswer'] . "</strong></td></tr></thead>\n<tbody>\n"; foreach ($items as $item) { // nacteni autora if ($item['guest'] == "") { $author = _linkUser($item['author'], "post-author", false, false, 16); } else { $author = "<span class='post-author-guest' title='" . _showIP($item['ip']) . "'>" . _cutStr($item['guest'], 16) . "</span>"; } // nacteni jmena autora posledniho prispevku if (isset($item['_lastpost'])) { if ($item['_lastpost']['author'] != -1) { $lastpost = _linkUser($item['_lastpost']['author'], "post-author", false, false, 16); } else { $lastpost = "<span class='post-author-guest'>" . _cutStr($item['_lastpost']['guest'], 16) . "</span>"; } } else { $lastpost = "-"; } // vyber ikony if ($item['sticky']) { $icon = 'sticky'; } elseif ($item['locked']) { $icon = 'locked'; } elseif ($item['answer_count'] == 0) { $icon = 'new'; } elseif ($item['answer_count'] < _topic_hot_ratio) { $icon = 'normal'; } else { $icon = 'hot'; } // mini strankovani $tpages = ''; $tpages_num = ceil($item['answer_count'] / _commentsperpage); if ($tpages_num == 0) { $tpages_num = 1; } if ($tpages_num > 1) { $tpages .= '<span class=\'topic-pages\'>'; for ($i = 1; $i <= 3 && $i <= $tpages_num; ++$i) { $tpages .= "<a href='index.php?m=topic&id=" . $item['id'] . "&page=" . $i . "#posts'>" . $i . '</a>'; } if ($tpages_num > 3) { $tpages .= "<a href='index.php?m=topic&id=" . $item['id'] . "&page=" . $tpages_num . "'>" . $tpages_num . ' →</a>'; } $tpages .= '</span>'; } // vystup radku $output .= "<tr class='topic-" . $icon . ($hl ? ' topic-hl' : '') . "'><td class='topic-icon-cell'><a href='index.php?m=topic&id=" . $item['id'] . "'><img src='" . _templateImage('icons/topic-' . $icon . '.png') . "' alt='" . $_lang['posts.topic.' . $icon] . "' /></a></td><td class='topic-main-cell'><a href='index.php?m=topic&id=" . $item['id'] . "'>" . $item['subject'] . "</a>" . $tpages . "<br />" . $author . " <small class='post-info'>(" . _formatTime($item['time']) . ")</small></td><td>" . $item['answer_count'] . "</td><td>" . $lastpost . ($item['answer_count'] != 0 ? "<br /><small class='post-info'>(" . _formatTime($item['bumptime']) . ")</small>" : '') . "</td></tr>\n"; $hl = !$hl; } $output .= "</tbody></table><br />\n\n"; if (_pagingmode == 2 or _pagingmode == 3) { $output .= $paging[0] . "<br />"; } // posledni odpovedi $output .= "\n<div class='hr'><hr /></div><br />\n<h3>" . $_lang['posts.forum.lastact'] . "</h3>\n"; $query = DB::query("SELECT topic.id AS topic_id,topic.subject AS topic_subject,answer.author,answer.guest,answer.time FROM `" . _mysql_prefix . "-posts` AS answer JOIN `" . _mysql_prefix . "-posts` AS topic ON(topic.type=5 AND topic.id=answer.xhome) WHERE answer.type=5 AND answer.home=" . $home . " AND answer.xhome!=-1 ORDER BY answer.id DESC LIMIT " . _extratopicslimit); if (DB::size($query) != 0) { $output .= "<ul>\n"; while ($item = DB::row($query)) { if ($item['guest'] == "") { $author = _linkUser($item['author']); } else { $author = "<span class='post-author-guest'>" . $item['guest'] . "</span>"; } $output .= "<li><a href='index.php?m=topic&id=" . $item['topic_id'] . "'>" . $item['topic_subject'] . "</a> <small>(" . $_lang['global.postauthor'] . " " . $author . " " . _formatTime($item['time']) . ")</small></li>\n"; } $output .= "</ul>\n\n"; } else { $output .= "<p>" . $_lang['global.nokit'] . "</p>"; } } } else { $output .= "<p>" . $nopostsmessage . "</p>"; } $output .= "</div>"; return $output; }
$author_filter_id = intval($_GET['author']); $author_filter = "author=" . intval($_GET['author']); } else { $pasep = false; $author_filter = ""; $author_filter_id = -1; } $output .= "\n<p class='bborder'>" . $_lang['admin.content.polls.p'] . "</p>\n<p><img src='images/icons/new.png' class='icon' alt='new' /><a href='index.php?p=content-polls-edit'>" . $_lang['admin.content.polls.new'] . "</a></p>\n"; // filtr if (_loginright_adminpollall) { $output .= "\n <form class='cform' action='index.php' method='get'>\n <input type='hidden' name='p' value='content-polls' />\n <strong>" . $_lang['admin.content.polls.filter'] . ":</strong> " . _admin_authorSelect("author", $author_filter_id, "adminpoll=1", null, $_lang['global.all2']) . " <input type='submit' value='" . $_lang['global.apply'] . "' />\n </form>\n "; } // strankovani $paging = _resultPaging("index.php?p=content-polls", 25, "polls", $author_filter . _admin_pollAccess($pasep), "&filter=" . $author_filter_id); $output .= $paging[0] . "<br />"; $output .= $message . "\n<table class='list'>\n<thead><tr><td>" . $_lang['admin.content.form.question'] . "</td>" . (_loginright_adminpollall ? "<td>" . $_lang['article.author'] . "</td>" : '') . "<td>" . $_lang['global.id'] . "</td><td>" . $_lang['global.action'] . "</td></tr></thead>\n<tbody>\n"; // vypis anket $query = DB::query("SELECT question,id,author,locked FROM `" . _mysql_prefix . "-polls` WHERE " . $author_filter . _admin_pollAccess($pasep) . " ORDER BY id DESC " . $paging[1]); if (DB::size($query) != 0) { while ($item = DB::row($query)) { if (_loginright_adminpollall) { $username = "******" . _linkUser($item['author']) . "</td>"; } else { $username = ""; } $output .= "<tr><td><a href='index.php?p=content-polls-edit&id=" . $item['id'] . "' class='block'>" . _cutStr($item['question'], 64) . "</a>" . ($item['locked'] == 1 ? " (" . $_lang['admin.content.form.locked'] . ")" : '') . "</td>" . $username . "<td>" . $item['id'] . "</td><td><a href='" . _xsrfLink("index.php?p=content-polls&author=" . $author_filter_id . "&page=" . $paging[2] . "&del=" . $item['id']) . "' onclick='return _sysConfirm();'><img src='images/icons/delete.png' class='icon' alt='del' /> " . $_lang['global.delete'] . "</a></td></tr>\n"; } } else { $output .= "<tr><td colspan='" . (_loginright_adminpollall ? "4" : "3") . "'>" . $_lang['global.nokit'] . "</td></tr>"; } $output .= "\n</tbody>\n</table>\n\n<br />\n<form class='cform' action='index.php' method='get'>\n<input type='hidden' name='p' value='content-polls-edit' />\n" . $_lang['admin.content.polls.openid'] . ": <input type='text' name='id' class='inputmini' /> <input type='submit' value='" . $_lang['global.open'] . "' />\n</form>\n";
echo _indexroot; ?> plugins/templates/<?php echo _template; ?> /style/system.css" type="text/css" rel="stylesheet" /> <title><?php echo $query['title'] . " " . _titleseparator . " " . _title; ?> </title> </head> <body onload="setTimeout('this.print();', 500);"> <p id="informations"><?php echo "<strong>" . $_lang['global.source'] . ":</strong> <a href='" . $url . "'>" . $url . "</a>" . _template_listinfoseparator . "<strong>" . $_lang['article.posted'] . ":</strong> " . _formatTime($query['time']) . _template_listinfoseparator . "<strong>" . $_lang['article.author'] . ":</strong> " . _linkUser($query['author'], null, true, true); ?> </p> <h1><?php echo $query['title']; ?> </h1> <p><?php echo (isset($query['picture_uid']) ? "<img class='list-perex-image' src='" . _pictureStorageGet(_indexroot . 'pictures/articles/', null, $query['picture_uid'], 'jpg') . "' alt='" . $query['title'] . "' />" : '') . $query['perex']; ?> </p> <?php echo _parseHCM($query['content']); ?>
function _HCM_users($razeni = 1, $pocet = 5, $limit_delky_jmena = null) { $result = ""; $razeni = $razeni; $pocet = abs(intval($pocet)); if (isset($limit_delky_jmena)) { $limit_delky_jmena = intval($limit_delky_jmena); } else { $limit_delky_jmena = false; } $rcond = ""; switch ($razeni) { case 2: $rorder = "activitytime DESC"; $rcond = " WHERE " . time() . "-activitytime<1800"; break; case 3: $rorder = "(SELECT COUNT(id) FROM `" . _mysql_prefix . "-posts` WHERE author=`sunlight-users`.id) DESC"; break; case 4: $rcond = " WHERE (SELECT COUNT(id) FROM `" . _mysql_prefix . "-articles` WHERE author=`" . _mysql_prefix . "-users`.id AND rateon=1 AND ratenum!=0)!=0"; $rorder = "(SELECT ROUND(SUM(ratesum)/SUM(ratenum)) FROM `" . _mysql_prefix . "-articles` WHERE rateon=1 AND ratenum!=0 AND author=`" . _mysql_prefix . "-users`.id) DESC"; break; default: $rorder = "id DESC"; break; } if ($razeni != 4) { $result = "<ul>\n"; } else { $result = "<ol>\n"; } $query = DB::query("SELECT id FROM `" . _mysql_prefix . "-users`" . $rcond . " ORDER BY " . $rorder . " LIMIT " . $pocet); while ($item = DB::row($query)) { // pridani doplnujicich informaci switch ($razeni) { // pocet prispevku case 3: $rvar = DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-posts` WHERE author=" . $item['id']), 0); if ($rvar == 0) { continue; } else { $rext = " (" . $rvar . ")"; } break; // hodnoceni autora // hodnoceni autora case 4: $rvar = DB::query_row("SELECT ROUND(SUM(ratesum)/SUM(ratenum)),COUNT(id) FROM `" . _mysql_prefix . "-articles` WHERE rateon=1 AND ratenum!=0 AND author=" . $item['id']); $rext = " - " . $rvar[0] . "%, " . $GLOBALS['_lang']['global.articlesnum'] . ": " . $rvar[1]; break; // nic // nic default: $rext = ""; break; } $result .= "<li>" . _linkUser($item['id'], null, false, false, $limit_delky_jmena) . $rext . "</li>\n"; } if ($razeni != 4) { $result .= "</ul>\n"; } else { $result .= "</ol>\n"; } return $result; }
} else { $catlimit = -1; $condplus = ""; } $output .= "\n<p class='bborder'>" . $_lang['admin.content.confirm.p'] . "</p>\n\n<form class='cform' action='index.php' method='get'>\n<input type='hidden' name='p' value='content-confirm' />\n" . $_lang['admin.content.confirm.filter'] . ": " . _admin_rootSelect("limit", 2, $catlimit, true, $_lang['global.all']) . " <input type='submit' value='" . $_lang['global.do'] . "' />\n</form>\n<div class='hr'><hr /></div>\n\n" . $message . "\n\n<table class='list'>\n<thead><tr><td>" . $_lang['global.article'] . "</td><td>" . $_lang['article.category'] . "</td><td>" . $_lang['article.posted'] . "</td><td>" . $_lang['article.author'] . "</td><td>" . $_lang['global.action'] . "</td></tr></thead>\n<tbody>"; // vypis $query = DB::query("SELECT art.id,art.title,art.title_seo,art.home1,art.home2,art.home3,art.author,art.time,art.visible,art.confirmed,art.public,cat.title_seo AS cat_title_seo FROM `" . _mysql_prefix . "-articles` AS art JOIN `" . _mysql_prefix . "-root` AS cat ON(cat.id=art.home1) WHERE art.confirmed=0" . $condplus . " ORDER BY art.time DESC"); if (DB::size($query) != 0) { while ($item = DB::row($query)) { // seznam kategorii $cats = ""; for ($i = 1; $i <= 3; $i++) { if ($item['home' . $i] != -1) { $hometitle = DB::query_row("SELECT title FROM `" . _mysql_prefix . "-root` WHERE id=" . $item['home' . $i]); $cats .= $hometitle['title']; } if ($i != 3 and $item['home' . ($i + 1)] != -1) { $cats .= ", "; } } if (DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-articles` WHERE id=" . $item['id'] . _admin_artAccess()), 0) != 0) { $editlink = " / <a href='index.php?p=content-articles-edit&id=" . $item['id'] . "&returnid=load&returnpage=1' class='small'>" . $_lang['global.edit'] . "</a>"; } else { $editlink = ""; } $output .= "<tr><td>" . _admin_articleEditLink($item, false) . "</td><td>" . $cats . "</td><td>" . _formatTime($item['time']) . "</td><td>" . _linkUser($item['author']) . "</td><td><a href='index.php?p=content-confirm&id=" . $item['id'] . "&limit=" . $catlimit . "' class='small'>" . $_lang['admin.content.confirm.confirm'] . "</a>" . $editlink . "</td></tr>\n"; } } else { $output .= "<tr><td colspan='5'>" . $_lang['global.nokit'] . "</td></tr>"; } $output .= "</tbody></table>";
} // zpetny odkaz, titulek $module .= "<a href='" . $backlink . "' class='backlink'>< " . $_lang['global.return'] . "</a>\n"; if (_template_autoheadings) { $module .= "<h1>" . $homedata['title'] . "</h1>\n<div class='hr'><hr /></div>\n"; } // ikonky pro spravu if (_postAccess($query)) { $editlink = " \n<a href='index.php?m=editpost&id=" . $id . "'><img src='" . _templateImage("icons/edit.png") . "' alt='edit' class='icon' title='" . $_lang['mod.editpost'] . "' /></a>\n" . (_loginright_locktopics ? "<a href='index.php?m=locktopic&id=" . $id . "'><img src='" . _templateImage("icons/" . ($query['locked'] == 1 ? 'un' : '') . "lock.png") . "' alt='lock' class='icon' title='" . $_lang['mod.locktopic' . ($query['locked'] == 1 ? '2' : '')] . "' /></a>" : '') . "\n" . (_loginright_stickytopics ? "<a href='index.php?m=stickytopic&id=" . $id . "'><img src='" . _templateImage("icons/" . ($query['sticky'] == 1 ? 'un' : '') . "stick.png") . "' alt='sticky' class='icon' title='" . $_lang['mod.stickytopic' . ($query['sticky'] == 1 ? '2' : '')] . "' /></a>" : '') . "\n" . (_loginright_movetopics ? "<a href='index.php?m=movetopic&id=" . $id . "'><img src='" . _templateImage("icons/move.png") . "' alt='move' class='icon' title='" . $_lang['mod.movetopic'] . "' /></a>" : ''); } else { $editlink = ""; } // nacteni autora a avataru $avatar = ''; if ($query['guest'] == "") { $author = _linkUser($query['author'], "post-author"); if (_show_avatars) { $avatar = _getAvatar($query['author'], true, true); if (null === $avatar) { $avatar = ''; } else { $author_name = _userDataCache($query['author']); if ('' !== $author_name['publicname']) { $author_name = $author_name['publicname']; } else { $author_name = $author_name['username']; } $avatar = "<img src='" . $avatar . "' alt='" . $author_name . "' class='topic-avatar' />"; } } } else {
_extend('call', 'article.perex.before', $extend_args); // rozsireni pred perexem $content .= "<p class='article-perex'>" . (isset($query['picture_uid']) ? "<img class='article-perex-image' src='" . _pictureStorageGet(_indexroot . 'pictures/articles/', null, $query['picture_uid'], 'jpg') . "' alt='" . $query['title'] . "' />" : '') . $query['perex'] . "</p>\n"; // if (isset($query['picture_uid'])) $content .= "<div class='cleaner'></div>\n"; _extend('call', 'article.perex.after', $extend_args); // rozsireni za perexem /* -- obsah -- */ $content .= "<div class='article-content'>\n" . _parseHCM($query['content']) . "\n</div>\n"; /* -- informacni tabulka -- */ // zalomeni $content .= "<div class='cleaner'></div>\n"; // priprava $info = array("basicinfo" => null, "idlink" => null, "rateresults" => null, "rateform" => null, "infobox" => null); // zakladni informace if ($query['showinfo'] == 1 && (!isset($cat_showinfo) || $cat_showinfo === true)) { $info['basicinfo'] = "\n <strong>" . $_lang['article.author'] . ":</strong> " . _linkUser($query['author']) . "<br />\n <strong>" . $_lang['article.posted'] . ":</strong> " . _formatTime($query['time']) . "<br />\n <strong>" . $_lang['article.readed'] . ":</strong> " . $query['readed'] . "x\n "; } // ID clanku if (_loginright_adminart) { $info['idlink'] = ($info['basicinfo'] != null ? "<br />" : '') . "<strong>" . $_lang['global.id'] . ":</strong> <a href='admin/index.php?p=content-articles-edit&id=" . $id . "&returnid=load&returnpage=1'>" . $id . " <img src='" . _templateImage("icons/edit.png") . "' alt='edit' class='icon' /></a>"; } // vysledky hodnoceni if ($query['rateon'] == 1 and _ratemode != 0) { if ($query['ratenum'] != 0) { /*procenta*/ if (_ratemode == 1) { $rate = round($query['ratesum'] / $query['ratenum']) . "%"; } else { $rate = round(-0.04 * ($query['ratesum'] / $query['ratenum']) + 5); } $rate .= " (" . $_lang['article.rate.num'] . " " . $query['ratenum'] . "x)";
function _HCM_sbox($id = null) { // priprava $result = ""; $id = intval($id); // nacteni dat shoutboxu $sboxdata = DB::query("SELECT * FROM `" . _mysql_prefix . "-sboxes` WHERE id=" . $id); if (DB::size($sboxdata) != 0) { $sboxdata = DB::row($sboxdata); $rcontinue = true; } else { $rcontinue = false; } // sestaveni kodu if ($rcontinue) { $result = "\n <div class='anchor'><a name='hcm_sbox_" . SL::$hcmUid . "'></a></div>\n <div class='sbox'>\n <div class='sbox-content'>\n " . ($sboxdata['title'] != "" ? "<div class='sbox-title'>" . $sboxdata['title'] . "</div>" : '') . "<div class='sbox-item'" . ($sboxdata['title'] == "" ? " style='border-top:none;'" : '') . ">"; // formular na pridani if ($sboxdata['locked'] != 1 and _publicAccess($sboxdata['public'])) { // priprava bunek // $captcha = _captchaInit(); if (!_loginindicator) { $inputs[] = array($GLOBALS['_lang']['posts.guestname'], "<input type='text' name='guest' class='sbox-input' maxlength='22' />"); } $inputs[] = array($GLOBALS['_lang']['posts.text'], "<input type='text' name='text' class='sbox-input' maxlength='255' /><input type='hidden' name='_posttype' value='4' /><input type='hidden' name='_posttarget' value='" . $id . "' />"); if (!_loginindicator) { $inputs[1][2] = true; // $inputs[] = $captcha; } $result .= _formOutput("hcm_sboxform_" . SL::$hcmUid, _indexroot . "remote/post.php?_return=" . urlencode(_indexOutput_url . "#hcm_sbox_" . SL::$hcmUid), $inputs, null, null); } else { if ($sboxdata['locked'] != 1) { $result .= $GLOBALS['_lang']['posts.loginrequired']; } else { $result .= "<img src='" . _templateImage("icons/lock.png") . "' alt='locked' class='icon' /> " . $GLOBALS['_lang']['posts.locked2']; } } $result .= "\n</div>\n<div class='sbox-posts'>"; // vypis prispevku $sposts = DB::query("SELECT id,text,author,guest,time,ip FROM `" . _mysql_prefix . "-posts` WHERE home=" . $id . " AND type=4 ORDER BY id DESC"); if (DB::size($sposts) != 0) { while ($spost = DB::row($sposts)) { // nacteni autora if ($spost['author'] != -1) { $author = _linkUser($spost['author'], "post-author' title='" . _formatTime($spost['time']), false, false, 16, ":"); } else { $author = "<span class='post-author-guest' title='" . _formatTime($spost['time']) . ", ip=" . _showIP($spost['ip']) . "'>" . $spost['guest'] . ":</span>"; } // odkaz na spravu if (_postAccess($spost)) { $alink = " <a href='index.php?m=editpost&id=" . $spost['id'] . "'><img src='" . _templateImage("icons/edit.png") . "' alt='edit' class='icon' /></a>"; } else { $alink = ""; } // kod polozky $result .= "<div class='sbox-item'>" . $author . $alink . " " . _parsePost($spost['text'], true, false, false) . "</div>\n"; } } else { $result .= "\n<div class='sbox-item'>" . $GLOBALS['_lang']['posts.noposts'] . "</div>\n"; } $result .= "\n </div>\n </div>\n </div>\n "; } return $result; }