$key = "photo_clicked_$id_photo";
if(has_cookie($key)){
return false;
}
if(has_session($key)){
return false;
}
// только теперь засчитываем "голос"
$photo = ORM::Factory('Photo', $id_photo);
$photo->rating++;
$photo->save();
// ну и вешаем сессию и печеньку
Cookie::set($key);
Session::set($key);
return true;
class Mail {
public static function send($email, $subject, $html, $text)
{
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.yandex.ru';
$mail->SMTPAuth = true;
$mail->Username = 'user@domain.tld'; // SMTP username
$mail->Password = 'myBestP4ssw0rd'; // SMTP password
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
$mail->CharSet = "UTF-8";
$mail->From = 'user@domain.tld';
$mail->FromName = 'My Project';
$mail->addAddress($email); // Add a recipient
$mail->addReplyTo('support@domain.tld', 'My Project Support');
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subject;
$mail->Body = $html;
$mail->AltBody = strip_tags($text);
if(!$mail->send()) {
return false;
// $mail->ErrorInfo;
} else {
return true;
}
}
}
---
Вот отличная CMS с живым community и русскими разработчиками на базе популярного, быстрого и безопастного фреймворка Kohana: http://kodicms.ru/
Можно в PHP всё сделать. CSV это по сути тот-же txt. Читаете файл в переменную (можно, например, функцией file(), тогда будет сразу массив строк), а затем перебираете этот массив строк через foreach. Каждая строка может быть также разбита на поля: explode("разделитель_полей", $string); Что касается xls, можно не заморачиваться и через Excel сконвертировать его в csv, например, а дальше я уже написал.