function _HCM_countart($kategorie = null) { if (isset($kategorie) and $kategorie != "") { $cond = " AND " . _sqlArticleWhereCategories($kategorie); } else { $cond = ""; } return DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-articles` AS art WHERE " . _sqlArticleFilter() . $cond), 0); }
function _HCM_articles($typ = 1, $pocet = null, $perex = true, $info = true, $kategorie = null) { // priprava $result = ""; $typ = intval($typ); if ($typ < 1 or $typ > 9) { $typ = 1; } $pocet = intval($pocet); if ($pocet < 1) { $pocet = 1; } $perex = intval($perex); $info = _boolean($info); // limitovani na kategorie $rcats = _sqlArticleWhereCategories($kategorie); // priprava casti sql dotazu switch ($typ) { case 1: $rorder = "art.time DESC"; $rcond = ""; break; case 2: $rorder = "art.readed DESC"; $rcond = "art.readed!=0"; break; case 3: $rorder = "art.ratesum/art.ratenum DESC"; $rcond = "art.ratenum!=0"; break; case 4: $rorder = "art.ratenum DESC"; $rcond = "art.ratenum!=0"; break; case 5: $rorder = "RAND()"; $rcond = ""; break; case 6: $rorder = "(SELECT time FROM `" . _mysql_prefix . "-iplog` WHERE type=2 AND var=art.id AND art.visible=1 AND art.time<=" . time() . " AND art.confirmed=1 ORDER BY id DESC LIMIT 1) DESC"; $rcond = "art.readed!=0"; break; case 7: $rorder = "(SELECT time FROM `" . _mysql_prefix . "-iplog` WHERE type=3 AND var=art.id AND art.visible=1 AND art.time<=" . time() . " AND art.confirmed=1 ORDER BY id DESC LIMIT 1) DESC"; $rcond = "art.ratenum!=0"; break; case 8: $rorder = "(SELECT time FROM `" . _mysql_prefix . "-posts` WHERE home=art.id AND type=2 ORDER BY time DESC LIMIT 1) DESC"; $rcond = "(SELECT COUNT(id) FROM `" . _mysql_prefix . "-posts` WHERE home=art.id AND type=2)!=0"; break; case 9: $rorder = "(SELECT COUNT(id) FROM `" . _mysql_prefix . "-posts` WHERE home=art.id AND type=2) DESC"; $rcond = "(SELECT COUNT(id) FROM `" . _mysql_prefix . "-posts` WHERE home=art.id AND type=2)!=0"; break; } // pripojeni casti if ($rcond != "") { $rcond = " AND " . $rcond; } $rcond = " WHERE " . _sqlArticleFilter(true) . $rcond; if ($rcats != "") { $rcond .= " AND " . $rcats; } // vypis $query = DB::query("SELECT art.id,art.title,art.title_seo,art.perex," . ($perex === 2 ? 'art.picture_uid,' : '') . "art.author,art.time,art.readed,art.comments,cat.title_seo AS cat_title_seo" . ($info !== 0 ? ",(SELECT COUNT(id) FROM `" . _mysql_prefix . "-posts` AS post WHERE home=art.id AND post.type=2) AS comment_count" : '') . " FROM `" . _mysql_prefix . "-articles` AS art JOIN `" . _mysql_prefix . "-root` AS cat ON(cat.id=art.home1)" . $rcond . " ORDER BY " . $rorder . " LIMIT " . $pocet); while ($item = DB::row($query)) { $result .= _articlePreview($item, $info, $perex !== 0, $info !== 0 ? $item['comment_count'] : null); } return $result; }
if ($new_author != -1) { if (DB::result(DB::query("SELECT COUNT(id) FROM `" . _mysql_prefix . "-users` WHERE id=" . $new_author), 0) == 0) { $new_author = -1; } } // sestaveni casti sql dotazu - 'where' $params = array("category", "author", "time", "public", "visible", "confirmed", "comments", "rateon", "showinfo"); $cond = ""; // cyklus foreach ($params as $param) { $skip = false; if ($param == "category" or $param == "author" or $param == "time") { switch ($param) { case "category": if (${$param} != "-1") { $cond .= _sqlArticleWhereCategories(${$param}); } else { $skip = true; } break; case "author": if (${$param} != "-1") { $cond .= $param . "=" . ${$param}; } else { $skip = true; } break; case "time": switch ($ba) { case 1: $operator = ">";