/** * saveData * Save the record * @param posted var from the form * @return Boolean */ public static function saveData($record, $sendemail = false) { // Set the new values if (!empty($record['review_id']) && is_numeric($record['review_id'])) { $review = self::getbyId($record['review_id']); } else { $review = new Reviews(); $review->ip = $_SERVER['REMOTE_ADDR']; } // Get the latitude and longitude coordinates $coords = Shineisp_Commons_Utilities::getCoordinates($record['city']); $review->product_id = $record['product_id']; $review->publishedat = date('Y-m-d H:i:s'); $review->nick = $record['nick']; $review->city = !empty($coords['results'][0]['formatted_address']) ? $coords['results'][0]['formatted_address'] : $record['city']; $review->referer = $record['referer']; $review->subject = $record['subject']; $review->latitude = !empty($coords['results'][0]['geometry']['location']['lat']) ? $coords['results'][0]['geometry']['location']['lat'] : $record['latitude']; $review->longitude = !empty($coords['results'][0]['geometry']['location']['lng']) ? $coords['results'][0]['geometry']['location']['lng'] : $record['longitude']; $review->email = $record['email']; $review->stars = $record['stars']; $review->active = isset($record['active']) ? $record['active'] : 0; $review->review = $record['review']; if ($review->trySave()) { if ($sendemail) { // Send the email to confirm the subscription $isp = Isp::getActiveISP(); $placeholders['review'] = $record['review']; $placeholders['nick'] = $record['nick']; $placeholders['referer'] = $record['referer']; $placeholders['subject'] = $record['subject']; $placeholders['email'] = $record['email']; $placeholders['stars'] = $record['stars']; $placeholders['product'] = products::getAllInfo($record['product_id']); // Send a message to the administrator Shineisp_Commons_Utilities::sendEmailTemplate($isp['email'], 'review_new', $placeholders); } return $review->review_id; } return false; }