PDA

Zobacz pełną wersję : Reviews and Ratings w sobi2 nie działa - z powodu uprawnień?



szoq
28-01-2011, 00:22
Mam problem z pluginem Reviews and Ratings

Używałem go już wiele razy ale ostatnio nie wiem co zrobić.

Gneralnie problem był w tym że po wczytaniu pluginu do szablonu nie mogłem pokazać ani wysłać. Konsola w firebugu pokazywała mi błąd że showRevForm() było niezdefiniowane.

W akcie despoeracji wsadziłem sktypt java script do pliki index.php szablonu


<script language="JavaScript" type="text/javascript">
/* <![CDATA[ */
function showRevForm() {
document.getElementById("reviewFormBox").style.display = "block";
document.getElementById("reviewBt").style.display = "none";
document.getElementById("sendVoteBt").style.display = "none";
document.getElementById("revSendButton").style.display = "block";
}
function sendRev() {
var is_checked = false;
var email_show = (document.getElementById("email_show").checked == true)?1:0;
var revTitle = encodeURIComponent(document.getElementById("revTitle").value);
var sobireview = encodeURIComponent(document.getElementById("sobireview").value);
var uname = encodeURIComponent(document.getElementById("uname").value);
var umail = encodeURIComponent(document.getElementById("umail").value);
var rvote = document.getElementById("rvote") ? document.getElementById("rvote").value : 0;

var sobiid = 14;
var option = "com_sobi2";
var sobi2Task = "addSRev";
var no_html = 1;
var params = "option=" + option
+ "&email_show=" + email_show
+ "&revTitle=" + revTitle
+ "&sobireview=" + sobireview
+ "&uname=" + uname
+ "&umail=" + umail
+ "&rvote=" + rvote

+ "&sobiid=" + sobiid
+ "&sobi2Task=" + sobi2Task
+ "&no_html=" + no_html;
var url = "http://joomla.sigsiu.net/index.php";

srpMakeRequest(url,params);

}

function srpRevResp(srpHttpRequest) {
if (srpHttpRequest.readyState == 4) {
if (srpHttpRequest.status == 200) {
document.getElementById("revFormCont").innerHTML = '';
var XMLDoc = srpHttpRequest.responseXML;
var rev = XMLDoc.getElementsByTagName('rev')[0];
var msg = rev.getElementsByTagName('msg').item(0).firstChild .data;
var vote = rev.getElementsByTagName('vote').item(0).firstChil d.data;
var txt = rev.getElementsByTagName('txt').item(0).firstChild .data;
var title = rev.getElementsByTagName('title').item(0).firstChi ld.data;
var user = rev.getElementsByTagName('user').item(0).firstChil d.data;
var umail = rev.getElementsByTagName('umail').item(0).firstChi ld.data;
var date = rev.getElementsByTagName('date').item(0).firstChil d.data;

msg = '<div class="message">' + msg + '</div>';
date = '<div class="revDate"> on ' + date + '</div>';
if((txt && txt != 0) || (title && title != 0)) {
vote = '<div class="revVote">' + Vimages[vote] + '&nbsp;</div>';
title = '<div class="revTitle">' + title + '</div>'
txt = '<div class="revText">' + txt.replace(/(?:<br \/>)?\r?\n/gi, '<br />') + '</div>'
/*if(umail && umail != 0) {
user = '<a href="mailto:' + umail + '">' + user + '</a>';
}*/
user = '<div class="revAuthor"> by ' + user + '</div>';
var header = '<div class="revHeaderTitle">' + vote + title + user + date + '</div>';
srAllRevs++;
document.getElementById("srRespCont").innerHTML = '<div class="revCont">' + header + '<div class="revHeader">' + txt + '</div></div>';
}
document.getElementById("srRespContMsg").innerHTML = msg;
}
else {
alert('There was a problem with the request.');
}
}
}

function srpMakeRequest(url, params) {
var srpHttpRequest;
if (window.XMLHttpRequest) {
srpHttpRequest = new XMLHttpRequest();
if (srpHttpRequest.overrideMimeType) {
srpHttpRequest.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) {
try { srpHttpRequest = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) {
try { srpHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) {}
}
}
if (!srpHttpRequest) {
alert('Sorry but I Cannot create an XMLHTTP instance');
return false;
}
srpHttpRequest.onreadystatechange = function() { srpRevResp(srpHttpRequest); };
srpHttpRequest.open('POST', url, true);
srpHttpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
srpHttpRequest.setRequestHeader("Content-length", params.length);
srpHttpRequest.setRequestHeader("Connection", "close");
srpHttpRequest.send(params);
}
/* ]]> */
</script>

Zadziałało ale nie do końca. Formularz się pokazuje ale jak chce go wysłać pojawia się komunikat: There was a problem with the request.

W skrypcie za ten komunikat odpowiada warunek


if (srpHttpRequest.status == 200)

Za nic nie mogę wpaść jak to rozwiązać. Na forum sigsiu jest info o zakomentowaniu różnych fagmentów kodu, ale to nic nei działa.

U mnie na localhoście działą to ok. A na docelowym serwerze jest coś nei tak. Może to kwestia uprawnień do plików. Joomla jakoś dziwnie instaluje dodatki. Żaden z plików, który był wgrany przez instalator joomla nie może być edytowny z poziomu ftp. czy to mozę być przyczyną?