Exemple #1
0
    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');
        }
    }
Exemple #2
0
    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");
    }