Initialer Commit: Kundenverwaltung (PHP/Smarty)

Bestehende Codebasis als Ausgangsstand aufgenommen.

- .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache
  (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen;
  Verzeichnisstruktur ueber .gitkeep erhalten
- .gitattributes: Zeilenenden normalisiert (LF im Repo),
  Binaerformate markiert
- db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der
  Anwendung aus der externen Konfiguration statt hartkodiert aus der
  Datei; Passwort wird ueber eine temporaere Optionsdatei statt per
  Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet,
  Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 16:41:18 +02:00
co-authored by Claude Opus 5
commit e6eb55bc4b
2225 changed files with 1070301 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
<%@ Page Language="C#" AutoEventWireup="true" MaintainScrollPositionOnPostback="false" StylesheetTheme="" Theme="" EnableTheming="false" ValidateRequest="false" %><%@ OutputCache Location="None" VaryByParam="None" %><script type="text/C#" runat="server">
protected void Page_Init(object sndr, EventArgs e)
{
ASPNetSpell.Helpers.renderAJAXHandler.process(Context);
Response.Flush();
Response.End();
}
</script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="NotRendered1" runat="server">
<title>Themes Compatibility</title>
</head>
<body><form runat="server" id="NotRendered2"></form></body>
</html>
File diff suppressed because one or more lines are too long
+28
View File
@@ -0,0 +1,28 @@
<%@ WebHandler Language="C#" Class="ASPNetSpellWebHandler" %>
using System;
using System.Web;
using ASPNetSpell;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Text;
using System.IO;
using System.Web.Configuration;
public class ASPNetSpellWebHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
ASPNetSpell.Helpers.renderAJAXHandler.process(context);
}
public bool IsReusable {
get {
return false;
}
}
}
+395
View File
@@ -0,0 +1,395 @@
<%option explicit%><!--#include file="asp/ASPSpellClass.asp"--><% dim LicenseKey, SaveToCentralDictionary%><!--#include file="settings/default-settings.asp"--><%
Server.ScriptTimeout=30
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
Dim sent_langs, objASPSpell, objASPSpellDYM,lang, arrLangs, note, script, sender, args, i, dlimit1, dlimit2, dlimit5, command, words, suggestcountinit, error_type_words(), spell_check_words(), suggest_words(), maxsuglength, suggestcount, word, ok, doSuggest, centralDictionaryFile, OpenFileobj, FSOobj,FilePath, centralDictionaryFilePath, sValid
Set objASPSpell = ASPSpellObjectProvider.Create("aspspellcheck")
objASPSpell.ignoreCaseMistakes =false
objASPSpell.ignoreAllCaps = false
objASPSpell.IgnoreNumeric = false
objASPSpell.IgnoreEmailAddresses = false
objASPSpell.IgnoreWebAddresses = false
objASPSpell.newLineNewSentance = false
objASPSpell.LicenseKey = LicenseKey
objASPSpell.DictionaryPath = (replace(LCASE(Request.ServerVariables("PATH_INFO")),"core/default.asp","dictionaries/"))+""
objASPSpell.AddCustomDictionary("custom.txt")
objASPSpell.LoadCustomBannedWords("language-rules/banned-words.txt")
' call LoadCommonTypos(objASPSpell,"language-rules/common-mistakes.txt")
////////////////////////////////
Response.Buffer = true
'Response.ContentType = "text/plain"
lang = "English (International)"
note = ""
script = false
sender = ""
args = ""
if (Request.QueryString("args")&"" <> "") then args = Request.QueryString("args")
if (Request.QueryString("lan")&"" <> "") then lang = Request.QueryString("lan")
if (Request.QueryString("note")&"" <> "") then note = Request.QueryString("note")
if (Request.QueryString("sender")&"" <> "") then sender = Request.QueryString("sender")
if (Request.QueryString("script")&"" <> "") then script = true
if (Request.QueryString("command")&"" <> "") then command = UCASE(Trim(Request.QueryString("command"))) else response.write("No Command"):Response.end()
dlimit1 = chr(1)
dlimit2 = chr(2)
dlimit5 = chr(5)
arrLangs = Split(lang,",")
for i=0 to UBOUND(arrLangs)
objASPSpell.AddDictionary(trim(arrLangs(i)))
next
IF (command ="SAVEWORD") THEN
Response.Write("SAVEWORD")
Response.Write(dlimit5)
Response.Write(sender)
Response.Write(dlimit5)
if( NOT SaveToCentralDictionary) THEN response.write "!! SaveToCentralDictionary Must be set true in core/settings/default-settings.asp line 2 to allow for a centralized 'add to dictionary'" : response.end()
centralDictionaryFile = (replace(LCASE(Request.ServerVariables("PATH_INFO")),"core/default.asp","dictionaries/"))+""&"custom.txt"
on error resume next
FilePath=Server.MapPath(centralDictionaryFile)
Set FSOobj = Server.CreateObject("Scripting.FileSystemObject")
Set OpenFileobj = FSOobj.OpenTextFile(FilePath, 8)
OpenFileobj.WriteLine(args)
OpenFileobj.Close
on error goto 0
if err.number <>0 then response.write "!!Word not saved - "&centralDictionaryFile&" unwritable. Check the permissions for IUSER" : response.end()
response.write args&" saved to the custom dictionary."
END IF
IF (command = "WINSETUP") THEN
words = split(args,dlimit1)
suggestcountinit = 3
redim error_type_words (Ubound(words))
redim spell_check_words (Ubound(words))
redim suggest_words (Ubound(words))
maxsuglength = 0
suggestcount = 0
for i = 0 to ubound(words)
error_type_words(i) = ""
if (suggestcount < suggestcountinit + 1) THEN suggest_words(i) = ""
IF ( objASPSpell.SpellCheck(words(i))) THEN
spell_check_words(i) = "T"
ELSE
spell_check_words(i) = "F"
error_type_words(i) = objASPSpell.ErrorTypeWord(words(i))
if (suggestcount < suggestcountinit + 1) THEN
suggestcount = suggestcount + 1
suggest_words(i) = Join( Fetch_Suggestions(words(i)), dlimit2)
maxsuglength = i + 1
END IF
END IF
next 'i
redim preserve suggest_words (maxsuglength)
Response.Write("WINSETUP")
Response.Write(dlimit5)
Response.Write(sender)
Response.Write(dlimit5)
Response.Write(JOIN( spell_check_words,""))
Response.Write(dlimit5)
Response.Write(JOIN( error_type_words,dlimit1))
Response.Write(dlimit5)
Response.Write(JOIN( suggest_words,dlimit1))
Response.Write(dlimit5)
Response.Write(JOIN( objASPSpell.ListDictionaries(),dlimit2))
END IF
' //////////////////////////////// END WINSETUP
IF (command ="LISTDICTS") THEN
Response.Write("WINSETUP")
Response.Write(dlimit5)
Response.Write(sender)
Response.Write(dlimit5)
Response.Write(JOIN( objASPSpell.ListDictionaries(),dlimit2))
END IF
IF (command ="WINSUGGEST") THEN
words = split(args,dlimit1)
redim suggest_words (Ubound(words))
FOR i = 0 to UBOUND(words)
suggest_words(i) = Join( Fetch_Suggestions(words(i)), dlimit2)
NEXT 'i
Response.Write "WINSUGGEST"
Response.Write dlimit5
Response.Write sender
Response.Write dlimit5
Response.Write(JOIN( suggest_words,dlimit1))
END IF ''' WIN SUGGEST
IF (command ="CTXSPELL") THEN
words = split(args,dlimit1)
redim error_type_words (Ubound(words))
redim spell_check_words (Ubound(words))
redim suggest_words (Ubound(words))
FOR i = 0 to UBOUND(words)
error_type_words(i) ="-"
IF ( objASPSpell.SpellCheck(words(i))) THEN
spell_check_words(i) = "T"
ELSE
spell_check_words(i) = "F"
error_type_words(i) = objASPSpell.ErrorTypeWord(words(i))
END IF
NEXT 'i
Response.Write ("CTXSPELL")
Response.Write (dlimit5)
Response.Write (sender)
Response.Write (dlimit5)
Response.Write(JOIN( spell_check_words,""))
Response.Write(dlimit5)
Response.Write(JOIN( error_type_words,dlimit1))
END IF 'CTXSPELL
IF (command ="CTXSUGGEST") THEN
word = args
Response.Write ("CTXSUGGEST")
Response.Write (dlimit5)
Response.Write (sender)
Response.Write (dlimit5)
Response.Write( Join( Fetch_Suggestions(args), dlimit2) )
IF(note="ADDLANGS") THEN
Response.Write (dlimit5)
Response.Write(JOIN( objASPSpell.ListDictionaries(),dlimit2))
END IF
END IF 'CTXSUGGEST
IF (command ="RAWSPELL") THEN
word = args
ok = objASPSpell.SpellCheck(word)
Response.Write ("RAWSPELL")
Response.Write (dlimit5)
Response.Write (sender)
Response.Write (word)
Response.Write (sender)
Response.Write (dlimit5)
IF (ok) THEN Response.Write ("T") ELSE Response.Write ("F")
Response.Write (dlimit5)
if( ok) THEN
Response.Write (word)
Response.Write (dlimit5)
Response.Write ("")
ELSE
Response.Write( Join( Fetch_Suggestions(word), dlimit2) )
Response.Write (dlimit5)
Response.Write objASPSpell.ErrorTypeWord(word)
END IF
END IF '' RAWSPELL
IF (command ="APISPELL" OR command ="APISPELLARRAY") THEN
words = split(args,dlimit1)
doSuggest = (note<>"NOSUGGEST")
redim error_type_words (Ubound(words))
redim spell_check_words (Ubound(words))
redim suggest_words (Ubound(words))
FOR i = 0 to UBOUND(words)
error_type_words(i) = ""
IF ( objASPSpell.SpellCheck(words(i))) THEN
spell_check_words(i) = "T"
ELSE
spell_check_words(i) = "F"
error_type_words(i) = objASPSpell.ErrorTypeWord(words(i))
if(doSuggest) THEN
suggest_words(i) = Join( Fetch_Suggestions(words(i)), dlimit2)
ELSE
suggest_words(i) = ""
END IF
END IF
NEXT 'i
Response.Write (command)
Response.Write (dlimit5)
Response.Write (sender)
Response.Write (dlimit5)
Response.Write(JOIN( spell_check_words,""))
Response.Write (dlimit5)
Response.Write(JOIN( error_type_words,dlimit1))
Response.Write(dlimit5)
Response.Write(JOIN( suggest_words,dlimit1))
Response.Write(dlimit5)
Response.Write(JOIN( words,dlimit1))
END IF 'APISPELL / APISPELLARRAY
IF (command ="APIDYM" ) THEN
Set objASPSpellDYM = ASPSpellObjectProvider.Create("aspdidyoumean")
objASPSpellDYM.setInstallPath( (replace(LCASE(Request.ServerVariables("PATH_INFO")),"core/default.asp","dictionaries/"))+"")
objASPSpellDYM.setSugguestionsLimit(1)
arrLangs = Split(lang,",")
for i=0 to UBOUND(arrLangs)
objASPSpellDYM.AddDictionary(trim(arrLangs(i)))
next
Response.Write ("APIDYM")
Response.Write (dlimit5)
Response.Write (sender)
Response.Write (dlimit5)
Response.Write (args)
Response.Write (dlimit5)
Response.Write (objASPSpellDYM.SuggestionString(args))
Response.Write (dlimit5)
Response.Write (lang)
END IF 'APIDYM
IF (command ="APIVALIDATE") THEN
words = split(args,dlimit1)
objASPSpell.ignoreCaseMistakes = (note="CASESENSITVE")
redim error_type_words (Ubound(words))
redim spell_check_words (Ubound(words))
sValid = "T"
FOR i = 0 to UBOUND(words)
error_type_words(i) = ""
IF ( objASPSpell.SpellCheck(words(i))) THEN
spell_check_words(i) = "T"
ELSE
spell_check_words(i) = "F"
sValid = "F"
error_type_words(i) = objASPSpell.ErrorTypeWord(words(i))
END IF
NEXT 'i
Response.Write (command)
Response.Write (dlimit5)
Response.Write (sender)
Response.Write (dlimit5)
Response.Write(JOIN( spell_check_words,""))
Response.Write (dlimit5)
Response.Write(JOIN( error_type_words,dlimit1))
Response.Write(dlimit5)
Response.Write(JOIN( words,dlimit1))
Response.Write(dlimit5)
Response.Write(sValid)
END IF 'APIVALIDATE
IF (script) THEN response.write ("<script type=""text/javascript"">window.parent.livespell.ajax.pickupIframe(document.body.innerHTML); </script>")
Response.flush
response.end()
%><%
FUNCTION Fetch_Suggestions (word)
on error resume next
Fetch_Suggestions = objASPSpell.Suggestions(word)
if err.number >0 then Fetch_Suggestions = split("","-")
on error goto 0
END FUNCTION
%>
+119
View File
@@ -0,0 +1,119 @@
var livespell;var E$=function(id){return document.getElementById(id);}
var spellWin={resumeAfterEditing:function(){this.pickup();spellWin.regroup(false);},isStillOpen:function(){return window.document!=null;},providerID:null,provider:function(){if(!livespell){this.handshake();}
return livespell.spellingProviders[this.providerID];},lang:{localize_ui:function(){document.title=this.fetch("WIN_TITLE");E$("btnAddToDict").value=this.fetch("BTN_ADD_TO_DICT");E$("btnAutoCorrect").value=this.fetch("BTN_AUTO_CORECT");E$("btnOptionsCancel").value=E$("btnLangCancel").value=this.fetch("BTN_CANCEL");E$("btnChange").value=this.fetch("BTN_CHANGE");E$("btnChangeAll").value=this.fetch("BTN_CHANGE_ALL");E$("btnCancel").value=this.fetch("BTN_CLOSE");E$("btnIgnoreAll").value=this.fetch("BTN_IGNORE_ALL");E$("btnIgnore").value=this.fetch("BTN_IGNORE_ONCE");E$("btnUndoManualEdit").value=this.fetch("BTN_CLEAR_EDIT");E$("btnUndo").value=this.fetch("BTN_UNDO");E$("btnAllDone").value=E$("btnOptionsOK").value=E$("btnLangOK").value=this.fetch("BTN_OK");E$("btnShowOptions").value=this.fetch("BTN_OPTIONS");E$("btnResetDict").value=E$("btnResetAutoCorrect").value=this.fetch("BTN_RESET");E$("tSum").innerHTML=this.fetch("DONESCREEN_MESSAGE");E$("fldLanguageLab").innerHTML=this.fetch("LABEL_LANGAUGE");E$("SuggestionsLab").innerHTML=this.fetch("LABEL_SUGGESTIONS");E$("fldLanguageMultipleLabText").innerHTML=this.fetch("LANGUAGE_MULTIPLE_INSTRUCTIONS");E$("lMeaningLink").innerHTML=this.fetch("LOOKUP_MEANING");E$("optCaseSensitiveText").innerHTML=this.fetch("OPT_CASE_SENSITIVE");E$("optAllCapsbText").innerHTML=this.fetch("OPT_IGNORE_CAPS");E$("optNumericText").innerHTML=this.fetch("OPT_IGNORE_NUMERIC");E$("optSentenceText").innerHTML=this.fetch("OPT_SENTENCE_AWARE");E$("btnResetDictLabText").innerHTML=this.fetch("OPT_PERSONAL_DICT");E$("btnResetAutoCorrectLabText").innerHTML=this.fetch("OPT_PERSONAL_AUTO_CURRECT");if(spellWin.provider().AddWordsToDictionary=="SERVER"){E$("btnAddToDict").value=this.fetch("BTN_ADD_TO_DICT").replace("Personal","Word")}},fetch:function(index){return livespell.lang.fetch(spellWin.providerID,index);}},allDone:false,docs:[],wordstocheck:[],currentDoc:0,currentToken:0,currentReason:"",editcount:0,suggestionsInMotion:true,undo:{bookmarks:[],set:function(action){var mem={};var targets="currentDoc,currentReason,currentToken,editcount".split(",");for(var i=0;i<targets.length;i++){mem[targets[i]]=spellWin[targets[i]]}
mem.word=spellWin.tokens.getCurrent();mem.docs=this.arrayCopy(spellWin.docs)
mem.action=action+"";if(action==="ADD"){mem.add=livespell.cookie.get("SPELL_DICT_USER");}
if(action==="AUTO"){mem.auto=livespell.cookie.get("SPELL_AUTOCORRECT_USER");}
this.bookmarks.push(mem);if(this.bookmarks.length>spellWin.provider().UndoLimit){this.bookmarks.shift();}},get:function(){var mem=this.bookmarks.pop();if(!mem){return};var targets="currentDoc,currentReason,currentToken,editcount".split(",");for(var i=0;i<targets.length;i++){spellWin[targets[i]]=mem[targets[i]]}
delete spellWin.docs;spellWin.docs=this.arrayCopy(mem.docs)
delete livespell.cache.ignore[mem.word]
if(mem.action==="ADD"){spellWin.actions.deletePersonal();livespell.cookie.set("SPELL_DICT_USER",mem.add);}
if(mem.action==="AUTO"){spellWin.actions.deleteAutoCorrect();livespell.cookie.set("SPELL_AUTOCORRECT_USER",mem.auto);}
spellWin.tokenize();spellWin.moveNext();},arrayCopy:function(ain){var aout=[];for(var it in ain){aout[it]=ain[it]}
return aout;}},tokens:{value:[],countWords:function(){var num=0;for(var i=0;i<this.value.length;i++){for(var j=0;j<this.value[i].length;j++){if(this.isWord(i,j)){num++}}}
return num;},next:function(){spellWin.currentToken++
if(spellWin.currentToken>this.value[spellWin.currentDoc].length){spellWin.currentDoc++;spellWin.currentToken=0;}},set:function(i,j,val){this.value[i][j]=val;},setCurrent:function(val){this.value[spellWin.currentDoc][spellWin.currentToken]=val;},getCurrent:function(){return this.value[spellWin.currentDoc][spellWin.currentToken];},isWord:function(i,j){return livespell.test.isword(this.value[i][j])},startsSentence:function(i,j){return(j<2||livespell.test.eos(this.value[i][j-1]))},findAndReplace:function($$from,$$to,$$toCase){for(var i=0;i<this.value.length;i++){for(var j=0;j<this.value[i].length;j++){if(this.isWord(i,j)&&this.value[i][j].toLowerCase()==$$from.toLowerCase()){this.value[i][j]=livespell.str.toCase($$to,livespell.str.getCase(this.value[i][j]),this.startsSentence(i,j));spellWin.editcount++;}}}},appetureXHTML:function(i,j,green){var $$appeture=this.appeture(i,j,true);$$out="";for(var k=$$appeture.min;k<=$$appeture.max;k++){$$fragment=this.value[i][k];$$fragment=$$fragment==undefined?"":livespell.str.HTMLEnc(""+$$fragment);if(k==j){if(!green){$$fragment='<span id="highlight">'+$$fragment+"</span>";}else{$$fragment='<span id="highlightGrammar">'+$$fragment+"</span>";}}
$$out+=$$fragment;}
return $$out;},setAppeture:function(i,j,value){var $$appeture=this.appeture(i,j,true);for(var k=$$appeture.min;k<=$$appeture.max;k++){if(k==$$appeture.min){this.value[i][k]=value;}else{this.value[i][k]="";}}
spellWin.currentToken=$$appeture.min;},appetureText:function(i,j){var $$appeture=this.appeture(i,j,true);var start=-1
var end=-1
$$out="";for(var k=$$appeture.min;k<=$$appeture.max;k++){$$fragment=this.value[i][k];if($$fragment){$$out+=$$fragment;}
if(k==j){end=$$out.length;start=end-$$fragment.length}}
if($$out.length>2&&livespell.test.IE()&&$$out.charCodeAt($$out.length-1)==13){$$out=$$out.substr(0,$$out.length-1)}
var textap={}
textap.text=$$out;textap.start=start;textap.end=end;return textap;},appeture:function(i,j,binsafe){var doclen=this.value[i].length;var found=false;for(var $$min=j;$$min>0&&$$min>j-20&&!found;$$min--){if(livespell.test.eos(this.value[i][$$min])||((livespell.test.HTML(this.value[i][$$min])))){found=true;break;}}
found=false
while(livespell.test.HTML(this.value[i][$$min])){$$min++}
for(var $$max=j;$$max<doclen&&$$max<j+20&&!found;$$max++){if(livespell.test.eos(this.value[i][$$max])||((livespell.test.HTML(this.value[i][$$max])))){$$max--;found=true;break;}}
var $$appeture={};$$appeture.min=$$min;$$appeture.max=$$max;return $$appeture;}},actions:{registerclose:function(){if(spellWin.allDone){spellWin.provider().onDialogCompleteNET();spellWin.provider().onDialogComplete();spellWin.provider().__SubmitForm();}else{spellWin.provider().onDialogClose();}},done:function(){spellWin.provider().onDialogCompleteNET();spellWin.provider().onDialogComplete();spellWin.provider().__SubmitForm();spellWin.allDone=false;if(!spellWin.provider().ShowSummaryScreen&&spellWin.provider().isUniPacked&&spellWin.undo.bookmarks.length==0){var doret=false;srthtml="<h2 class='spellnofify'>"+spellWin.lang.fetch("DONESCREEN_MESSAGE")+"</h2><br/>"
try{window.parent.Modalbox.show(srthtml,{title:spellWin.lang.fetch("WIN_TITLE"),slideDownDuration:0.2,slideUpDuration:0.2});doret=true;}catch(e){}
try{window.opener.Modalbox.show(srthtml,{title:spellWin.lang.fetch("WIN_TITLE"),slideDownDuration:0.2,slideUpDuration:0.2});doret=true;}catch(e){}
try{window.opener.Modalbox.resizeToContent()}catch(e){}
if(doret){return}}
if(spellWin.provider().CustomOpenerClose){spellWin.provider().CustomOpenerClose()}else if(window.opener||window.parent){window.iclose();}else if(dialogArguments&&dialogArguments.document){window.iclose();}},cancel:function(){spellWin.provider().onDialogCancel();if(spellWin.provider().CustomOpenerClose){spellWin.provider().CustomOpenerClose()}else if(window.opener||window.parent){window.iclose();}else if(dialogArguments&&dialogArguments.document){window.iclose();}},changeLanguage:function(){if(spellWin.ui.getMenuValue("fldLanguage")==spellWin.lang.fetch("LANGUAGE_MULTIPLE")){spellWin.optionsMenu.showMultiLang(true);}else{spellWin.provider().Language=spellWin.ui.getMenuValue("fldLanguage");spellWin.provider().onChangeLanguage(spellWin.ui.getMenuValue("fldLanguage"));spellWin.regroup(false);}},changeMultiLanguage:function(){spellWin.provider().Language=spellWin.ui.getMenuValue("fldLanguageMultiple");spellWin.provider().onChangeLanguage(spellWin.ui.getMenuValue("fldLanguageMultiple"))
spellWin.optionsMenu.showMultiLang(false)
spellWin.ui.setupLanguageMenu();spellWin.regroup(false);},deletePersonal:function(){livespell.userDict.forget();livespell.cookie.erase("SPELL_DICT_USER");spellWin.provider().docRePaint();},deleteAutoCorrect:function(){livespell.cookie.erase("SPELL_AUTOCORRECT_USER");},ignoreOnce:function(){spellWin.undo.set();spellWin.provider().onIgnore(spellWin.tokens.getCurrent());spellWin.tokens.next();return spellWin.moveNext();},ignoreAll:function(){spellWin.undo.set();livespell.cache.ignore[spellWin.tokens.getCurrent().toLowerCase()]=true;spellWin.provider().onIgnoreAll(spellWin.tokens.getCurrent());spellWin.tokens.next();return spellWin.moveNext();},changeCurrent:function(){spellWin.undo.set();spellWin.editcount++
if(spellWin.ui.editingNow){spellWin.tokens.setAppeture(spellWin.currentDoc,spellWin.currentToken,E$("fldTextInput").value);spellWin.provider().onChangeWord(spellWin.tokens.getCurrent(),E$("fldTextInput").value);spellWin.ui.showEdit(false);spellWin.moveNext();return;}
var oS=E$("fldSuggestions");var os_value=spellWin.ui.getMenuValue("fldSuggestions")
if(oS.disabled){if(os_value=="__*DEL*__"){spellWin.provider().onChangeWord(spellWin.tokens.getCurrent(),"");spellWin.tokens.setCurrent("");spellWin.tokens.set(spellWin.currentDoc,spellWin.currentToken-1,livespell.str.rtrim(spellWin.tokens.value[spellWin.currentDoc][spellWin.currentToken-1]))
spellWin.currentToken--;}
if(os_value=="NONE"){spellWin.tokens.next();return spellWin.moveNext();}}else{if(os_value=="__*REG*__"){var a
if(spellWin.provider().isUniPacked){a="javascriptspellcheck";}else if(spellWin.provider().ServerModel.toLowerCase()=="asp.net"||spellWin.provider().ServerModel.toLowerCase()=="aspx"){a="aspnetspell";}else if(spellWin.provider().ServerModel.toLowerCase()=="asp"){a="aspspellcheck";}else{a="phpspellcheck";}
window.open("h"+"tt"+"p"+":"+"/"+"/w"+"ww."+a+".c"+"om/Pur"+""+"cha"+"se")}else{spellWin.provider().onChangeWord(spellWin.tokens.getCurrent(),os_value);spellWin.tokens.setCurrent(os_value);}}
spellWin.tokens.next();return spellWin.moveNext();},changeAll:function(){spellWin.undo.set();var $$from=spellWin.tokens.getCurrent()
var $$to=spellWin.ui.getMenuValue("fldSuggestions");var $$toCase=livespell.str.getCase($$to);spellWin.tokens.findAndReplace($$from,$$to,$$toCase);spellWin.provider().onChangeAll($$from,$$to);spellWin.tokens.next()
spellWin.moveNext();},addPersonal:function(word){spellWin.undo.set("ADD");word=spellWin.tokens.getCurrent()
if(spellWin.provider().AddWordsToDictionary=="SERVER"){livespell.ajax.send("SAVEWORD",word,0,0,spellWin.provider().id());}
livespell.userDict.add(word)
spellWin.provider().docRePaint();spellWin.provider().onLearnWord(spellWin.tokens.getCurrent());spellWin.moveNext();},addAutoCorrect:function(){spellWin.undo.set("AUTO");$$current_cookie=livespell.cookie.get("SPELL_AUTOCORRECT_USER");var $$from=spellWin.tokens.getCurrent()
var $$to=spellWin.ui.getMenuValue("fldSuggestions");var $$toCase=livespell.str.getCase($$to);spellWin.tokens.findAndReplace($$from,$$to,$$toCase);if($$current_cookie){$$current_cookie=livespell.str.chr(1)+$$current_cookie}
$$current_cookie=$$from+"->"+$$to+"#"+$$toCase+$$current_cookie;livespell.cookie.setLocal("SPELL_AUTOCORRECT_USER",$$current_cookie);spellWin.provider().docRePaint();spellWin.provider().onLearnAutoCorrect($$from,$$to);spellWin.moveNext();}},optionsMenu:{showMultiLang:function(flag){spellWin.ui.show("multiLangForm",flag);spellWin.ui.show("MainForm",!flag);var fLang=E$("fldLanguage")
if(!flag){for(var i=0;i<fLang.options.length;i++){if(fLang.options[i].value==spellWin.provider().Language){fLang.selectedIndex=i;}}}},show:function(flag){if(flag){var pdict=livespell.cookie.get("SPELL_DICT_USER")
var intPersonalEntries=pdict.length?pdict.split(livespell.str.chr(1)).length:0;E$("tDictCount").innerHTML=intPersonalEntries+" "+spellWin.lang.fetch("OPT_ENTRIES");spellWin.ui.enable("btnResetDict",intPersonalEntries>0);var pauto=livespell.cookie.get("SPELL_AUTOCORRECT_USER")
var intPersonalAutoEntries=pauto.length?pauto.split(livespell.str.chr(1)).length:0;E$("tAutoCorrectCount").innerHTML=intPersonalAutoEntries+" "+spellWin.lang.fetch("OPT_ENTRIES");spellWin.ui.enable("btnResetAutoCorrect",intPersonalAutoEntries>0);E$("optCaseSensitive").checked=spellWin.provider().CaseSensitive;E$("optAllCaps").checked=spellWin.provider().IgnoreAllCaps;E$("optNumeric").checked=spellWin.provider().IgnoreNumeric;}
spellWin.ui.show("optForm",flag);spellWin.ui.show("MainForm",!flag);},set:function(){spellWin.provider().setFormVals(E$("optCaseSensitive").checked,E$("optAllCaps").checked,E$("optNumeric").checked,E$("optSentence").checked)
this.show(false);spellWin.moveNext();}},init:function(){this.handshake();this.pickup();this.setTheme();this.hideButtons();spellWin.provider().setFieldListeners();setInterval(this.openerAware,100);this.lang.localize_ui();E$("optSentence").checked=spellWin.provider().CheckGrammar;this.ui.setLoadingMessage();spellWin.tokenize();this.autoCorrectOnLoad();livespell.userDict.load();this.ui.disableAll();this.suggestionsInMotion=false;spellWin.buildWordQue();this.sendInitialAJAXRequest(false);},openerAware:function(){if(window.opener||window.parent){return;}
try{if(dialogArguments&&dialogArguments.document){return;}}catch(e){}
window.iclose();},regroup:function(binisrepeat){this.suggestionsInMotion=false;this.ui.setLoadingMessage();spellWin.tokenize();this.ui.disableAll();spellWin.buildWordQue();this.sendInitialAJAXRequest(binisrepeat)},nextSuggestionChunk:function(){if(!this.suggestionsInMotion){return this.regroup(true)}
var chunksize=8;livespell.cache.suglist=[];for(var i=spellWin.currentDoc;i<this.tokens.value.length;i++){for(var j=(i==spellWin.currentDoc?spellWin.currentToken:0);j<this.tokens.value[i].length;j++){var spelltest=livespell.test.spelling(this.tokens.value[i][j],spellWin.provider().Language);var unknown=(!livespell.cache.suggestions[spellWin.provider().Language][this.tokens.value[i][j]]);if(this.tokens.isWord(i,j)&&!spelltest&&unknown){livespell.cache.suglist=livespell.array.safepush(livespell.cache.suglist,this.tokens.value[i][j])
if(livespell.cache.suglist.length>=chunksize){return this.fetchSuggestionRequest()}}}}
if(livespell.cache.suglist.length){return this.fetchSuggestionRequest()}
this.suggestionsInMotion=false;},fetchSuggestionRequest:function(){livespell.ajax.send("WINSUGGEST",livespell.cache.suglist.join(livespell.str.chr(1)),spellWin.provider().Language,"",spellWin.providerID)},notify:function(){delete this.docs;this.docs=[];for(var i=0;i<this.tokens.value.length;i++){this.docs[i]=this.tokens.value[i].join("");}
spellWin.tokenize();spellWin.provider().docUpdate(this.docs);},autoCorrectOnLoad:function(){var $$current_cookie=livespell.cookie.get("SPELL_AUTOCORRECT_USER");if(!$$current_cookie){return false;}
var $$mycmds=$$current_cookie.split(livespell.str.chr(1));for(var key in $$mycmds){var mycmd=$$mycmds[key];if(!mycmd||!mycmd.length){return}
try{var a_mycmd=mycmd.split("->");if(a_mycmd[1]){var from=a_mycmd[0];var to=a_mycmd[1].split("#")[0];var toCase=a_mycmd[1].split("#")[1];livespell.cache.ignore[to.toLowerCase()]=true;this.tokens.findAndReplace(from,to,toCase);}}catch(e){}}},moveNext:function(){this.notify();try{window.focus();}catch(e){};var $$typo=this.FindNextTypo();if($$typo===null){return;}
var suggestions=livespell.cache.suggestions[spellWin.provider().Language][$$typo];var reason=spellWin.currentReason;var newSentence=this.tokens.startsSentence(spellWin.currentDoc,spellWin.currentToken);var suggestionsPending=(reason!=="R"&&reason!=="G"&&!livespell.cache.suggestions[spellWin.provider().Language][$$typo]);if(suggestionsPending){this.ui.disableAll();if(!this.suggestionsInMotion){this.suggestionsInMotion=true
spellWin.nextSuggestionChunk();}
return setTimeout("spellWin.moveNext()",1000)}
var isGreen=reason=="G"||reason=="R";if(!isGreen){var oCase=livespell.str.getCase($$typo);if(oCase===2){for(var j=0;j<suggestions.length;j++){suggestions[j]=suggestions[j].toUpperCase();}}
if(oCase===1){for(var j=0;j<suggestions.length;j++){suggestions[j]=livespell.str.toCaps(suggestions[j]);}}}
if(!suggestions||!suggestions.length||suggestions[0]===""){suggestions=[];}
var dsuggs=[];for(j=0;j<suggestions.length;j++){dsuggs=livespell.array.safepush(dsuggs,suggestions[j])}
suggestions=dsuggs;E$("TextShow").innerHTML=this.tokens.appetureXHTML(spellWin.currentDoc,spellWin.currentToken,isGreen);var oS=E$("fldSuggestions");oS.options.length=0
if(reason=="G"){if(!suggestions||!suggestions.length||suggestions[0]===""){suggestions=[];suggestions[0]=$$typo;}
for(var i=0;i<suggestions.length;i++){suggestions[i]=livespell.str.toCase(suggestions[i],0,true);}}
if(!suggestions||!suggestions.length||suggestions[0]===""||reason=="R"){oS.disabled=true;}else{oS.disabled=false;if(reason==="X"&&spellWin.provider().isUniPacked){suggestions=new Array("JavaScriptSpellCheck Trial","Please register online","javascriptspellcheck.com");}
for(var i=0;i<suggestions.length;i++){if(reason==="X"){oS.options[i]=(new Option(suggestions[i],"__*REG*__",i==0,i==0));}else{oS.options[i]=(new Option(suggestions[i],suggestions[i],i==0,i==0));}}}
this.ui.enable("btnIgnore,btnIgnoreAll,btnAddToDict,btnChange,btnChangeAll,btnAutoCorrect,btnShowOptions",true)
if(reason=="X"){this.ui.enable("btnIgnoreAll,btnAddToDict,btnChangeAll,btnAutoCorrect",false)}
this.ui.show("lMeaning",false);this.ui.enable("btnUndo",this.undo.bookmarks.length>0)
switch(reason){case"C":E$("fldTextInputLab").innerHTML=spellWin.lang.fetch("REASON_CASE");break;case"R":E$("fldTextInputLab").innerHTML=spellWin.lang.fetch("REASON_REPEATED");oS.options.length=0;oS.options[0]=(new Option(spellWin.lang.fetch("SUGGESTIONS_DELETE_REPEATED"),"__*DEL*__",false,true));this.ui.enable("btnIgnoreAll,btnAddToDict,btnChangeAll,btnAutoCorrect,fldSuggestions",false)
break;case"G":E$("fldTextInputLab").innerHTML=spellWin.lang.fetch("REASON_GRAMMAR");this.ui.enable("btnIgnoreAll,btnAddToDict,btnChangeAll,btnAutoCorrect",false)
break;default:if(reason==="B"){E$("fldTextInputLab").innerHTML=spellWin.lang.fetch("REASON_BANNED");if(spellWin.provider().Strict){this.ui.enable("btnIgnore,btnIgnoreAll,btnAddToDict",false)}}else if(reason==="E"){E$("fldTextInputLab").innerHTML=spellWin.lang.fetch("REASON_ENFORCED");this.ui.enable("btnIgnore,btnIgnoreAll,btnAddToDict",false)}else{E$("fldTextInputLab").innerHTML=spellWin.lang.fetch("REASON_SPELLING");}
if(!suggestions.length||suggestions[0]==""){oS.options[0]=(new Option(spellWin.lang.fetch("SUGGESTIONS_NONE"),$$typo,false,true));this.ui.enable("btnChange,btnChangeAll,btnAutoCorrect",false)}else{if(spellWin.provider().ShowMeanings&&!livespell.test.FireFox()){this.ui.show("lMeaning",true);}}
break;}},FindNextTypo:function(){for(var i=this.currentDoc;i<this.tokens.value.length;i++){for(var j=(i===this.currentDoc?this.currentToken:0);j<this.tokens.value[i].length;j++){if(this.tokens.isWord(i,j)){var word=this.tokens.value[i][j];var spelltest=livespell.test.spelling(word,spellWin.provider().Language);var unknown=spelltest!==true&&spelltest!==false;if(unknown){spellWin.regroup(false);return null;}
if(!spelltest){var reason=livespell.cache.reason[spellWin.provider().Language][word]?livespell.cache.reason[spellWin.provider().Language][word]:"";if(spellWin.provider().IgnoreAllCaps&&livespell.test.ALLCAPS(word)&&reason!=="B"&&reason!=="E"){spelltest=true;}
if(spellWin.provider().IgnoreNumeric&&(livespell.test.num(word))&&reason!=="B"&&reason!=="E"){spelltest=true;}
if(!spellWin.provider().CaseSensitive&&reason=="C"){spelltest=true;}}
if(spellWin.provider().CheckGrammar&&!spellWin.tokens.startsSentence(i,j)&&j>1&&spellWin.tokens.value[i][j].toUpperCase()===spellWin.tokens.value[i][j-2].toUpperCase()){if(spellWin.tokens.value[i][j].toUpperCase()!=spellWin.tokens.value[i][j].toLowerCase()){spelltest=false;reason="R";}}
if(spellWin.provider().CaseSensitive&&spellWin.provider().CheckGrammar&&spellWin.tokens.startsSentence(i,j)&&livespell.test.lcFirst(word)){var strDoc=this.tokens.value[i].join(" ");if(strDoc.indexOf(".")>0||strDoc.indexOf("!")>0||strDoc.indexOf("?")>0||strDoc.length>50){spelltest=false;reason="G";}}
if(!spelltest){this.currentDoc=i;this.currentToken=j;this.currentReason=reason;var nextWord=this.tokens.value[i][j];return nextWord;}}}};spellWin.ui.finished()
return null;},sendInitialAJAXRequest:function(binisrepeat){if(binisrepeat){livespell.ajax.send("WINSETUP",livespell.cache.wordlist[spellWin.providerID].join(livespell.str.chr(1)),spellWin.provider().Language,"5",spellWin.providerID)}else{livespell.ajax.send("WINSETUP",livespell.cache.wordlist[spellWin.providerID].join(livespell.str.chr(1)),spellWin.provider().Language,"0",spellWin.providerID)}},tokenize:function(){for(var i=0;i<this.docs.length;i++){this.tokens.value[i]=livespell.str.tokenize(this.docs[i]);}},buildWordQue:function(){var memsize=0;var memmax=livespell.maxURI-128;livespell.cache.wordlist[spellWin.providerID]=[];for(var i=0;i<this.tokens.value.length&&memsize<memmax;i++){for(var j=0;j<this.tokens.value[i].length&&memsize<memmax;j++){var spelltest=true
spelltest=livespell.test.spelling(this.tokens.value[i][j],spellWin.provider().Language);var unknown=(spelltest!==true&&spelltest!==false);if(this.tokens.isWord(i,j)&&(!spelltest)&&unknown){memsize+=this.tokens.value[i][j].toString().length;livespell.cache.wordlist[spellWin.providerID]=livespell.array.safepush(livespell.cache.wordlist[spellWin.providerID],this.tokens.value[i][j].toString())}}}
this.suggestionsInMotion=(memsize<memmax);},handshake:function(){if(window.opener){livespell=window.opener.livespell}else if(window.parent!=window){livespell=window.parent.livespell;}else{livespell=dialogArguments.livespell}
spellWin.providerID=(spellWin.querystring.get("instance"));spellWin.provider().spellWindowObject=spellWin;},setTheme:function(){var strTheme=spellWin.provider().CSSTheme;if(strTheme.length){E$("theme").setAttribute("href","themes/"+strTheme+"/dialog-window.css")}},hideButtons:function(){if(spellWin.provider().AddWordsToDictionary=="NONE"){E$("btnAddToDict").style.display="none";}
var arrHideButtons=(spellWin.provider().HiddenButtons.split(","))
for(var i=0;i<arrHideButtons.length;i++){strBtn=arrHideButtons[i];try{oBtn=E$(strBtn);if(oBtn&&oBtn.value){oBtn.style.display="none";};}catch(e){}}},pickup:function(){this.docs=spellWin.provider().docPickup();},querystring:{get:function(request){var query=window.location.search.substring(1);var vars=query.split("&");for(var i=0;i<vars.length;i++){var pair=vars[i].split("=");if(pair[0]==request){return pair[1];}}}},ui:{setGrammar:function(){spellWin.provider().CheckGrammar=E$("optSentence").checked;spellWin.moveNext();},setLoadingMessage:function(){E$("fldTextInputLab").innerHTML="";setTimeout(this.setLoadingMessageTimed,400);},setLoadingMessageTimed:function(){if(E$("fldTextInputLab").innerHTML!==""){return};E$("fldTextInputLab").innerHTML="<div id='ajaxLoader' ></div>";},finished:function(){this.show("optForm,SpellForm",false)
if(!spellWin.provider().ShowSummaryScreen){return spellWin.actions.done()}
spellWin.allDone=true;E$("tDoc").innerHTML=spellWin.lang.fetch("DONESCREEN_FIELDS")+" "+spellWin.tokens.value.length;E$("tEdi").innerHTML=spellWin.lang.fetch("DONESCREEN_EDITS")+" "+spellWin.editcount;E$("tWrd").innerHTML=spellWin.lang.fetch("DONESCREEN_WORDS")+" "+spellWin.tokens.countWords();this.show("doneForm",true)},setupLanguageMenu:function(){E$("fldLanguage").options.length=0;E$("fldLanguageMultiple").options.length=0;var ffound=false
for(l=0;l<livespell.cache.langs.length;l++){E$("fldLanguage")[l]=new Option(livespell.cache.langs[l],livespell.cache.langs[l],false,spellWin.provider().Language==livespell.cache.langs[l]);E$("fldLanguageMultiple")[l]=new Option(livespell.cache.langs[l],livespell.cache.langs[l],false,spellWin.provider().Language==livespell.cache.langs[l]);if(spellWin.provider().Language===livespell.cache.langs[l]){ffound=true;}}
E$("fldLanguage")[l]=new Option(spellWin.lang.fetch("LANGUAGE_MULTIPLE"),spellWin.lang.fetch("LANGUAGE_MULTIPLE"),false,false);if(ffound!==true){E$("fldLanguage").options.add(new Option(spellWin.provider().Language,spellWin.provider().Language,true,true),0);E$("fldLanguage").selectedIndex=0;}},lookupMeaning:function(){var word=spellWin.ui.getMenuValue("fldSuggestions");if(word=="__*REG*__"){word="registration"}
var url=spellWin.provider().MeaningProvider.replace("{word}",word)
if(window.opener&&livespell.test.IE()){window.opener.open(url);}else{window.open(url);}},disableAll:function(){this.showEdit(false);this.enable("btnIgnore,btnIgnoreAll,btnAddToDict,btnChange,btnChangeAll,btnAutoCorrect,btnUndo,btnShowOptions",false)},enable:function(elements,flag){if(!elements.join){var elements=elements.split(",")}
for(var i=0;i<elements.length;i++){try{E$(elements[i]).disabled=!flag;}catch(e){}}},show:function(elements,flag){if(!elements.join){var elements=elements.split(",")}
for(var i=0;i<elements.length;i++){E$(elements[i]).style.display=flag?"block":"none";}},selectEditorText:function(e,start,end){e.focus();if(e.setSelectionRange)e.setSelectionRange(start,end);else if(e.createTextRange){e=e.createTextRange();e.collapse(true);e.moveEnd('character',end);e.moveStart('character',start);e.select();}},editingNow:false,showEdit:function(flag){if(this.editingNow==flag){return null;}
if(flag){var oApp=spellWin.tokens.appetureText(spellWin.currentDoc,spellWin.currentToken)
E$("fldTextInput").value=oApp.text;if(oApp.start>-1&&oApp.end>-1){this.selectEditorText(E$("fldTextInput"),oApp.start,oApp.end)}}else{E$("fldTextInput").value="";}
this.editingNow=flag;this.show("TextShow",!flag);this.show("btnUndoManualEdit",flag);this.enable("btnIgnore,btnIgnoreAll,btnAddToDict,btnChangeAll,btnAutoCorrect,btnShowOptions,fldSuggestions",!flag)
if(flag){this.enable('btnChange',true)
E$('fldTextInput').focus();}else{spellWin.moveNext()}
return null;},getMenuValue:function(id){var o=E$(id)
if(!o.multiple){if(o.selectedIndex===null||o.selectedIndex<0){return""}
return o.options[o.selectedIndex].value;}else{var selVals=new Array();for(var i=0;i<o.length;i++){if(o.options[i].selected){selVals.push(o.options[i].value);}}
return selVals.join(",")}}}}
window.iclose=function(){if(spellWin.provider().WindowMode.toLowerCase()=="modalbox"){try{window.opener.Modalbox.hide()}catch(e){}
try{window.parent.Modalbox.hide()}catch(e){}}
if(spellWin.provider().WindowMode.toLowerCase()=="fancybox"){try{window.opener.$.fancybox.close()}catch(e){}
try{window.parent.$.fancybox.close()}catch(e){}}
window.close()}
+318
View File
@@ -0,0 +1,318 @@
<?php
header('Content-type: text/html; charset=ISO-8859-1');
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
// Freeing up memory where available improoves performance on huge dictionary searches.
try{ini_set("memory_limit","255M");}catch(Exception $e){}
include "php/engine.php";
$script = false;
$SaveToCentralDictionary = false;
error_reporting(0);
if(!isset($_GET["command"])){die("no command");}
if(isset($_GET["lan"]) && strlen($_GET["lan"])>0){$lang = $_GET["lan"];}else{$lang = "Deutsch" ;}
if(isset($_GET["note"]) && strlen($_GET["lan"])>0){$note = $_GET["note"];}else{$note = "" ;}
if(isset($_GET["script"])){$script = true ;}
if(isset($_GET["sender"])){$sender = $_GET["sender"] ;}
if(isset($_GET["settingsfile"]) && strstr($_GET["settingsfile"],"/")===false && strstr($_GET["settingsfile"],'\\') ===false && strstr($_GET["settingsfile"],".")===false ){
$settingsfile = $_GET["settingsfile"] ;
}else{$settingsfile = "default-settings";}
$RequestedLangs = explode(",",$lang);
include ("settings/$settingsfile.php");
if( strtoupper($_GET["command"])=="SAVEWORD" ){
/*SAVE CENTRAL DICTIONARY ON USER ADD*/
echo("SAVEWORD");
echo chr(5);
echo $sender ;
echo chr(5);
if($SaveToCentralDictionary){
$wordToSave = stripcslashes($_GET["args"]);
$filePath = $spellcheckObject->DictionaryPath.$spellcheckObject->SaveToCentralDictionary;
if (is_writable($filePath)) {
$handle = fopen($filePath, 'a');
fwrite($handle, "\n".$wordToSave);
fclose($handle);
echo "$wordToSave Saved to $filePath";
}else{
echo "$wordToSave Not Saved - $filePath Unwritable";
}}else{
echo "!! SaveToCentralDictionary Must be set true in core/index.php line 10 to allow for a centralized 'add to dictionary'";
}
/*SAVE CENTRAL DICTIONARY ON USER ADD*/
}
if( strtoupper($_GET["command"])=="WINSETUP" ){
$words = explode(chr(1),stripcslashes($_GET["args"]));
$suggestcountinit = 5;
$error_type_words = array();
$spell_check_words = array();
$suggest_words = array();
$suggestcount = 0;
for($i=0;$i<count($words);$i++){
$error_type_words[$i]="";
if($suggestcount <$suggestcountinit+1){
$suggest_words[$i]= "";
}
$spell_check_words[$i] = $spellcheckObject -> SpellCheckWord( $words[$i])?"T":"F";
if($spell_check_words[$i]=="F"){
$error_type_words[$i] = $spellcheckObject ->ErrorTypeWord( $words[$i]);
if($suggestcount <$suggestcountinit+1){
$suggestcount++;
$suggest_words[$i]= implode(chr(2),$spellcheckObject -> Suggestions( $words[$i] )) ;
}
}
}
echo "WINSETUP";
echo chr(5);
echo $sender ;
echo chr(5);
echo implode("",$spell_check_words);
echo chr(5);
echo implode(chr(1),$error_type_words);
echo chr(5);
echo implode(chr(1),$suggest_words);
echo chr(5);
echo implode(chr(2),$spellcheckObject ->ListDictionaries());
}
if( strtoupper($_GET["command"])=="WINSUGGEST" ){
$words = explode(chr(1),stripcslashes($_GET["args"]));
$suggest_words = array();
$suggestcount = 0;
for($i=0;$i<count($words);$i++){
$suggest_words[$i]= implode(chr(2),$spellcheckObject -> Suggestions( $words[$i] )) ;
}
echo "WINSUGGEST";
echo chr(5);
echo $sender ;
echo chr(5);
echo implode(chr(1),$suggest_words);
}
if( strtoupper($_GET["command"])=="CTXSPELL"){
$word = stripcslashes($_GET["args"]);
$words = explode(chr(1),stripcslashes($_GET["args"]));
$error_type_words = array();
$spell_check_words = array();
$suggest_words = array();
for($i=0;$i<count($words);$i++){
$error_type_words[$i]="";
$spell_check_words[$i] = $spellcheckObject -> SpellCheckWord( $words[$i])?"T":"F";
$error_type_words[$i] ="-" ;
if($spell_check_words[$i]=="F"){
$error_type_words[$i] = $spellcheckObject ->ErrorTypeWord( $words[$i]);
}
}
echo "CTXSPELL";
echo chr(5);
echo $sender ;
echo chr(5);
echo implode("",$spell_check_words);
echo chr(5);
echo implode("",$error_type_words);
}
elseif( strtoupper($_GET["command"])=="CTXSUGGEST"){
$word = stripcslashes($_GET["args"]);
echo "CTXSUGGEST";
echo chr(5);
echo $sender ;
echo chr(5);
echo implode(chr(2),$spellcheckObject -> Suggestions( $word )) ;
if($note=="ADDLANGS"){
echo chr(5);
echo implode(chr(2),$spellcheckObject -> ListDictionaries( $word )) ;
}
}
elseif( strtoupper($_GET["command"])=="RAWSPELL"){
$word = stripcslashes($_GET["args"]);
$ok = $spellcheckObject -> SpellCheckWord($word);
echo "RAWSPELL";
echo chr(5);
echo $sender ;
echo chr(5);
echo $word;
echo chr(5);
echo $ok?"T":"F";
echo chr(5);
if($ok){
echo $word;
echo chr(5);
echo "";
}else{
echo implode(chr(2),$spellcheckObject -> Suggestions( $word )) ;
echo chr(5);
echo $spellcheckObject -> ErrorTypeWord( $word[$i]);
}
}
if( strtoupper($_GET["command"])=="APISPELL" ||strtoupper($_GET["command"])=="APISPELLARRAY" ){
$words = explode(chr(1),stripcslashes($_GET["args"]));
$doSuggest = ($note!=="NOSUGGEST");
$error_type_words = array();
$spell_check_words = array();
$suggest_words = array();
for($i=0;$i<count($words);$i++){
$error_type_words[$i]="";
$suggest_words[$i]= array();
$spell_check_words[$i] = $spellcheckObject -> SpellCheckWord( $words[$i])?"T":"F";
if($spell_check_words[$i]=="F"){
$error_type_words[$i] = $spellcheckObject ->ErrorTypeWord( $words[$i]);
if($doSuggest){
$suggest_words[$i]= implode(chr(2),$spellcheckObject -> Suggestions( $words[$i] )) ;
}else{
$suggest_words[$i]="";
}
}
}
echo strtoupper($_GET["command"]);
echo chr(5);
echo $sender ;
echo chr(5);
echo implode("",$spell_check_words);
echo chr(5);
echo implode(chr(1),$error_type_words);
echo chr(5);
echo implode(chr(1),$suggest_words);
echo chr(5);
echo implode(chr(1),$words);
}
if( strtoupper($_GET["command"])=="LISTDICTS" ){
$in = stripcslashes($_GET["args"]);
echo "LISTDICTS";
echo chr(5);
echo $sender ;
echo chr(5);
echo implode(chr(2),$spellcheckObject ->ListDictionaries());
}
if( strtoupper($_GET["command"])=="APIDYM" ){
$in = stripcslashes($_GET["args"]);
echo strtoupper("APIDYM");
echo chr(5);
echo $sender ;
echo chr(5);
echo $in;
echo chr(5);
echo $spellcheckObject ->didYouMean($in);
echo chr(5);
echo $lang;
}
if( strtoupper($_GET["command"])=="APIVALIDATE"){
$words = explode(chr(1),stripcslashes($_GET["args"]));
$spellcheckObject -> CaseSensitive = ($note=="CASESENSITVE");
$error_type_words = array();
$spell_check_words = array();
$valid = true;
for($i=0;$i<count($words);$i++){
$error_type_words[$i]="";
$suggest_words[$i]= array();
$spell_check_words[$i] = $spellcheckObject -> SpellCheckWord( $words[$i])?"T":"F";
if($spell_check_words[$i]=="F"){
$valid = false;
$error_type_words[$i] = $spellcheckObject ->ErrorTypeWord( $words[$i]);
}
}
echo "APIVALIDATE";
echo chr(5);
echo $sender ;
echo chr(5);
echo implode("",$spell_check_words);
echo chr(5);
echo implode(chr(1),$error_type_words);
echo chr(5);
echo implode(chr(1),$words);
echo chr(5);
echo $valid?"T":"F";
}
if($script){echo '<script type="text/javascript">window.parent.livespell.ajax.pickupIframe(document.body.innerHTML); </script>';};
?>
+326
View File
@@ -0,0 +1,326 @@
<?php
/* (C) 2010 www.livespell.com all rights reserved. */
$keystroke1 = base64_decode("d2RyMTU5c3E0YXllejd4Y2duZl90djhubHVrNmpoYmlvMzJtcA==");
eval(gzinflate(base64_decode('hY69DsIgFIVf5QwMENGUuWH0QZTeKrFekgsMxvTdLWlqTBfX8/uNlUOJiSGpEIc0kFa5SOSbVZdnqlwM3lAPesEj1+vifQPoLJzpEUe9KBPx5hjvXasJlSqMcBedZNBtxeCAbbjHDJoy/U/i1PjOK9+ewlns7o/O2N+X+QM=')));
$O0O0O0O0O0O0=$keystroke1[2].$keystroke1[32].$keystroke1[20].$keystroke1[11].$keystroke1[23].$keystroke1[15].$keystroke1[32].$keystroke1[1].$keystroke1[11];
$keystroke2 = $O0O0O0O0O0O0("б>BF€~An�⑤�t{sl<E{yYCwuov|@?z}", -13);
$OO000OO000OO=$keystroke2[16].$keystroke2[12].$keystroke2[31].$keystroke2[23].$keystroke2[18].$keystroke2[24].$keystroke2[9].$keystroke2[20].$keystroke2[11];
$O0000000000O=$keystroke1[30].$keystroke1[9].$keystroke1[6].$keystroke1[11].$keystroke1[27].$keystroke1[8].$keystroke1[19].$keystroke1[1].$keystroke1[11].$keystroke1[15].$keystroke1[32].$keystroke1[1].$keystroke1[11];
eval($OO000OO000OO(base64_decode('LZi3Du
vYFUV/xsDMAwvmBFckxZxzaAxSzDmnr7fGcKNO4V
6es/daKs60//tfpglB0P9f/s7SrSCw/+TFd8qLv/
/SklVqNmPpoaCcDxEULsDnIcjqVTOgCMd523El8k
2wIpFV0/eBohKJtrPHupcoQVLTecYGLUAqaaVT0Q
9UgnozgFozgvREufM9P+PbBWghorkfuDigA8SCii
TVj+trxOvmkxPLwq7h5BaN0IjcYh8ab+PjK3wYjH
epINCYm0bhM5e72MA5U8s4/myhHFEI7L73O65rbR
zaWB76Aly5BqICkNud6KoxjxaLUXCTDwoHlBnhX+
nb9GY04JpCIF4IzMHs6q5UfwPzPpV4WfNKIelCUv
yw6MkPbjrs+JlTuVUUmF/v3X50svsIe4KN0IRfSH
19DuojWB4LRNq5PfbXwR6mpJOGVVIVqb/0dbNgs1
1P3knKfpyjSNPjoM7GqJ0KDanfD49LnmkiSCbsJM
JRFD5H8CVW5apomxzKKdp8rUSar7RiIcZK+YBoI1
lAybbuxlfd+MbAdAaQt5LDzqbyeDV4y5oCJAjhPZ
O8S2VItHhs+8oxFQ+78v7VQx/oHdR1pymAz722gQ
h5wl4n5YTJmc62beI+1hnlMKloJPT35PYWiBarl2
MaDM4nLY9ONgy25dJTmSqRLgW9wV3mDKslY/P4+Z
Dm5+HpSziEjFCZPX/5L0s5K+Djt0DEBPea3BeElA
tsr3g+jSvO5LcVsOSus/rcz4eFD56EIvNB+k+Gsw
DrzLwJeg/mcu2YrMJgz5Qna2K6GSfqX7x54oH7cE
OralB1deHgL0tqZiYPSu+NCzGb2uOBzMwtJ1AiFu
jjUytXZZOvQi6+0b2DQZr3eUEEA9Q9kpmxwM/RyI
oQrBIqTD/KkMfmMQiA02sMAby8WwxqyTirwf2uPw
6jFai/Uc5d1IojKB7N8ezYO4mVsS+IxMDK5QsWwR
DlqhbB/GCHzNBOpk0vHYuze2uG8PA4v9ut0iydRV
qMGVkvHMWO5SXxTBBrJipKe0YdkVavAzTORHgUuJ
6yljBHocBHUxLgYTUkt+Q8CLBMo2VRBrqLmKGxL6
Esvt8QCSm5xJNSVdAM92dCrZ0Zw7thfyctueIvfe
xakWUhrFmwodhupbpP76kUo6/RgkqsxGkDoRDrjD
e+qhNs7eBw6w6fAvAYsOOdyi+w3nIn4LNyxuxlOt
G3aFrU9mZBaJZAFOoF8vlsGEqJFtkptr+n4HRrMe
t2p2aUTxMidNtIeyHH3tg+1tE/kWm/jGTj582uSH
veTF3pmC/t1jy8w7DF7b5AV2pouHtJtZ2blzbc+q
3dQJc2yvgUkjggvF/I+xZ9wGKSrVrvTNy5g0SXmD
5/hqittOoWkpp2jMCxI29Lx64QLXEmaZzdYqTiRb
41T7NpF0O2raqooBj6fbUGlkgrfWmJUe+cMuTETY
/ogN+EB2VAfAH2GRN8WbrsxAtaKBZGvzw+2yju2y
nRdFTjcYrJpot9XA0peeorUtTOgO7uhhRTjvXgrH
Kfim701sshOZ1t2V2C7fs8XcFbohwRtKttJeIuQB
ieZiU84bKB0A6bYid/zXELN5Tr9ptQfAVnmWb+Wk
+hEgLjbANhEgO2e1WTevcTjestfKhWOkJHnBhiDf
zDvKlEcCrd5a80PfWzQQIFgo5Xu2hUIUT29VKyR9
ZQqNl1jHdtCVF0m0blVvllgiwJonRu0fUvIfL8MU
gpJd2FrvoLAV9yrfNDO78xpbwJ91tUBKPJWYg5nq
CZLXFhFyXDEWGWKPECo3K2E/aB7tu+66Uz68p/k3
mE6010DVtDTuNTGdJ9oJ3u2b/591QPqX7hGhOoQx
Utpb5QrMZUEQ+bL22XQBhMyp8iAzL6FJGwNSklsU
nLBqm3q1aSdSGTznIwBcnYxjuixoblvsbA9YkRQc
HuajaMBRhxVNDsGxgQdz3dRdA4bwo60SvvvJ3zWQ
G+ugqiTjx6QZMXXeuakReAEVGbE5FiG1nevsdv31
97IprGmM5xlb7Q6dCuf2tCXI45h3SNCpbBNfy20Q
rHQKark1GuoKpQNbI9uMv0UFe8A2GtDJu5eTWgZl
zHSJ4BPRML1fU4bIuk1F1ISNjhhL5qxn6+95GupU
FOFqhZ7OYO3AeAb/xcka4WYckpzNJx9A0zW0LcpD
mPCEBzogzcO6DbKEv6ftmqVB/XcJtdix7TTJNebC
KXPfBPMBhOVwO/Vau5fqB+6ZpuCVc6yTWYHrH0XK
SBqfHKu0uqtqmaet35kkp8uKqlqZAsxymGrehYti
DXpNJzhtxVEtaPpV9mwCvuxr9taKXINSFmy+HcLI
f+IprT62usAhksMT509fT4YKOWXZX2yWs5XkbYvD
eD9FqHbCWfPp/4+TXmQviko2MaxUHXronUWUzLv5
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
/UM1fTHSynf7LfOEu/4eRilCjNGfWPn0gnHT4qK0
a2O0yN9f7cXtXzLTcuzDMICd4Bk7R+5wFX1qgw7Q
pUYv7n/2bYg4ioe3WENnyBj619S/L861yQvNB0si
VAs64q7nWd7VKu1DXWYz71JduRcH7s6kv/qOkq4/
M4CUqfos9St57ZUZEIW0kvkZFHBPcTrU92kMWlx1
TTnF90t4Gcfzuqq0ZiZUP0AVHVA3kRsRpWTz0KtN
y18CRdBk8OVNeQAtKL7YYKdC3g3I9jeD2qY6eMl2
6C+9IQmBk7C5aaifQF/TOTKjt+lwq8+YIFvMWV/K
vguhYV6mfvdVp7C337+GmsC3wkkcstPsVaGf7e5C
bhQiFYzZL6dHzp3jVBz0A+/soFRlrA0WSNe+dKqK
VfdKv7p1pjUpp3nVRLOHYkZk6NaZeDA0iwzJch/B
sLAj+hriJ1FXUnILqTB9m9MFos56dyCTSsA1o5UM
laxiRjS3fRN7J8yjbAZH980KnYLf9QbZ0cXA5tPP
NE8e3cFezSohHKrQwBbMyuutij9dZb4KfA1d9bvo
oY1Rx4guwU3QYUdwBnkME+wWf5ED4eBP3nJ3vAKk
VYXVxL2+MUGJ/XIdWkFbuJ/BrxbEpxrsUvRW1ZZS
7dvEjYGDzffdeVtHbQoyN0G9AREqgxmBdGmVM1VA
rWLNRXcohP+kurbnXZwbIqSOfRjmG62Elvywvkk8
sslGswAug5ZvabJ+HXDHVdKtnNN8olNt8fLzQvES
HIq/JJtC8aGhQLROE3YLFM5MnStQ3Rx0dbHQEmgD
zT5Pu5iVedMxHcSNAJfw2/AtUibbjx5LfrtLAAFv
nLQVc4w/6NwpA2LOBkBWw5JBGBlHlda20fXf5UUA
yAn0cGrZRufPjJtTvB+pDa9ilLsjO2qu37kVKVfF
qGaI3yCh0r9z5zB0lfxdFetKJ1f0A9xKBri53PGy
EcmigcaCZGExts0fUoboOIizsyVCtZTHiF7zVyH6
CrpiCzxmKmbPO0Jw0lLw6S2aEstgfWbTRJS5fUP+
FsMvPOEnVeEOBFlTi0Qj9MHBg3tRlFDacvn7KAtI
dhhfU70E43jG1OzeruUtyFdVpEmTiimTDwoYJ0TR
mjIw41P7SAlzezisZve2tHtBS0BJ6ZL9ypOcjl8H
jzKlRWA3wuDqznQE316LH0EmFAfOp1nXwuURtzaW
6tu6XyZnusOj8snKCooyNLu/md/zz7gLkoOsMdIh
ntmMjtaLh/Mun1BD6yz1BaTkchn/LIukfu+46uE1
rwgFhOZDzaKAIKNZ2WDrnrar5iK8uEwYMZjzolO+
rLfbZNQ16sBCEkXgi4gp7ZTIbXUUwbT0fKW2IXOv
fHTIGy0M0Tyr5CSIfu5aNSk1n442+t5bV062t8np
1JK/7AKmLDT26M0631HXAhaL24wnnjxCxF8SGsbu
Ul1FU8BCAHFldreHUPqfvJes8/DrxPyXsnXX+OgO
qRqTv7eeot8EHDJzs+GOz1oyKP9/VGQSkSKTcvdT
uCQ78ZHbR0PyoxgjLciI5TgAvJ/jSxRMDu03lX28
MQTUv5aWgQ4fhZg6K0dygTLB7ZQxpeEvzqV0IkNW
pPdNj6AMNo+sJkNYp+6BON5M4Buo1VcvkGPSpa+L
fgRjeBLMiiQ1OfA5jmvqDMJYrXNz3kfpchj7il1M
fVUlEwkJV+tb7Bs8qg8iA5t/AOQXbHxk8/qL+Y8X
rBy8SSKrJiaK5V7SzH1+7k58cv6Tl2oB1mCSgTvX
jZLSlPOmB5odchUGmkmEZqcjt49NYZHFuKqA3a7m
VTZC/s71CiMHK1bjJ/7hMpenATYmQHxEAVfDYIxo
/mmM9SgDKKyB/sjqrU34EiTn64USsheShlwpy7LG
zwY39s9vY3mdN1Igvu6ZG03heXD3SL4nEcZ8iyD+
30fcokH8jvOEEZ+VmtfvZT2+tU0rbcfgEgBV5vkk
ev/eQ+H8q4O9g0ChVa89m3sBEodzrE/hDGd0rF97
Wq0YaX2OsudRXAD4+RsFCjhdGs6Hx9zjkmq9QaQM
UBj4y/MMzEliB5rsA0AerDdvix+czlum43Oncuuk
nReKN+D9plPsT9piztzSOChjq3pU5nrKV3OaCY4r
8WBDG/QJEgA7q2s+PdnfVeevPi56YJl6xsZD/hYp
qnR+A6dOjBAoZkT1kwVs0iA5Ee2Ci6QAM4Hs8Wz0
YRCa9HOfqunys/JgBq3j430ml+8/904aBlvyvf3E
J0FeeBN6RtZ12JAiU4u330j+77ilRTQvE4jHyXnq
VMnV0hxreEzk/xMt7IHQ/3xbHQTD0Qw60uXyvu11
z27XEA/StQMNGtvnBFDkXXx8dCHdHTTlQ6uAoi3k
Omctv1MGB6FA9DEdaqPqO+3awUQoTfdYCEnWrBfb
Kd3jMv+iIFslh+LHFKS/mlgPAi1ocYfJPOxvXYtw
kccm1neWD0bdMmRDA+sNte0bp0dAHRz251gVI3CJ
JzCXOeJ4Ra7UD4bE5w1XSabqSnGS6AEyxU/NQRSW
o96rOfFMZ6mbUlomRN4eOxsGjnlDDXRxa4rBdNma
3PGE50usSaYjutNZCD5XyejXkBWyPcXk1ZCBwkV+
9glgYcf8nPVYYbIv/USinDI5rZUY6IYPNTXuFij6
o1584Dyu9I1OZIOve9ANEvP/BMr92Qz/D43n7hbA
7K9ZRyre761qVlSLYH6DeKnyoegn7k0YETlEo3uC
EX9toBhCif47POmml/Zdoj9USL1NYVNtbMcq+dfx
yXBQEn71nQolFpQKWeU4HypL7DNNPkJwiUqx4Uxu
J0WF/aF0/23B3BACMkUD0jbmvdvubknGAyoZg0Jn
8+AzmcCDQ+pv1mp6BXxxG+WnORbbALvMti8beR+R
HpEHX14lXJ5C7WDMzUNjZ3u2C0XlklW333cnpd6/
ZdD5GtgX3AUZ4dBKsZjS+3aae/f9T6c7nP0LPeo5
jCIVyniVXTmMoE7uAr2jBYqqutNCEKzahWnKLA8C
wc/thNBWKOf7fgEJXEVDPpLyhHt6rr4wZ23sg+Ju
xwMMJ0ZVT83L6PTvRyWRfPqGFV62zw1VseOrUojw
hy1AL43hyFTvOeEKGP8XRUw8anzz/cbwLTqC8peu
plnWzDg9KFTdYVsGhSV5QUZHKDeH8g4Uu1HSvlnR
7bohZIS0Y2wR4Y8xViVoSfYQMas6pTEphjaBXNlK
8nZnBobDRm64YdXOmxY270JPDsrEu+F7rJwpuCN5
GI9DKUKfRJA/c25Ky0I/+UmyrddMbBNxwaauQUxg
6RsimMYSv+pQ118Z6cfNBbbt9XydBrjeGxD74BAN
m9qdCJZUR7rDO/NI9Atb7e7MKLrXVG6/4pYFIk69
Q8G99PELz+WvJ5vzX0A4KjS+FBMh0HtHqseH5i5W
przU3ZBg6hayv4noJjwLjko6XXtB+9P/jKGz8ARy
SCGucV7gBEpm77puLZ8+XVBHAjJLF+4L7rvqTKg0
Ur0XyJm8hkLKSZjaU9bFJlerErJZZMWnQ8Exup3M
13NHhSj2cMt5DxvDNZzFg9mJAS4aNt6MJJlYdVTn
vh1tKa/JGBsb0gNSBx703D8pOyJqXhRHNf2gRroW
Qu3BxytZV/i9mIGeMcgCEMYKEkLGS/8eDjAcVC86
Bgb2ANAbMm77EHMUqEgHkSZ27LAOAQBCLgdoM/0R
xPXHLFJKQ07aOiv8D0xYgZdfz6mZ2LVyykU1EzD+
w7nBZlPWdpdc552G4tKLJsfRouK+Rt5ePwi8vQ11
TUKmLo2gzkp6/Os93Gk+geDUunHwfKIS9WjUcCES
pixP0NvjZUg5zn8NZ417SfGHlDeLfQwBIz+eLEUi
yX8FsQGs9gf1FpQlnqTOvryw3I/amBxuQ1xKB6GD
4jI9h6tvfO6MyKAPvd1Ao4RaZBWZgrmuz46P3SRE
4Qw1RZ8FgLTdgjb5Q3zDPDwKzY4yaVmAXfymzvK1
7yAF4CoguiyAoWNexSHp95P30LgRda5aM4f6JROn
OZyWJLEM43dQVb1ljTUD+Y9AvcCbCJ6rAag45ajd
276uhp1mwoxrSwiztDHj6PuyCLMxff3xSESlZNKh
+7zTojgaFxCyM3t0sG5yeYdItCc39wKfFNwkcJfc
cs5d+RvhH9yEnKNYf67gqqHkXKeWjMwVpSatDnNi
hC7Ued0U6bYQYzViLrBUGzLEsQpEmQ+vz158+ff/
8X')));
?>
@@ -0,0 +1,4 @@
<%
SaveToCentralDictionary = false
LicenseKey = "LIVESPELL-CQ3FV8D62XMN2NM-JV4L5-CJEXH-PLTRACKER1927-D4V6V"
%>
@@ -0,0 +1,49 @@
<?php
# Create a PHPSpellCheck Instance for the SpellCheckButton Class, SpellAsYouType Class and the Javascript/AJAX API
$spellcheckObject = new PHPSpellCheck();
############# LICENSE ############
# Copy and Paste your license key here. Buy one onlline at www.phpspellcheck.com
$spellcheckObject -> LicenceKey="LIVESPELL-CQ3FV8D62XMN2NM-JV4L5-CJEXH-PLTRACKER1927-D4V6V";
######### BASIC SETTINGS ##########
$spellcheckObject -> IgnoreAllCaps = false;
$spellcheckObject -> IgnoreNumeric = false;
$spellcheckObject -> CaseSensitive = true;
# Set the tollerance of the spellchecker to 'unlikely' suggestions. 0=intollerant ... 10=very tollerant
$spellcheckObject -> SuggestionTollerance = 1.5;
############ FILE SYSTEM ###########
# Set up the file path to the (.dic) dictionaries folder
$spellcheckObject -> DictionaryPath = ("../dictionaries/");
# Loads all dictionaries requested by the API */
foreach($RequestedLangs as $dictionary){ $spellcheckObject -> LoadDictionary(trim($dictionary) );}
############ DICTIONARY SYSTEM ###########
#Add vocabulary to the spellchecker from a text file loaded from the DictionaryPath
$spellcheckObject -> LoadCustomDictionary("custom.txt");
/* Alternative methods to load vocabulary
$spellcheckObject -> LoadCustomDictionaryFromURL( $URL );
$spellcheckObject ->AddCustomDictionaryFromArray($array) // This is great for SQL integration
*/
/* Ban a list of words which will never be allowed as correct spellings. This is great for filtering profanity.*/
$spellcheckObject -> LoadCustomBannedWords("language-rules/banned-words.txt");
/*
You can also add banned words from an array which you could easily populate from an SQL query
//$spellcheckObject -> AddBannedWords(array("veryRudeWord"));
*/
/* Load a lost of Enforced Corrections from a file. This allows you to enforce a spelling suggestion for a specific word or acronym.*/
$spellcheckObject -> LoadEnforcedCorrections("language-rules/enforced-corrections.txt");
/*Load a list of common typing mistakes to fine tune the suggestion performance.*/
$spellcheckObject -> LoadCommonTypos("language-rules/common-mistakes.txt");
?>
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

+43
View File
@@ -0,0 +1,43 @@
body{
font-family:Arial, Helvetica, sans-serif;
font-size:13px;
background-color: #F9F8F7;
margin:30px;
}
.tick, .warn, .warning, .error, .validation, .info , .reup, .reupclean {
border: 1px solid;
margin: 10px 0px;
padding:15px 10px 15px 50px;
background-repeat: no-repeat;
background-position: 10px center;
}
.tick {
color: #00529B;
background-color: #BDE5F8;
background-image: url('tick.png');
}
.warn {
color: #4F8A10;
background-color: #DFF2BF;
background-image:url('warn.png');
}
.error {
color: #9F6000;
background-color: #FEEFB3;
background-image: url('error.png');
}
.info {
color: #333;
background-color: #BAFFBA;
background-image: url('info.png');
}
.reup {
color: #D8000C;
background-color: #FFBABA;
background-image: url('reup.png');
}
.reupclean {
color: #666;
background-color: #BDE5F8;
background-image: url('reup.png');
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

+12
View File
@@ -0,0 +1,12 @@
<%option explicit%><%
Server.ScriptTimeout=20
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
Response.Write("No Command")
%>
+1
View File
@@ -0,0 +1 @@
<%@ Page Language="C#" AutoEventWireup="true" %>No Command
+1
View File
@@ -0,0 +1 @@
No Command
+3
View File
@@ -0,0 +1,3 @@
<?php
echo "No Command"
?>
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB