Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Reikia Pagalbos Del Naujienu

Parašė SpakMasteris· 2012 Rugs. 9 20:09:03
#1

Sveiki, reikia man Paneles, panasios i filmu isidestima, kad isidestitu grazei bet kad prasidetu popiuleriausios Ir, Kitokio Reiketu Kur prasideda Naujienos Pagal Naujausias.

as Turiu kazka panasaus tik nemoku sureguliuoti



<?php
/*-------------------------------------------------------+
| <span style="border-bottom: 1px dotted black;">PHP</span>-Fusion Content Management System
| Copyright (C) 2002 - 2011 Nick Jones
| <a href='http://www.php-fusion.co.uk/' target='_blank'><span style='color:005C5B'>http://www.php-fusion.co.uk/</span></a>
+--------------------------------------------------------+
| Filename: news.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at <a href='http://www.gnu.org/licenses/agpl.html.' target='_blank'><span style='color:005C5B'>www.gnu.org/licenses/agpl.html.</span></a> Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "maincore.php";
require_once THEMES."templates/header.php";
 
// Predefined variables, do not edit these values
$i = 0;
 
// Number of news displayed
$items_per_page = $settings['newsperpage'];
 
add_to_title($locale['global_200'].$locale['global_077']);
 
if (!isset($_GET['readmore']) || !isnum($_GET['readmore'])) {
	$rows = dbcount(
		"(news_id)",
		DB_NEWS,
		groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().")
										AND (news_end='0'||news_end>=".time().")
										AND news_draft='0'"
	);
	if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) { $_GET['rowstart'] = 0; }
	if ($rows) {
		$result = dbquery(
			"SELECT tn.*, tc.*, tu.user_id, tu.user_name, tu.user_status
			FROM ".DB_NEWS." tn
			LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
			LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
			WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().")
				AND (news_end='0'||news_end>=".time().") AND news_draft='0'
			GROUP BY news_id
			ORDER BY news_sticky DESC, news_datestamp DESC LIMIT ".$_GET['rowstart'].",".$items_per_page
		);
		$numrows = dbrows($result);
		while ($data = dbarray($result)) {
			$wynik = dbquery("SELECT SUM(rating_vote) FROM ".DB_RATINGS." WHERE rating_type='N' AND rating_item_id='".$data['news_id']."'");
                $info2 = dbresult($wynik,0);
                $num_rating = dbcount("(rating_vote)", DB_RATINGS, "rating_type='N' AND rating_item_id='".$data['news_id']."'");
                $wyn_rating = ($num_rating ? $info2 / $num_rating : 0);
			$i++;
			$comments = dbcount("(comment_id)", DB_COMMENTS." WHERE comment_type='N' AND comment_hidden='0' AND comment_item_id='".$data['news_id']."'");
			$news_cat_image = "";
			$news_subject = "<a name='news_".$data['news_id']."' id='news_".$data['news_id']."'></a>".stripslashes($data['news_subject']);
			$news_cat_image = "<a href='".($settings['news_image_link'] == 0 ? "news_cats.php?cat_id=".$data['news_cat']
																				: FUSION_SELF."?readmore=".$data['news_id'] )."'>";
			if ($data['news_image_t2'] && $settings['news_image_frontpage'] == 0) {
				$news_cat_image .= "<img src='".IMAGES_N_T.$data['news_image_t2']."' alt='".$data['news_subject']."' class='news-category' /></a>";
			} elseif ($data['news_cat_image']) {
				$news_cat_image .= "<img src='".get_image("nc_".$data['news_cat_name'])."' alt='".$data['news_cat_name']."' class='news-category' /></a>";
			} else {
				$news_cat_image = "";
			}
			$news_news = preg_replace("/<!?--\s*pagebreak\s*-->/i", "", ($data['news_breaks'] == "y" ? nl2br(stripslashes($data['news_news'])) : stripslashes($data['news_news'])));
			$news_info = array(
				"news_id" => $data['news_id'],
				"user_id" => $data['user_id'],
				"user_name" => $data['user_name'],
				"user_status" => $data['user_status'],
				"news_date" => $data['news_datestamp'],
				"cat_id" => $data['news_cat'],
				"cat_name" => $data['news_cat_name'],
				"cat_image" => $news_cat_image,
				"rating" => $wyn_rating,
				"news_subject" => $data['news_subject'],
				"news_ext" => $data['news_extended'] ? "y" : "n",
				"news_reads" => $data['news_reads'],
				"news_comments" => $comments,
				"news_allow_comments" => $data['news_allow_comments'],
				"news_sticky" => $data['news_sticky']
			);
 
			echo "<!--news_prepost_".$i."-->\n";
			render_news($news_subject, $news_news, $news_info);
		}
		echo "<!--sub_news_idx-->\n";
		if ($rows > $items_per_page) echo "<div align='center' style=';margin-top:5px;'>\n".makepagenav($_GET['rowstart'],$items_per_page,$rows,3)."\n</div>\n";
	} else {
		opentable($locale['global_077']);
		echo "<div style='text-align:center'><br />\n".$locale['global_078']."<br /><br />\n</div>\n";
		closetable();
	}
} else {
	if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) { $_GET['rowstart'] = 0; }
	$result = dbquery(
		"SELECT tn.*, tc.*, tu.user_id, tu.user_name, tu.user_status FROM ".DB_NEWS." tn
		LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
		LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
		WHERE ".groupaccess('news_visibility')." AND news_id='".$_GET['readmore']."' AND news_draft='0'
		LIMIT 1"
	);
	if (dbrows($result)) {
		include INCLUDES."comments_include.php";
		include INCLUDES."ratings_include.php";
		$data = dbarray($result);
		$wynik = dbquery("SELECT SUM(rating_vote) FROM ".DB_RATINGS." WHERE rating_type='N' AND rating_item_id='".$data['news_id']."'");
                $info2 = dbresult($wynik,0);
                $num_rating = dbcount("(rating_vote)", DB_RATINGS, "rating_type='N' AND rating_item_id='".$data['news_id']."'");
                $wyn_rating = ($num_rating ? $info2 / $num_rating : 0);
		if (!isset($_POST['post_comment']) && !isset($_POST['post_rating'])) {
			$result2 = dbquery("UPDATE ".DB_NEWS." SET news_reads=news_reads+1 WHERE news_id='".$_GET['readmore']."'");
			$data['news_reads']++;
		}
		$news_cat_image = "";
		$news_subject = $data['news_subject'];
		if ($data['news_image_t1'] && $settings['news_image_readmore'] == "0") {
			$img_size = @getimagesize(IMAGES_N.$data['news_image']);
			$news_cat_image = "<a href=\"javascript:;\" onclick=\"window.open('".IMAGES_N.$data['news_image']."','','scrollbars=yes,toolbar=no,status=no,resizable=yes,width=".($img_size[0]+20).",height=".($img_size[1]+20)."')\"><img src='".IMAGES_N_T.$data['news_image_t1']."' alt='".$data['news_subject']."' class='news-category' /></a>";
		} elseif ($data['news_cat_image']) {
			$news_cat_image = "<a href='news_cats.php?cat_id=".$data['news_cat']."'><img src='".get_image("nc_".$data['news_cat_name'])."' alt='".$data['news_cat_name']."' class='news-category' /></a>";
		}
		$news_news = preg_split("/<!?--\s*pagebreak\s*-->/i", $data['news_breaks'] == "y" ? nl2br(stripslashes($data['news_extended'] ? $data['news_extended'] : $data['news_news'])) : stripslashes($data['news_extended'] ? $data['news_extended'] : $data['news_news']));    
		$pagecount = count($news_news);
		$news_info = array(
			"news_id" => $data['news_id'],
			"user_id" => $data['user_id'],
			"user_name" => $data['user_name'],
			"user_status" => $data['user_status'],
			"news_date" => $data['news_datestamp'],
			"cat_id" => $data['news_cat'],
			"cat_name" => $data['news_cat_name'],
			"cat_image" => $news_cat_image,
			"rating" => $wyn_rating,
			"news_subject" => $data['news_subject'],
			"news_ext" => "n",
			"news_reads" => $data['news_reads'],
			"news_comments" => dbcount("(comment_id)", DB_COMMENTS, "comment_type='N' AND comment_item_id='".$data['news_id']."' AND comment_hidden='0'"),
			"news_allow_comments" => $data['news_allow_comments'],
			"news_sticky" => $data['news_sticky']
		);
		add_to_title($locale['global_201'].$news_subject);
		echo "<!--news_pre_readmore-->";
		render_news($news_subject, $news_news[$_GET['rowstart']], $news_info);
		echo "<!--news_sub_readmore-->";
		if ($pagecount > 1) {
			echo "<div align='center' style='margin-top:5px;'>\n".makepagenav($_GET['rowstart'], 1, $pagecount, 3, FUSION_SELF."?readmore=".$_GET['readmore']."&amp;")."\n</div>\n";
		}
		if ($data['news_allow_comments']) { showcomments("N", DB_NEWS, "news_id", $_GET['readmore'], FUSION_SELF."?readmore=".$_GET['readmore']); }
		if ($data['news_allow_ratings']) { showratings("N", $_GET['readmore'], FUSION_SELF."?readmore=".$_GET['readmore']); }
	} else {
		redirect(FUSION_SELF);
	}
}
 
require_once THEMES."templates/footer.php";
?>


Jeigu galit, padekit nes reiketu kad rodytu Naujausias Naujienas ir Populeriausas

Parašė WantedBoy· 2012 Rugs. 11 11:09:28
#2

Pagal ka skirstomos populiariausios naujienos? Pagal view'us? ar pagal rank'ą?

Parašė SpakMasteris· 2012 Rugs. 12 00:09:30
#3

pagal, views. ir Dekui tau WantedBoy, kad per tiek laiko nors susimaste vienas zmogus parasyt

Parašė WantedBoy· 2012 Rugs. 12 08:09:07
#4

na jei turėčiau laiko, tai pažiūrėčiau tą kodą, bet ... Tiesiog vietoj naujienų išdėstymą pagal laiką iš'sort'ink pagal view'us ir turėsi populiariausias. O naujausias naujienas jau ir dabar turėtum turėt iš default'o.

Parašė SpakMasteris· 2012 Rugs. 12 10:09:46
#5

nerandu, paneles kad butu naujienos pagal views. tik pagal reitinga. arba komentaru skaiciu

Parašė WantedBoy· 2012 Rugs. 12 11:09:50
#6

Nu tai iš šių gali pasidaryt. Įdėk kodą - pažiūrėsiu, kai atsiras keleta minučių. ;)

Parašė SpakMasteris· 2012 Rugs. 12 14:09:58
#7

stai radau, paneles koda populeriausios naujienos, tik reikia sujunkt su news.php kuri parasiau pirmoj zinutei o stai ir kodas:



openside("Populiarios naujienos");
$result = dbquery(
"SELECT tn.*, tc.*, user_id, user_name FROM ".$db_prefix."news tn
LEFT JOIN ".$db_prefix."users tu ON tn.news_name=tu.user_id
LEFT JOIN ".$db_prefix."news_cats tc ON tn.news_cat=tc.news_cat_id
WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().")
ORDER BY news_reads DESC LIMIT 0,5"
);
if (dbrows($result) != 0) {
while($data = dbarray($result)) {
$itemsubject = trimlink($data['news_subject'], 23);
 
            $wynik = dbquery("SELECT SUM(rating_vote) FROM ".DB_RATINGS." WHERE rating_type='N' AND rating_item_id='".$data['news_id']."'");
                $info2 = dbresult($wynik,0);
                $num_rating = dbcount("(rating_vote)", DB_RATINGS, "rating_type='N' AND rating_item_id='".$data['news_id']."'");
                $wyn_rating = ($num_rating ? $info2 / $num_rating : 0);
 
    $tas = $data['news_breaks'] == "y" ? nl2br(stripslashes($data['news_news'])) : stripslashes($data['news_news']);
 
 
   echo "<center><table cellpadding='0' cellspacing='0' width='150' class='borderis' onmouseover=\"className='borderis2'\" onmouseout=\"className='borderis'\">\n<tr>\n";
 
   echo"<td colspan='2' align='center'><a href='/news.php?readmore=".$data['news_id']."' tit='<table width=260px><tr><td class=c>
<b><span style=color:#0099FF;font-size:12px;>".$data['news_subject']."</span></b><br>$tas<br>
<b>&#381;i&#363;r&#279;jo: ".$data['news_reads']."</b>
 
</td></tr>
</table>'><img src='".IMAGES_N.$data['news_image']."' width='160' height='245' /></a></td>";
 
   echo"</tr>
   <td width='105' style='padding:2px;'><img src='".THEME."images/retitingai/".ceil($wyn_rating).".png' width='80' height='13' alt='".ceil($wyn_rating)."' style='vertical-align:middle;' title='".ceil($wyn_rating)."' /></td>
   <td class='c' align='right'><a href='/news.php?readmore=".$data['news_id']."'>&#381;i&#363;r&#279;ti</a></td>
   </tr></center>";
 
   echo"</table>";   
}
} else {
echo "<center>".$locale['004']."</center>\n";
}
closeside(); 

Parašė WantedBoy· 2012 Rugs. 12 15:09:44
#8

Duomenų bazėje turi būti saugojama naujienos idėjimo data. Jei gali pažiūrėk kaip jis vadinasi. Turėtų būti lentelėje NEWS. Kažkas panašaus i date ar kažkas tokio.

Parašė SpakMasteris· 2012 Rugs. 12 23:09:48
#9

kad, nieko nepanaus neradau, arba nemoku ieskot gerai.

Parašė WantedBoy· 2012 Rugs. 13 10:09:21
#10

Nenaudoju php-fusion'o tai į kodą nežiūrėjau, bet dabar pagal SQL užklausą tūrėtų rodyti 5 naujiausias naujienas.


openside("Naujiausios");
 
$result = dbquery(
 
"SELECT tn.*, tc.*, user_id, user_name FROM ".$db_prefix."news tn
 
LEFT JOIN ".$db_prefix."users tu ON tn.news_name=tu.user_id
 
LEFT JOIN ".$db_prefix."news_cats tc ON tn.news_cat=tc.news_cat_id
 
WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().")
 
ORDER BY news_date DESC LIMIT 0,5"
 
);
 
if (dbrows($result) != 0) {
 
while($data = dbarray($result)) {
 
$itemsubject = trimlink($data['news_subject'], 23);
 
 
 
            $wynik = dbquery("SELECT SUM(rating_vote) FROM ".DB_RATINGS." WHERE rating_type='N' AND rating_item_id='".$data['news_id']."'");
 
                $info2 = dbresult($wynik,0);
 
                $num_rating = dbcount("(rating_vote)", DB_RATINGS, "rating_type='N' AND rating_item_id='".$data['news_id']."'");
 
                $wyn_rating = ($num_rating ? $info2 / $num_rating : 0);
 
 
 
    $tas = $data['news_breaks'] == "y" ? nl2br(stripslashes($data['news_news'])) : stripslashes($data['news_news']);
 
 
 
 
 
   echo "<center><table cellpadding='0' cellspacing='0' width='150' class='borderis' onmouseover=\"className='borderis2'\" onmouseout=\"className='borderis'\">\n<tr>\n";
 
 
 
   echo"<td colspan='2' align='center'><a href='/news.php?readmore=".$data['news_id']."' tit='<table width=260px><tr><td class=c>
 
<b><span style=color:#0099FF;font-size:12px;>".$data['news_subject']."</span></b><br>$tas<br>
 
<b>&#381;i&#363;r&#279;jo: ".$data['news_reads']."</b>
 
 
 
</td></tr>
 
</table>'><img src='".IMAGES_N.$data['news_image']."' width='160' height='245' /></a></td>";
 
 
 
   echo"</tr>
 
   <td width='105' style='padding:2px;'><img src='".THEME."images/retitingai/".ceil($wyn_rating).".png' width='80' height='13' alt='".ceil($wyn_rating)."' style='vertical-align:middle;' title='".ceil($wyn_rating)."' /></td>
 
   <td class='c' align='right'><a href='/news.php?readmore=".$data['news_id']."'>&#381;i&#363;r&#279;ti</a></td>
 
   </tr></center>";
 
 
 
   echo"</table>";   
 
}
 
} else {
 
echo "<center>".$locale['004']."</center>\n";
 
}
 
closeside(); 

Parašė SpakMasteris· 2012 Rugs. 13 10:09:26
#11

Neveikia. man reiketu kad tik kas pakeist galetu news.php kuri idejas cia nes pas mane kitoks isidestimas. panasus i filmu.php ta news.php biski pagoreguot kad viskas butu pagal, Populeriausius zaidimus, ir kad rodytu zaidimus populiariausus pagal Viewus.

Parašė WantedBoy· 2012 Rugs. 13 11:09:58
#12

Na aš padėti tada negaliu, nes nežinau fusion'o db struktūros. Tad palauk, kas galės pa'edit'int tavo kodą. Nes čia tau reikia tame kode pasikeisti tik DB užklausą.

Parašė SpakMasteris· 2012 Rugs. 13 15:09:10
#13

Ko cia laukt, kad Visi Jau cia zluge. pagalbos mazai galima tiketis.

Parašė PreFix· 2012 Rugs. 13 22:09:13
#14

tai pasikoreguok jeigu ten tik "bišky".