<?php
/**
* XS2:
*
* This file is developed by Solutecs, LLC for the purpose of the company
* and is provided together with XS2 Framework as and inherent part of the
* system. This file can be used on the terms of License Agreement.
*
* +7 (495) 585-0833 / 13 Rusakovskaya street, Moscow 107140 Russia
*
* @link http://www.solutecs.com
* @copyright ©1998-2007 Solutecs, LLC
* @package XS2-MODCOM
* @subpackage proc-photorating
* @version 1.XX
*/
// Опция $cookieVoteLifetime: срок (в секундах), после которого опять можно голосовать
$cookieVoteLifetime = 60*60*24;
$ratingScale = xs2GetNodes(array('NType'=>'score'));
// Если не задан номер снимка, показать галерею
if(!$_THE['PARAMS'][0]) {
header('location: '.xs2Href(array('mod'=>$_THE['QUE']['MOD'],
'obj'=>$_THE['QUE']['OBJ'],
'met'=>'list')));
}
$nodeId = $_THE['PARAMS'][0];
$photo = xs2GetNode(array('NodId'=>$nodeId));
$voted = array_unique(array_filter(explode('.', $_COOKIE['voted'])));
if ($_POST['action']=='voteForm' && !in_array($nodeId, $voted)) {
$photo['Total'] += $_POST['Score'];
++$photo['Votes'];
$photo['Rating'] = $photo['Total']/$photo['Votes'];
if(xs2UpdateNode(array('NodId' =>$nodeId,
'NType' =>'photo',
'Total'=>$photo['Total'],
'Rating'=>$photo['Rating'],
'Votes' =>$photo['Votes']))) {
array_push($voted, $nodeId);
};
};
if($_POST['action']=='commentForm') {
xs2InsertNode(array('NName' => 'comment',
'Text' => $_POST['Text'],
'NType' => 'comment',
'NFlag' => 1,
'ParId' => $nodeId));
};
if(in_array($nodeId, $voted))
$photo['_Voted'] = true;
setcookie('voted', join('.', $voted), time()+$cookieVoteLifetime, '/');
$_HTML->assign('photo', $photo);
$_HTML->assign('ratingScale', $ratingScale);
?>
|