function loadJS() { static $done = false; if ($done) { return true; } $done = true; $current_url = hikashop_currentURL(); $baseUrl = hikashop_completelink('vote&task=save&' . hikashop_getFormToken() . '=1'); $ajaxUrl = hikashop_completelink('vote&task=save', true, true); if (strpos($baseUrl, '?') !== false) { $baseUrl .= '&'; } else { $baseUrl .= '?'; } $config = hikashop_config(); $email_comment = $config->get('email_comment', 0); if ($config->get('enable_status_vote', 0) == 'both') { $vote_comment = 1; } else { $vote_comment = 0; } $note_comment = $config->get('register_note_comment', 0); if ($config->get('access_vote', 0) == 'buyed' || $config->get('access_vote', 0) == 'registered') { $hikashop_vote_con_req = 1; } else { $hikashop_vote_con_req = 0; } $js = ' function trim(myString){ myString = myString.replace(/(^\\s|&)+/g,\'\').replace(/\\s+$/g,\'\').replace(/\\n/g,\'<br \\/>\'); return myString; } function hikashop_vote_useful(hikashop_vote_id,val){ var hikashop_vote_user_id = ""; if(document.getElementById("hikashop_vote_user_id")) hikashop_vote_user_id = document.getElementById("hikashop_vote_user_id").value; var hikashop_vote_note_comment = ' . $note_comment . '; if((hikashop_vote_note_comment == 1 && hikashop_vote_user_id != "") || hikashop_vote_note_comment == 0){ data = "hikashop_vote_type=useful"; data += "&value=" + encodeURIComponent(val); data += "&hikashop_vote_id=" + encodeURIComponent(hikashop_vote_id); data += "&hikashop_vote_user_id=" + encodeURIComponent(hikashop_vote_user_id); window.Oby.xRequest("' . $ajaxUrl . '", {mode: "POST", data: data}, function(xhr) { var el = document.getElementById(hikashop_vote_id); if(xhr.responseText == "1"){el.innerHTML = " ' . JText::_('THANK_FOR_VOTE', true) . '";} else if(xhr.responseText == "3"){el.innerHTML = " ' . JText::_('ALREADY_VOTE_USEFUL', true) . '";} else{el.innerHTML = " ' . JText::_('VOTE_ERROR', true) . '";} }); setTimeout("document.location=\'' . $current_url . '\'",2250); } else{ document.getElementById(hikashop_vote_id).innerHTML = " ' . JText::_('ONLY_REGISTERED_CAN_VOTE', true) . '"; setTimeout("document.getElementById(\'hikashop_vote_id\').innerHTML = \'\'",2250); } } function hikashop_send_vote(hikashop_vote, from){ var re = new RegExp(\'id_(.*?)_hikashop\'); var m = re.exec(from); if(m != null){ var hikashop_vote_ref_id = ""; for (i = 1; i < m.length; i++) { hikashop_vote_ref_id = hikashop_vote_ref_id + m[i] + "\\n"; } }else{ var hikashop_vote_ref_id = document.getElementById("hikashop_vote_ref_id").value; } document.getElementById("hikashop_vote_ok_"+parseInt(hikashop_vote_ref_id)).value = "1"; var hikashop_vote_vote_comment = ' . $vote_comment . '; var hikashop_vote_con_req = ' . $hikashop_vote_con_req . '; var hikashop_vote_user_id = document.getElementById("hikashop_vote_user_id_"+parseInt(hikashop_vote_ref_id)).value; var vote_type = document.getElementById("vote_type_"+parseInt(hikashop_vote_ref_id)).value; var div_vote_status = "hikashop_vote_status_"+parseInt(hikashop_vote_ref_id); if((hikashop_vote_con_req == 1 && hikashop_vote_user_id != "") || hikashop_vote_con_req == 0){ if(hikashop_vote_vote_comment == 1){//User must enter a comment to note a product if(from =="hikashop_vote_rating_id"){ document.getElementById("hikashop_vote_status_form").innerHTML = " ' . JText::_('LET_COMMENT_TO_VALID_VOTE', true) . '"; setTimeout("document.getElementById(\'hikashop_vote_status_form\').innerHTML = \'\'",2250); }else{ var el = document.getElementById(div_vote_status); el.innerHTML = " ' . JText::_('LET_COMMENT_TO_VALID_VOTE', true) . '"; setTimeout(function(){el.innerHTML = "";},2250); } } else{// Only vote - sending request to saveFrontend() function, and analysing the result, status(thanks, bought, error) if(from =="hikashop_vote_rating_id"){ var el = document.getElementById("hikashop_vote_status_form"); }else{ var el = document.getElementById(div_vote_status); } data = "vote_type=" + encodeURIComponent(vote_type); data += "&hikashop_vote_type=vote"; data += "&hikashop_vote=" + encodeURIComponent(hikashop_vote); data += "&hikashop_vote_user_id=" + encodeURIComponent(hikashop_vote_user_id); data += "&hikashop_vote_ref_id=" + encodeURIComponent(hikashop_vote_ref_id); window.Oby.xRequest("' . $ajaxUrl . '", {mode: "POST", data: data}, function(xhr) { if(xhr.responseText == "1"){ el.innerHTML = " ' . JText::_('VOTE_UPDATED', true) . '"; setTimeout(function(){el.innerHTML = "";},2250); resetVotes(); } else if(xhr.responseText == "2"){el.innerHTML = " ' . JText::_('THANK_FOR_VOTE', true) . '"; } else if(xhr.responseText == "3"){el.innerHTML = " ' . JText::_('MUST_HAVE_BUY_TO_VOTE', true) . '";} else{el.innerHTML = " ' . JText::_('VOTE_ERROR', true) . '";} }); } } else{ //The user must be registered to vote if(from =="hikashop_vote_rating_id"){ document.getElementById("hikashop_vote_status_form").innerHTML = " ' . JText::_('ONLY_REGISTERED_CAN_VOTE', true) . '"; setTimeout("document.getElementById(\'hikashop_vote_status_form\').innerHTML = \'\'",2250); }else{ var el = document.getElementById(div_vote_status); el.innerHTML = " ' . JText::_('ONLY_REGISTERED_CAN_VOTE', true) . '"; setTimeout(function(){el.innerHTML = "";},2250); } } } function hikashop_send_comment(){ //Action on submit comment var hikashop_vote_ref_id = document.getElementById("hikashop_vote_ref_id").value; var hikashop_vote_comment = encodeURIComponent(trim(document.getElementById("hikashop_vote_comment").value)); var vote_type = document.getElementById("vote_type_"+parseInt(hikashop_vote_ref_id)).value; var hikashop_vote_ok = document.getElementById("hikashop_vote_ok_"+parseInt(hikashop_vote_ref_id)).value; var hikashop_vote_vote_comment = ' . $vote_comment . '; var hikashop_vote_con_req = ' . $hikashop_vote_con_req . '; var email_comment_bool = ' . $email_comment . '; var hikashop_vote_user_id = document.getElementById("hikashop_vote_user_id_"+parseInt(hikashop_vote_ref_id)).value; var pseudo_comment = document.getElementById("pseudo_comment").value; var email_comment = document.getElementById("email_comment").value; var reg = new RegExp(\'^[a-z0-9]+([_|\\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\\.|-]{1}[a-z0-9]+)*[\\.]{1}[a-z]{2,6}$\', \'i\'); // TEST EMAIL ADDRESS var verif_mail = reg.test(email_comment); if (hikashop_vote_user_id != ""){verif_mail = true;} if((hikashop_vote_con_req == 1 && hikashop_vote_user_id != "") || hikashop_vote_con_req == 0){ //if connection not required if(pseudo_comment == "" || (email_comment_bool == 1 && verif_mail == false)){ //if not connected if(pseudo_comment == ""){ document.getElementById("hikashop_vote_status_form").innerHTML = "' . JText::_('PSEUDO_REQUIRED', true) . '"; setTimeout("document.getElementById(\'hikashop_vote_status_form\').innerHTML = \'\'",2250); }else{ document.getElementById("hikashop_vote_status_form").innerHTML = "' . JText::_('EMAIL_INVALID', true) . '"; setTimeout("document.getElementById(\'hikashop_vote_status_form\').innerHTML = \'\'",2250); } }else{ if(hikashop_vote_vote_comment == 1){ // Save comment & vote. var hikashop_vote = document.getElementById("hikashop_vote_rating_id").value; if(hikashop_vote_comment == "" || hikashop_vote_ok == 0){ // Just show a message document.getElementById("hikashop_vote_status_form").innerHTML = "' . JText::_('VOTE_AND_COMMENT_PLEASE', true) . '"; setTimeout("document.getElementById(\'hikashop_vote_status_form\').innerHTML = \'\'",2250); }else{ var data = window.Oby.getFormData("hikashop_comment_form"); var regEx = /ctrl=(.*?)&/; data = data.replace(regEx,""); var regEx = /task=(.*?)&/; data = data.replace(regEx,""); var regEx = /limitstart=(.*?)&/; data = data.replace(regEx,""); data += "&hikashop_vote_type=both"; regEx = /hikashop_vote_ref_id/; if(!regEx.test(data)){ data += "&vote_type=" + encodeURIComponent(vote_type); data += "&email_comment=" + encodeURIComponent(email_comment); data += "&pseudo_comment=" + encodeURIComponent(pseudo_comment); data += "&hikashop_vote_user_id=" + encodeURIComponent(hikashop_vote_user_id); data += "&hikashop_vote_ref_id=" + encodeURIComponent(hikashop_vote_ref_id); data += "&hikashop_vote_comment=" + encodeURIComponent(hikashop_vote_comment); } data += "&hikashop_vote=" + encodeURIComponent(hikashop_vote); window.Oby.xRequest("' . $ajaxUrl . '", {mode: "POST", data: data}, function(xhr) { var el = document.getElementById("hikashop_vote_status_form"); if(xhr.responseText == "1"){el.innerHTML = " ' . JText::_('THANKS_FOR_PARTICIPATION', true) . '";document.getElementById("hikashop_vote_comment").value="";} else if(xhr.responseText == "3"){el.innerHTML = " ' . JText::_('MUST_HAVE_BUY_TO_VOTE', true) . '";} else if(xhr.responseText == "2"){el.innerHTML = " ' . JText::_('REACH_LIMIT_OF_COMMENT', true) . '";} else{el.innerHTML = " ' . JText::_('VOTE_ERROR', true) . '";} }); setTimeout("document.location=\'' . $current_url . '\'",2250); } }else if(hikashop_vote_comment != ""){ var data = window.Oby.getFormData("hikashop_comment_form"); var regEx = /ctrl=(.*?)&/; data = data.replace(regEx,""); var regEx = /task=(.*?)&/; data = data.replace(regEx,""); var regEx = /limitstart=(.*?)&/; data = data.replace(regEx,""); data += "&hikashop_vote_type=comment"; regEx = /hikashop_vote_ref_id/; if(!regEx.test(data)){ data += "&vote_type=" + encodeURIComponent(vote_type); data += "&email_comment=" + encodeURIComponent(email_comment); data += "&pseudo_comment=" + encodeURIComponent(pseudo_comment); data += "&hikashop_vote_user_id=" + encodeURIComponent(hikashop_vote_user_id); data += "&hikashop_vote_ref_id=" + encodeURIComponent(hikashop_vote_ref_id); data += "&hikashop_vote_comment=" + encodeURIComponent(hikashop_vote_comment); } window.Oby.xRequest("' . $ajaxUrl . '", {mode: "POST", data: data}, function(xhr) { var el = document.getElementById("hikashop_vote_status_form"); if(xhr.responseText == "1"){el.innerHTML = " ' . JText::_('THANKS_FOR_COMMENT', true) . '";document.getElementById("hikashop_vote_comment").value="";} else if(xhr.responseText == "3"){el.innerHTML = " ' . JText::_('MUST_HAVE_BUY_TO_VOTE', true) . '";} else if(xhr.responseText == "2"){el.innerHTML = " ' . JText::_('REACH_LIMIT_OF_COMMENT', true) . '";} else{el.innerHTML = " ' . JText::_('VOTE_ERROR', true) . '";} }); setTimeout("document.location=\'' . $current_url . '\'",2250); }else{ document.getElementById("hikashop_vote_status_form").innerHTML = " ' . JText::_('PLEASE_COMMENT', true) . '"; setTimeout("document.getElementById(\'hikashop_vote_status_form\').innerHTML = \'\'",2250); } } }else{ document.getElementById("hikashop_vote_status_form").innerHTML = " ' . JText::_('ONLY_REGISTERED_CAN_COMMENT', true) . '"; setTimeout("document.getElementById(\'hikashop_vote_status_form\').innerHTML = \'\'",2250); } } '; if (!HIKASHOP_PHP5) { $doc =& JFactory::getDocument(); } else { $doc = JFactory::getDocument(); } $doc->addScriptDeclaration("\n<!--\n" . $js . "\n//-->\n"); if (!HIKASHOP_J30) { JHTML::_('behavior.mootools'); } else { JHTML::_('behavior.framework'); } }
function loadJS() { static $done = false; if ($done) { return true; } $done = true; hikashop_loadJsLib('tooltip'); $config = hikashop_config(); $voteType = 0; if ($config->get('enable_status_vote', '0') == 'both') { $voteType = 1; } $js = ' hikaVote.setOptions({ itemId : "' . hikashop_getCID() . '", urls : { save : "' . hikashop_completelink('vote&task=save', true, true) . '", show : "' . hikashop_completelink('vote&task=show', true, true) . '" },ctrl : "' . JRequest::getVar('ctrl', 'product') . '", both : "' . $voteType . '" }); function hikashop_vote_useful(hikashop_vote_id, val) { return hikaVote.useful(hikashop_vote_id, val); } function hikashop_send_comment(){ return hikaVote.vote(0,"hikashop_vote_rating_id"); } function hikashop_send_vote(rating, from){ return hikaVote.vote(rating, from); } '; $doc = JFactory::getDocument(); $doc->addScriptDeclaration("\n<!--\n" . $js . "\n//-->\n"); }