Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Моды/Плагины | Моды/Mods
# 1 Тема: ajax рейтинг
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 22 Января 2009, 09:46:20
10 бальная система рейтинга на ajaxе

удаляем старую таблицу ratings и делаем запрос
CREATE TABLE `rusfusion_ratings` (
`rating_id` smallint(5) unsigned NOT NULL auto_increment,
`rating_item_id` smallint(5) unsigned NOT NULL default '0',
`rating_type` char(1) NOT NULL default '',
`rating_user` smallint(5) unsigned NOT NULL default '0',
`rating_vote` tinyint(1) unsigned NOT NULL default '0',
`rating_datestamp` int(10) unsigned NOT NULL default '0',
`rating_ip` varchar(20) NOT NULL default '0.0.0.0',
PRIMARY KEY (`rating_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=266 ;


в файле subheader.php заменяем строку

echo "<body bgcolor='$body_bg' text='$body_text'>\n";


на

echo "<body id='page_bg' bgcolor='$body_bg' text='$body_text'>
<a name='top' id='top'></a>

<div id='loading' class='loading' style='display: none;'>
<span>Загрузка. Пожалуйста, подождите...</span>
</div>

<div id='waiting' style='display: none;'>
<div align='center' style='color:black;'><center>
<br><img src='".THEME."images/loading.gif'><br><br>
<span style='font-weight:bold' id='loading-layer-text'>Загрузка. Пожалуйста,<br>подождите...</span>
</center>
</div>
</div>
</div>
\n";


и перед </head> добавляем

<script type='text/javascript' src='".INCLUDES."prototype.js'></script>
<script type='text/javascript' src='".INCLUDES."scripts0.js'></script>
<script language='JavaScript' type='text/javascript'>
var ajax = '".AJAX."';
</script>


в includes/jscript.js добавляем функцию

function rating(id, type, rate) {

var rid = id;
var rtype = type;
var ratings = rate;
var url = ajax+'rating.php';
var pars = 'rid='+rid+'&rtype='+rtype+'&rating='+ratings;


new Ajax.Updater({success: 'ratig-layer-'+rid}, url,
{
method: 'get',
parameters: pars,

onCreate:function(){
Load_show();
},

onSuccess: function(){
Load_hide();
},

onFailure: function(){
Load_hide();
alert('Oops...ошибочка вышла...')
}
}
);
}


в maincore.php ищем

define("THEMES", BASEDIR."themes/");


добавляем после

define("AJAX", BASEDIR."ajax/");


ищем
// Validate numeric input
function isNum($value) {
return (preg_match("/^[0-9]+$/", $value));
}


добавляем после

function rating($rating, $rate_id, $mod){
global $userdata, $db_prefix;
// $voted = ($voted=="") ? 0 : $voted;
$rating = ($rating=="") ? 0 : $rating;

if (iMEMBER) {
@$zapros=dbquery("SELECT * FROM ".$db_prefix."ratings WHERE rating_item_id='$rate_id' AND rating_type='$mod' ");
$rows = dbcount("(rating_user)", "ratings", " rating_item_id='$rate_id' AND rating_type='$mod' AND rating_user='".$userdata['user_id']."'");
} else {
@$zapros=dbquery("SELECT * FROM ".$db_prefix."ratings WHERE rating_item_id='$rate_id' AND rating_type='$mod'");
}
@$votes=dbrows($zapros);
if ($votes==0){
$votes=1;
}
@$total=0;
while ($qwert=dbarray($zapros)){
@$total=$total+$qwert['rating_vote'];
}
$srednee=number_format($total/$votes, 2) * 17;
$title=number_format($total/$votes, 2);

//$d_rating = dbarray(dbquery("SELECT rating_vote,rating_datestamp FROM ".DB_PREFIX."ratings WHERE rating_item_id='".$rating_item_id."' AND rating_type='".$rating_type."' AND rating_user='".$userdata['user_id']."'"));


if (iMEMBER && $rows == 0) {


@$tmp = "<span id='ratig-layer-$rate_id'><div class='rating' style='float:left;'>
<ul class='unit-rating'>
<li class='current-rating' title='$title' style='width:".$srednee."px;'></li>
<li><div title='1' onmouseover=\"this.className='r1-unitover';\" onmouseout=\"this.className='r1-unit';\" class='r1-unit' onclick=\"rating('".$rate_id."', '".$mod."', 1); return false;\"></div></li>
<li><div title='2' onmouseover=\"this.className='r2-unitover';\" onmouseout=\"this.className='r2-unit';\" class='r2-unit' onclick=\"rating('".$rate_id."', '".$mod."', 2); return false;\"></div></li>
<li><div title='3' onmouseover=\"this.className='r3-unitover';\" onmouseout=\"this.className='r3-unit';\" class='r3-unit' onclick=\"rating('".$rate_id."', '".$mod."', 3); return false;\"></div></li>
<li><div title='4' onmouseover=\"this.className='r4-unitover';\" onmouseout=\"this.className='r4-unit';\" class='r4-unit' onclick=\"rating('".$rate_id."', '".$mod."', 4); return false;\"></div></li>
<li><div title='5' onmouseover=\"this.className='r5-unitover';\" onmouseout=\"this.className='r5-unit';\" class='r5-unit' onclick=\"rating('".$rate_id."', '".$mod."', 5); return false;\"></div></li>

<li><div title='6' onmouseover=\"this.className='r6-unitover';\" onmouseout=\"this.className='r6-unit';\" class='r6-unit' onclick=\"rating('".$rate_id."', '".$mod."', 6); return false;\"></div></li>
<li><div title='7' onmouseover=\"this.className='r7-unitover';\" onmouseout=\"this.className='r7-unit';\" class='r7-unit' onclick=\"rating('".$rate_id."', '".$mod."', 7); return false;\"></div></li>
<li><div title='8' onmouseover=\"this.className='r8-unitover';\" onmouseout=\"this.className='r8-unit';\" class='r8-unit' onclick=\"rating('".$rate_id."', '".$mod."', 8); return false;\"></div></li>
<li><div title='9' onmouseover=\"this.className='r9-unitover';\" onmouseout=\"this.className='r9-unit';\" class='r9-unit' onclick=\"rating('".$rate_id."', '".$mod."', 9); return false;\"></div></li>
<li><div title='10' onmouseover=\"this.className='r10-unitover';\" onmouseout=\"this.className='r10-unit';\" class='r10-unit' onclick=\"rating('".$rate_id."', '".$mod."', 10); return false;\"></div></li>

</ul>
</div></span>";




/* @$tmp = "<div style='float:left;><div class='rating' id='rating$rate_id'>
<ul class='unit-rating'>
<li class='current-rating' title='$title' style='width:".$srednee."px;'></li>
<li><a href='#' title='1' class='r1-unit' onclick=\"rating('".$rate_id."', '".$mod."', 1); return false;\">1</a></li>
<li><a href='#' title='2' class='r2-unit' onclick=\"rating('".$rate_id."', '".$mod."', 2); return false;\">2</a></li>
<li><a href='#' title='3' class='r3-unit' onclick=\"rating('".$rate_id."', '".$mod."', 3); return false;\">3</a></li>
<li><a href='#' title='4' class='r4-unit' onclick=\"rating('".$rate_id."', '".$mod."', 4); return false;\">4</a></li>
<li><a href='#' title='5' class='r5-unit' onclick=\"rating('".$rate_id."', '".$mod."', 5); return false;\">5</a></li>
<li><a href='#' title='6' class='r6-unit' onclick=\"rating('".$rate_id."', '".$mod."', 6); return false;\"></a></li>
<li><a href='#' title='7' class='r7-unit' onclick=\"rating('".$rate_id."', '".$mod."', 7); return false;\"></a></li>
<li><a href='#' title='8' class='r8-unit' onclick=\"rating('".$rate_id."', '".$mod."', 8); return false;\"></a></li>
<li><a href='#' title='9' class='r9-unit' onclick=\"rating('".$rate_id."', '".$mod."', 9); return false;\"></a></li>
<li><a href='#' title='10' class='r10-unit' onclick=\"rating('".$rate_id."', '".$mod."', 10); return false;\"></a></li>
</ul>
</div></div>";*/
} else {

@$tmp = "<div class='rating' style='float:left;'>
<ul class='unit-rating'>
<li class='current-rating' title='Рейтинг: ".$title."' style='width:".$srednee."px;'></li>
</ul>
</div>";

/*@$tmp="<div style='float:left;><div class='rating' id='rating$rate_id'>
<ul class='unit-rating'>
<li class='current-rating' title='$title' style='width:".$srednee."px;'></li>
</ul>
</div></div>";*/
}
return $tmp;
}


добавить в ваш css


.rating {
color: #666666;
font-family: Tahoma, helvetica, sans-serif;
font-size: 11px;
width: 170px;
height: 15px;
}
.unit-rating{
list-style:none;
margin: 0px;
padding:0px;
width: 170px;
height: 15px;
position: relative;
background: url('images/rating.gif') top left repeat-x;
}

.unit-rating li{
text-indent: -90000px;
padding:0px;
margin:0px;
float: left;
}
.unit-rating li div{

margin: 0px;
padding: 0px;

width:17px;
height: 15px;
text-decoration: none;
text-indent: -9000px;
z-index: 17;
position: absolute;
}
/*.unit-rating li a:hover{
background: url('images/rating.gif') left center;
z-index: 1;
left: 0px;
top: 0px;
position: absolute;
margin: 0px;
padding: 0px;
}*/
.unit-rating div.r1-unit{left: 0px;}
.unit-rating li div.r1-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 17px; cursor: pointer; }
.unit-rating div.r2-unit{left:17px;}
.unit-rating li div.r2-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 34px; cursor: pointer; }
.unit-rating div.r3-unit{left: 34px;}
.unit-rating li div.r3-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 51px; cursor: pointer; }
.unit-rating div.r4-unit{left: 51px;}
.unit-rating li div.r4-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 68px; cursor: pointer; }
.unit-rating div.r5-unit{left: 68px;}
.unit-rating li div.r5-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 85px; cursor: pointer; }

.unit-rating div.r6-unit{left: 85px;}
.unit-rating li div.r6-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 102px; cursor: pointer; }
.unit-rating div.r7-unit{left: 102px;}
.unit-rating li div.r7-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 119px; cursor: pointer; }
.unit-rating div.r8-unit{left: 119px;}
.unit-rating li div.r8-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 136px; cursor: pointer; }
.unit-rating div.r9-unit{left: 136px;}
.unit-rating li div.r9-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 153px; cursor: pointer; }
.unit-rating div.r10-unit{left: 153px;}
.unit-rating li div.r10-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 170px; cursor: pointer; }










.unit-rating li.current-rating{
background: url('images/rating.gif') left bottom;
position: absolute;
height: 15px;
display: block;
left: 0px;
text-indent: -9000px;
z-index: 1;
}



div.loading {
position: absolute;
left: 0;
z-index: 999;
width: 100%;
height: 130px;
display:none;
background: transparent url(images/loading.gif) center center no-repeat;
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);
-moz-opacity: 0.7;
-khtml-opacity: 0.7;
opacity: 0.7;
}

div.loading span{
margin-top: 106px;
display: block;
color: #787878;
font-size: 10px;
}

#waiting {
position:absolute;
height: ;
width:200px;
padding:4px;
background-color:#FDFDFD;
border:1px solid #BBBBBB;
font-family:Tahoma,Arial,Sans-Serif;
font-size:11px;
line-height:145%;
left: 50%;
top: 50%;
margin-left: -100px;
margin-top: -125px;
}



и последнее извлекаем все содержимое архива в корень сайта
содержимое themes/ваша тема перемещаем в вашу тему

всё
Прикрепленные файлы
Для просмотра вложения зарегистрируйтесь


[Изменил(а) pank, 28 Февраля 2009, 17:02:46]

--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
1 пользователь сказал спасибо Вам: pozitiv
# 2  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 22 Января 2009, 09:51:42
сразу выражаю благодарность pozitivу он делал это я лишь свел воедино и коечто подправил

рейтинг расчитан на 10 бальную систему в 5 бальную переделывается легко , если каму надо напишу позже как


[Изменил(а) pank, 22 Января 2009, 09:53:34]

--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
# 3  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 22 Января 2009, 12:25:13
Добавлю от себя что ненаписал автор...
1. В месте где вы хотите увидеть рейтинг добавте строку rating($rating,$info['news_id'],"N") - в данном случае надо редактировать функцию render_news в файле theme.php вашей темы..., это необязательно должна быть новость, можно использовать в статьях, фотоальбоме, на форуме, в файлах и т.д...
2. Картинки из архива в первом посте заливать в папку images вашей темы
3. Можете удалить файл ratings_include.php в папке includes и убрать инклюд етого файла во всех файлах где используется старый рейтинг...
4. В файл styles.css вашей темы добавте стили для вывода рейтингаи окошка ожидания:

div.loading {
position: absolute;
left: 0;
z-index: 999;
width: 100%;
height: 130px;
display:none;
background: transparent url(images/loading0.gif) center center no-repeat;
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);
-moz-opacity: 0.7;
-khtml-opacity: 0.7;
opacity: 0.7;
}
div.loading span{
margin-top: 106px;
display: block;
color: #787878;
font-size: 10px;
}
.rating {
color: #666666;
font-family: Tahoma, helvetica, sans-serif;
font-size: 11px;
width: 85px;
height: 15px;
}
.unit-rating{
list-style:none;
margin: 0px;
padding:0px;
width: 85px;
height: 15px;
position: relative;
background: url('images/rating.gif') top left repeat-x;
}
.unit-rating li{
text-indent: -90000px;
padding:0px;
margin:0px;
float: left;
}
.unit-rating li div{
margin: 0px;
padding: 0px;
width:17px;
height: 15px;
text-decoration: none;
text-indent: -9000px;
z-index: 17;
position: absolute;
}
.unit-rating div.r1-unit{left: 0px;}
.unit-rating li div.r1-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 17px; cursor: pointer; }
.unit-rating div.r2-unit{left:17px;}
.unit-rating li div.r2-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 34px; cursor: pointer; }
.unit-rating div.r3-unit{left: 34px;}
.unit-rating li div.r3-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 51px; cursor: pointer; }
.unit-rating div.r4-unit{left: 51px;}
.unit-rating li div.r4-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 68px; cursor: pointer; }
.unit-rating div.r5-unit{left: 68px;}
.unit-rating li div.r5-unitover{ background: url(images/rating.gif) left center repeat-x; z-index: 2; left: 0px; width: 85px; cursor: pointer; }
.unit-rating li.current-rating{
background: url('images/rating.gif') left bottom;
position: absolute;
height: 15px;
display: block;
left: 0px;
text-indent: -9000px;
z-index: 1;
}
#waiting {
position:absolute;
height: ;
width:200px;
padding:4px;
background-color:#FDFDFD;
border:1px solid #BBBBBB;
font-family:Tahoma,Arial,Sans-Serif;
font-size:11px;
line-height:145%;
left: 50%;
top: 50%;
margin-left: -100px;
margin-top: -125px;
}



Теперь вроде все=)


Выкладываю 4 варианты картинок для рейтинга
''
''
''
''
все картинки стырил с других движков..


[Изменил(а) pozitiv, 22 Января 2009, 12:34:38]

--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 4  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 22 Января 2009, 17:18:16
pozitiv спасибо просто инет отключили не вовремя

+ добавлю пример вывода для темы Similitude06

для новостей используется

function render_news($subject, $news, $info) {

echo "<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>$news</td>
</tr>
<tr>
<td align='center' class='news-footer'>\n";
echo openform("N",$info['news_id']).newsposter($info," ·").newsopts($info,"·").closeform("N",$info['news_id']);
echo "</td>
</tr>
</table>\n";

}


а вот онаже уже с выводом рейтинга ".rating($rating,$info['news_id'],"N")."

function render_news($subject, $news, $info) {

echo "<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>$news</td>
</tr>
<tr>
<td align='center' class='news-footer'>".rating($rating,$info['news_id'],"N")."\n";
echo openform("N",$info['news_id']).newsposter($info," ·").newsopts($info,"·").closeform("N",$info['news_id']);
echo "</td>
</tr>
</table>\n";

}


рейтинг годиться не только для новостей, но и для статей, файлов и т.д.

для статей используется

function render_article($subject, $article, $info) {

echo "<table width='100%' cellpadding='0' cellspacing='0'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>
".($info['article_breaks'] == "y" ? nl2br($article) : $article)."
</td>
</tr>
<tr>
<td align='center' class='news-footer'>\n";
echo openform("A",$info['article_id']).articleposter($info," ·").articleopts($info,"·").closeform("A",$info['article_id']);
echo "</td>
</tr>
</table>\n";

}


уже с выводом ".rating($rating,$info['article_id'],"A")."

function render_article($subject, $article, $info) {

echo "<table width='100%' cellpadding='0' cellspacing='0'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>
".($info['article_breaks'] == "y" ? nl2br($article) : $article)."
</td>
</tr>
<tr>
<td align='center' class='news-footer'>".rating($rating,$info['article_id'],"A")."\n";
echo openform("A",$info['article_id']).articleposter($info," ·").articleopts($info,"·").closeform("A",$info['article_id']);
echo "</td>
</tr>
</table>\n";

}


[Изменил(а) pank, 26 Февраля 2009, 06:01:09]

--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
# 5  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 22 Января 2009, 17:24:17
pozitiv спасибо исправил первый пост, а то у тебя ксс для 5 бальной. А можешь сделать чтоб ещё рядом справа количество проголосовавших было


--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
# 6  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 22 Января 2009, 17:38:47
Эта строка должна вывести количество проголосовавших....
Голосов: ".$total."
добавь её куда хочеш...


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 7  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 22 Января 2009, 18:23:21
pozitiv тогда уж Голосов: ".$votes." но я хотел чтоб изменялось число когда ты голосуешь тоесть тоже на аяксе


[Изменил(а) pank, 22 Января 2009, 18:23:57]

--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
# 8  
LioN
Пользователь

Avatar пользователя

Админ

Завсегдатый

Сообщений: 52
Откуда: Россия\ Воронеж
Зарегистрирован: 04 Декабря 2008, 19:52:51
Сказали спасибо 2 раз
Статус: offline
ICQ статус 394107181
Опубликовано 24 Января 2009, 02:58:33
спасибо конечно за статью, но вот чтобы это реализовать я думаю придётся помучатся....
 
^ наверх ^ 394107181
# 9  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 24 Января 2009, 03:46:19
LioN в смысле помучатся устанавливается за 5 минут


--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
# 10  
pank
Пользователь

Avatar пользователя


pank

Завсегдатый

Сообщений: 78
Откуда: http://serial.j100.ru/
Зарегистрирован: 15 Сентября 2007, 15:44:17
Сказали спасибо 9 раз
Статус: offline
Опубликовано 28 Февраля 2009, 19:46:36
обновил рейтинг (смотрите скрин)

в наличии две версии 5-и и 10-и бальные

упрощена установка рейтинга (инструкция в архиве)

немного подправлен вывод рейтинга (выведено общее число проголосовавших)


пример вывода рейтинга в новости и статьи

для новостей используется

function render_news($subject, $news, $info) {

echo "<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>$news</td>
</tr>
<tr>
<td align='center' class='news-footer'>\n";
echo openform("N",$info['news_id']).newsposter($info," ·").newsopts($info,"·").closeform("N",$info['news_id']);
echo "</td>
</tr>
</table>\n";

}


а вот онаже уже с выводом рейтинга ".rating($rating,$info['news_id'],"N")."

function render_news($subject, $news, $info) {

echo "<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>$news</td>
</tr>
<tr>
<td align='center' class='news-footer'>".rating($rating,$info['news_id'],"N")."\n";
echo openform("N",$info['news_id']).newsposter($info," ·").newsopts($info,"·").closeform("N",$info['news_id']);
echo "</td>
</tr>
</table>\n";

}


рейтинг годиться не только для новостей, но и для статей, файлов и т.д.

для статей используется

function render_article($subject, $article, $info) {

echo "<table width='100%' cellpadding='0' cellspacing='0'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>
".($info['article_breaks'] == "y" ? nl2br($article) : $article)."
</td>
</tr>
<tr>
<td align='center' class='news-footer'>\n";
echo openform("A",$info['article_id']).articleposter($info," ·").articleopts($info,"·").closeform("A",$info['article_id']);
echo "</td>
</tr>
</table>\n";

}


уже с выводом ".rating($rating,$info['article_id'],"A")."

function render_article($subject, $article, $info) {

echo "<table width='100%' cellpadding='0' cellspacing='0'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>
".($info['article_breaks'] == "y" ? nl2br($article) : $article)."
</td>
</tr>
<tr>
<td align='center' class='news-footer'>".rating($rating,$info['article_id'],"A")."\n";
echo openform("A",$info['article_id']).articleposter($info," ·").articleopts($info,"·").closeform("A",$info['article_id']);
echo "</td>
</tr>
</table>\n";

}
Прикрепленные файлы
Для просмотра вложения зарегистрируйтесь
Для просмотра вложения зарегистрируйтесь
click to enlarge
ajax_rating_5-10_bal.jpg   ( width:284 height:150 )


[Изменил(а) pank, 28 Февраля 2009, 20:00:18]

--------------------
http://serial.j100.ru/ - Сайт о сериалах
^ наверх ^ http://serial.j100.ru/
1 пользователь сказал спасибо Вам: rusbody
# 11  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 28 Февраля 2009, 22:23:40
Offtopic: Не проверял но возможно уязвимый скрипт.

В частности ид не проверяется на число и все такое...


--------------------
Retired
^ наверх ^
Перейти на форум:


105,445,449 уникальных посетителей
сейчас: 22 Ноября 2024, 00:55:14
Генерация страницы: 0.35 сек.

Original size:62 кб.
GZipped size: 12 кб.
Compression:80%