Example #1
0
 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);
 }