hi,
hier nun wie versprochen - interessiert das überhaupt einen? - das vpTransform-Addon. da ich nicht der javascript-held bin kann ja vielleicht jemand mal drüber gucken.
unter eines eurer text-felder (z.b. cms_html oder cms_text):
Code: Alles auswählen
if ($edit) {
echo '<a href="#" onclick="AddSelectiontoCookie(\'akronyme\')">Akronyme</a> | <a href="#" onclick="AddSelectiontoCookie(\'abkr\')">Abkürzung</a> | <a href="#" onclick="AddSelectiontoCookie(\'auto\')">Autolink</a>';
}
dann die datei plugins/vpTrans*/template/standard/*_edit.html:
1. am anfang(z.B. unter <script type="text/javascript" src="scripts/rowMark.js"></script>) inkludieren wir eine javascript-datei:
Code: Alles auswählen
<script src="plugins/vpTransformationen/js/vpTransCookie.js" type="text/javascript"></script>
2. am ende der javascript anweisung fügen wir folgenden code ein:
Code: Alles auswählen
var shortytyp = 'abkr';
var shorty = CookieWerteLesen(shortytyp);
if (shorty) {
var shortyarray = shorty.split(",");
var shortyvalue = shortyarray[0];
}
function init(shortytyp) {
if (shortytyp == "1")
var shortytyp = "akronyme";
else if (shortytyp == "2")
var shortytyp = "auto";
else
var shortytyp = "abkr";
var shorty = CookieWerteLesen(shortytyp);
if (shorty) {
var shortyarray = shorty.split(",");
var shortyvalue = shortyarray[0];
document.forms[0].elements[0].value = shortyvalue;
}
else
document.forms[0].elements[0].value = "";
return shortyvalue;
}
function SubmitdelCookie() {
var shortytyp = document.vpTransForm.type.value;
if (shortytyp == "1")
var shortytyp = "akronyme";
else if (shortytyp == "2")
var shortytyp = "auto";
else
var shortytyp = "abkr";
var shortyvalue = document.forms[0].elements[0].value;
DeleteWertCookie(shortytyp,shortyvalue);
}
nun kommt die datei plugins/vpTrans*/includes/standard/*_edit.php dran:
hier findet ihr etwa bei zeile 133 das input feld short dieses ersetzt ihr durch (dodger kannst du dir mal angucken, ob dein code durch die folgende änderung beeinträchtigt wird.) folgenden code:
Code: Alles auswählen
$tpl->set('d', 'SHORT', '<script type="text/javascript">
if (shortyvalue)
document.write("<input name=\"short\" value=\"" + shortyvalue + "\" type=\"text\" size=\"20\">");
else
document.write("<input name=\"short\" value=\"'.$value['short'].'\" type=\"text\" size=\"20\">");
</script>');
etwa bei zeile 140 findet ihr nun noch die selects. auch diese ersetzt ihr durch folgenden code:
Code: Alles auswählen
$tpl->set('d', 'EDIT', '<select size=1 name="type" onChange="init(this.value)"><option value=0>Abkürzung</option><option value=1>Akronym</option><option value=2>Autolink</option></select><input type="submit" value="Absenden">');
darunter bei etwa 144 findet ihr nun noch das form anfangs-tag. dieses ersetzt ihr durch folgenden code:
Code: Alles auswählen
$tpl->set('s', 'FORMSTART', '<form action="'.$sess->url("main.php?area=$area&frame=4&do=new_entry&language=german").'" name="vpTransForm" method="POST" onSubmit="SubmitdelCookie();">');
kurz darunter findet ihr noch die message für das template ca. zeile 146. hier können wir noch ein paar links einfügen. ihr ersetzt das ( $tpl->set('s', 'MESSAGE', ""); durch folgenden code:
Code: Alles auswählen
$tpl->set('s', 'MESSAGE', '<a href="javascript:SubmitdelCookie();init(document.vpTransForm.type.value);location.reload()">Aktuellen Vorschlag löschen</a> | <a href="javascript:DeleteCookie("akronyme");init(document.vpTransForm.type.value);location.reload()">Alle Akronymvorschläge löschen</a> | <a href="javascript:DeleteCookie("abkr");init(document.vpTransForm.type.value);location.reload()">Alle Abkürzungsvorschläge löschen</a> | <a href="javascript:DeleteCookie("abkr");init(document.vpTransForm.type.value);location.reload()">Alle Autolinkvorschläge löschen</a>');
in der contenido/includes/include.con_editcontent.php bei zeile um 199 findet ihr folgenden code:
$scripts .= '<script src="'.$cfg["path"]["contenido_fullhtml"].'external/mozile/mozileLoader.js" type="text/javascript"></script>';
diesen ersetzt ihr durch folgenden:
Code: Alles auswählen
$scripts .= '<script src="'.$cfg["path"]["contenido_fullhtml"].'external/mozile/mozileLoader.js" type="text/javascript"></script><script src="'.$cfg["path"]["contenido_fullhtml"].'plugins/vpTransformationen/js/vpTransCookie.js" type="text/javascript"></script>';
nun noch der javascript code. diesen code speichert ihr nun als plugins/vpTransformationen/js/vpTransCookie.js ab.
Code: Alles auswählen
function AddSelectiontoCookie (cookiename) {
if (window.getSelection && window.getSelection() != "") {
AddWerttoCookie(cookiename,window.getSelection());
} else if (document.getSelection && document.getSelection() != "") {
AddWerttoCookie(cookiename,document.getSelection());
} else if (document.selection && document.selection() != "") {
AddWerttoCookie(cookiename,document.selection.createRange().text);
}
}
function CookieWerteLesen(cookiename) {
var cookie = document.cookie;
var anfang = cookiename.length + 1;
var cookie = document.cookie;
var anfang = cookiename.length + 1;
if ((cookiename == 'abkr') && (document.cookie.search(/abkr=.+/) != -1)) {
var ende = cookie.indexOf(";", (cookie.search(/abkr=.+/) + anfang));
ende = (ende>-1) ? ende : cookie.length;
var cookiewerte = cookie.substring((cookie.search(/abkr=.+/) + anfang), ende);
}
if ((cookiename == 'akronyme') && (document.cookie.search(/akronyme=.+/) != -1)) {
var ende = cookie.indexOf(";", (cookie.search(/akronyme=.+/) + anfang));
ende = (ende>-1) ? ende : cookie.length;
var cookiewerte = cookie.substring((cookie.search(/akronyme=.+/) + anfang), ende);
}
if ((cookiename == 'auto') && (document.cookie.search(/auto=.+/) != -1)) {
var ende = cookie.indexOf(";", (cookie.search(/auto=.+/) + anfang));
ende = (ende>-1) ? ende : cookie.length;
var cookiewerte = cookie.substring((cookie.search(/auto=.+/) + anfang), ende);
}
return cookiewerte;
}
function AddWerttoCookie(cookiename,wert) {
var ablauf = new Date();
var indreizigTagen = ablauf.getTime() + (10 * 24 * 60 * 60 * 1000);
ablauf.setTime(indreizigTagen);
var cookie = document.cookie;
var anfang = cookiename.length + 1;
var cookiewerte = CookieWerteLesen(cookiename);
if (cookiewerte) {
document.cookie = cookiename + "=" + cookiewerte + "," + wert + "; domain=." + window.location.host + "; path=/; expires=" + ablauf.toGMTString();
}
else {
document.cookie = cookiename + "=" + wert + "; domain=." + window.location.host + "; path=/; expires=" + ablauf.toGMTString();
}
}
function DeleteWertCookie(cookiename,wert) {
var cookie = document.cookie;
var cookiewerte = CookieWerteLesen(cookiename);
var cookiewertearray = cookiewerte.split(",");
var durchlauf = "0";
for (var i = 0; i < cookiewertearray.length; ++i) {
if (cookiewertearray[i] != wert && durchlauf == 0) {
var newcookie = cookiewertearray[i];
var durchlauf = 1;
}
else if (cookiewertearray[i] != wert && durchlauf != 0) {
var newcookie = new Array(newcookie, cookiewertearray[i]);
}
}
if (newcookie) {
var ablauf = new Date();
var indreizigTagen = ablauf.getTime() + (10 * 24 * 60 * 60 * 1000);
ablauf.setTime(indreizigTagen);
document.cookie = cookiename + "=" + newcookie + "; domain=." + window.location.host + "; path=/; expires=" + ablauf.toGMTString();
}
else {
document.cookie = cookiename + "=; domain=." + window.location.host + "; path=/; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
function DeleteCookie(name) {
document.cookie = name + "=; domain=." + window.location.host + "; path=/; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
das war es, glaube ich. wäre dankbar, wenn jemand da drüber guckt und was sagen könnte.