function vote($option_id, $ip, $user_id = null) { if (!empty($option_id)) { if (is_array($option_id)) { foreach ($option_id as $vote) { $option = new XoopsPollOption($vote); if ($this->getVar("poll_id") == $option->getVar("poll_id")) { $log = new XoopsPollLog(); $log->setVar("poll_id", $this->getVar("poll_id")); $log->setVar("option_id", $vote); $log->setVar("ip", $ip); if (isset($user_id)) { $log->setVar("user_id", $user_id); } if (!$log->store()) { } else { $option->updateCount(); } } } } else { $option = new XoopsPollOption($option_id); if ($this->getVar("poll_id") == $option->getVar("poll_id")) { $log = new XoopsPollLog(); $log->setVar("poll_id", $this->getVar("poll_id")); $log->setVar("option_id", $option_id); $log->setVar("ip", $ip); if (isset($user_id)) { $log->setVar("user_id", $user_id); } $log->store(); $option->updateCount(); } } return true; } return false; }