function sendAskedQuestion() { $input = JFactory::getApplication()->input; $config = Citruscart::getInstance(); $post = $input->getArray($_POST); $valid = true; $this->messagetype = 'message'; $this->message = ''; $add_link = ''; $json = array(); if (empty($post['sender_name']) && $valid) { $valid = false; $this->message = JText::_('COM_CITRUSCART_NAME_FIELD_IS_REQUIRED'); $this->messagetype = 'notice'; $json['error']['sender_name'] = JText::_('COM_CITRUSCART_NAME_FIELD_IS_REQUIRED'); } jimport('joomla.mail.helper'); if (!$json && !JMailHelper::isEmailAddress($post['sender_mail']) && $valid) { $valid = false; $this->message = JText::_('COM_CITRUSCART_PLEASE_ENTER_A_CORRECT_EMAIL_ADDRESS'); $this->messagetype = 'notice'; $json['error']['sender_mail'] = JText::_('COM_CITRUSCART_PLEASE_ENTER_A_CORRECT_EMAIL_ADDRESS'); $add_link .= "&sender_name={$post['sender_name']}"; $add_link .= !empty($post['sender_message']) ? "&sender_message={$post['sender_message']}" : ''; } if (!$json && empty($post['sender_message']) && $valid) { $valid = false; $this->message = JText::_('COM_CITRUSCART_MESSAGE_FIELD_IS_REQUIRED'); $this->messagetype = 'notice'; // $json['error']['message'] = JText::_('COM_CITRUSCART_MESSAGE_FIELD_IS_REQUIRED'); $add_link .= "&sender_name={$post['sender_name']}&sender_mail={$post['sender_mail']}"; } //captcha checking $captcha = true; if ($config->get('ask_question_showcaptcha', '1') == 1 && $valid) { $privatekey = "6LcAcbwSAAAAANZOTZWYzYWRULBU_S--368ld2Fb"; $captcha = false; if ($_POST["recaptcha_response_field"]) { Citruscart::load('CitruscartRecaptcha', 'library.recaptcha'); $recaptcha = new CitruscartRecaptcha(); $resp = $recaptcha->recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $post['recaptcha_challenge_field'], $post['recaptcha_response_field']); if ($resp->is_valid) { $captcha = true; } } } if (!$json && !$captcha) { $valid = false; $this->message = JText::_('COM_CITRUSCART_INCORRECT_CAPTCHA'); $json['error']['captcha'] = JText::_('COM_CITRUSCART_INCORRECT_CAPTCHA'); $this->messagetype = 'notice'; $add_link .= "&sender_name={$post['sender_name']}&sender_mail={$post['sender_mail']}&sender_message={$post['sender_message']}"; } if ($valid) { $mainframe = JFactory::getApplication(); $sendObject = new JObject(); $sendObject->mailfrom = $post['sender_mail']; $sendObject->namefrom = $post['sender_name']; $sendObject->mailto = $config->get('emails_defaultemail', $mainframe->getCfg('mailfrom')); $sendObject->body = $post['sender_message']; //get product info JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/models'); $model = JModelLegacy::getInstance('Products', 'CitruscartModel'); $model->setId($post['product_id']); $sendObject->item = $model->getItem(); Citruscart::load("CitruscartHelperBase", 'helpers._base'); $helper = CitruscartHelperBase::getInstance('Email'); if ($send = $helper->sendEmailToAskQuestionOnProduct($sendObject)) { $this->message = JText::_('COM_CITRUSCART_MESSAGE_SUCCESSFULLY_SENT'); } else { $this->message = JText::_('COM_CITRUSCART_ERROR_IN_SENDING_MESSAGE'); $this->messagetype = 'notice'; } if (Citruscart::getInstance()->get('ask_question_modal', '1')) { $url = "index.php?option=com_citruscart&view=products&task=askquestion&id={$post['product_id']}&tmpl=component&return=" . $post['return'] . $add_link . "&success=1"; $redirect = JRoute::_($url); } else { $redirect = JRoute::_(base64_decode($post['return'])); } } else { $url = "index.php?option=com_citruscart&view=products&task=askquestion&id={$post['product_id']}&tmpl=component&return=" . $post['return'] . $add_link; $redirect = JRoute::_($url); } $this->setRedirect($redirect, $this->message, $this->messagetype); }
/** * * */ function addReview() { $input = JFactory::getApplication()->input; JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/tables'); $productreviews = JTable::getInstance('productcomments', 'CitruscartTable'); $post = $input->getArray($_POST); $captcha_enable = Citruscart::getInstance()->get('use_captcha', '0'); $privatekey = "6LcAcbwSAAAAANZOTZWYzYWRULBU_S--368ld2Fb"; $Itemid = $post['Itemid']; $recaptcha_challenge_field = $post['recaptcha_challenge_field']; $recaptcha_response_field = $post['recaptcha_response_field']; $captcha = '1'; if ($captcha_enable) { $captcha = '0'; Citruscart::load('CitruscartRecaptcha', 'library.recaptcha'); $recaptcha = new CitruscartRecaptcha(); if ($_POST["recaptcha_response_field"]) { $resp = $recaptcha->recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $recaptcha_challenge_field, $recaptcha_response_field); if ($resp->is_valid) { $captcha = '1'; } } } $product_id = $post['product_id']; $date = JFactory::getDate(); $productreviews->bind($post); $productreviews->created_date = $date->toSql(); $redirect = "index.php?option=com_citruscart&view=products&task=view&id=" . $product_id . "filter_category=" . $product_id . "&Itemid=" . $Itemid; $redirect = JRoute::_($redirect); if ($captcha == '1') { if (!$productreviews->save()) { $this->messagetype = 'message'; $this->message = JText::_('COM_CITRUSCART_UNABLE_TO_SAVE_REVIEW') . " :: " . $productreviews->getError(); } else { JFactory::getApplication()->triggerEvent('onAfterSaveProductComments', array($productreviews)); $this->messagetype = 'message'; $this->message = JText::_('COM_CITRUSCART_SUCCESSFULLY_SUBMITTED_REVIEW'); } } else { $this->messagetype = 'message'; $this->message = JText::_('COM_CITRUSCART_INCORRECT_CAPTCHA'); } $this->setRedirect($redirect, $this->message, $this->messagetype); }