├── VERSION.TXT ├── img ├── close.gif ├── logo.gif ├── loading.gif └── wmd-buttons.png ├── libraries ├── purifier │ ├── HTMLPurifier │ │ ├── ConfigSchema │ │ │ ├── schema │ │ │ │ ├── info.ini │ │ │ │ ├── Attr.IDBlacklist.txt │ │ │ │ ├── HTML.TidyAdd.txt │ │ │ │ ├── HTML.TidyRemove.txt │ │ │ │ ├── CSS.Proprietary.txt │ │ │ │ ├── Test.ForceNoIconv.txt │ │ │ │ ├── Core.EscapeInvalidTags.txt │ │ │ │ ├── CSS.DefinitionRev.txt │ │ │ │ ├── URI.DefinitionRev.txt │ │ │ │ ├── Attr.AllowedClasses.txt │ │ │ │ ├── HTML.Strict.txt │ │ │ │ ├── CSS.AllowImportant.txt │ │ │ │ ├── HTML.Trusted.txt │ │ │ │ ├── HTML.CustomDoctype.txt │ │ │ │ ├── HTML.XHTML.txt │ │ │ │ ├── Attr.AllowedRev.txt │ │ │ │ ├── Attr.ForbiddenClasses.txt │ │ │ │ ├── URI.DefaultScheme.txt │ │ │ │ ├── URI.DefinitionID.txt │ │ │ │ ├── AutoFormat.Linkify.txt │ │ │ │ ├── Attr.AllowedRel.txt │ │ │ │ ├── Core.Language.txt │ │ │ │ ├── Output.CommentScriptContents.txt │ │ │ │ ├── URI.Disable.txt │ │ │ │ ├── Attr.DefaultInvalidImageAlt.txt │ │ │ │ ├── Attr.DefaultTextDir.txt │ │ │ │ ├── Core.RemoveScriptContents.txt │ │ │ │ ├── URI.DisableResources.txt │ │ │ │ ├── Filter.Custom.txt │ │ │ │ ├── URI.HostBlacklist.txt │ │ │ │ ├── AutoFormat.Custom.txt │ │ │ │ ├── Attr.IDBlacklistRegexp.txt │ │ │ │ ├── HTML.Parent.txt │ │ │ │ ├── Attr.DefaultInvalidImage.txt │ │ │ │ ├── AutoFormat.PurifierLinkify.txt │ │ │ │ ├── Filter.YouTube.txt │ │ │ │ ├── AutoFormat.DisplayLinkURI.txt │ │ │ │ ├── URI.OverrideAllowedSchemes.txt │ │ │ │ ├── HTML.Proprietary.txt │ │ │ │ ├── Cache.SerializerPath.txt │ │ │ │ ├── Core.RemoveInvalidImg.txt │ │ │ │ ├── AutoFormat.PurifierLinkify.DocURL.txt │ │ │ │ ├── Output.Newline.txt │ │ │ │ ├── URI.AllowedSchemes.txt │ │ │ │ ├── AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt │ │ │ │ ├── Cache.DefinitionImpl.txt │ │ │ │ ├── URI.MakeAbsolute.txt │ │ │ │ ├── Core.EscapeInvalidChildren.txt │ │ │ │ ├── Core.CollectErrors.txt │ │ │ │ ├── URI.DisableExternal.txt │ │ │ │ ├── CSS.AllowTricky.txt │ │ │ │ ├── Core.ConvertDocumentToFragment.txt │ │ │ │ ├── HTML.Doctype.txt │ │ │ │ ├── Attr.IDPrefix.txt │ │ │ │ ├── HTML.Attr.Name.UseCDATA.txt │ │ │ │ ├── Attr.DefaultImageAlt.txt │ │ │ │ ├── AutoFormat.RemoveEmpty.RemoveNbsp.txt │ │ │ │ ├── HTML.SafeEmbed.txt │ │ │ │ ├── HTML.MaxImgLength.txt │ │ │ │ ├── Filter.ExtractStyleBlocks.Escaping.txt │ │ │ │ ├── Output.SortAttr.txt │ │ │ │ ├── HTML.SafeObject.txt │ │ │ │ ├── HTML.DefinitionRev.txt │ │ │ │ ├── URI.DisableExternalResources.txt │ │ │ │ ├── Core.EscapeNonASCIICharacters.txt │ │ │ │ ├── Core.MaintainLineNumbers.txt │ │ │ │ ├── Attr.AllowedFrameTargets.txt │ │ │ │ ├── HTML.BlockWrapper.txt │ │ │ │ ├── Core.HiddenElements.txt │ │ │ │ ├── Filter.ExtractStyleBlocks.TidyImpl.txt │ │ │ │ ├── URI.MungeResources.txt │ │ │ │ ├── CSS.AllowedProperties.txt │ │ │ │ ├── CSS.MaxImgLength.txt │ │ │ │ ├── HTML.AllowedAttributes.txt │ │ │ │ ├── Attr.EnableID.txt │ │ │ │ ├── Attr.IDPrefixLocal.txt │ │ │ │ ├── URI.Base.txt │ │ │ │ ├── Core.DirectLexLineNumberSyncInterval.txt │ │ │ │ ├── HTML.CoreModules.txt │ │ │ │ ├── HTML.TidyLevel.txt │ │ │ │ ├── Core.AggressivelyFixLt.txt │ │ │ │ ├── HTML.AllowedElements.txt │ │ │ │ ├── Core.ColorKeywords.txt │ │ │ │ ├── HTML.AllowedModules.txt │ │ │ │ ├── Core.Encoding.txt │ │ │ │ ├── HTML.ForbiddenElements.txt │ │ │ │ ├── URI.Host.txt │ │ │ │ ├── HTML.Allowed.txt │ │ │ │ ├── Output.TidyFormat.txt │ │ │ │ ├── HTML.ForbiddenAttributes.txt │ │ │ │ ├── Attr.ClassUseCDATA.txt │ │ │ │ ├── URI.MungeSecretKey.txt │ │ │ │ ├── Core.LexerImpl.txt │ │ │ │ ├── AutoFormat.AutoParagraph.txt │ │ │ │ ├── Filter.ExtractStyleBlocks.Scope.txt │ │ │ │ └── HTML.DefinitionID.txt │ │ │ ├── Exception.php │ │ │ ├── Interchange │ │ │ │ └── Id.php │ │ │ ├── Interchange.php │ │ │ └── Builder │ │ │ │ └── ConfigSchema.php │ │ ├── DefinitionCache │ │ │ ├── Serializer │ │ │ │ ├── README │ │ │ │ └── URI │ │ │ │ │ └── 4.0.0,05c766101e813c246917b022f97b5e6e,1.ser │ │ │ ├── Null.php │ │ │ ├── Decorator │ │ │ │ ├── Template.php.in │ │ │ │ ├── Cleanup.php │ │ │ │ └── Memory.php │ │ │ └── Decorator.php │ │ ├── Printer │ │ │ ├── ConfigForm.js │ │ │ ├── ConfigForm.css │ │ │ └── CSSDefinition.php │ │ ├── Token │ │ │ ├── Empty.php │ │ │ ├── Start.php │ │ │ ├── End.php │ │ │ ├── Comment.php │ │ │ └── Text.php │ │ ├── Language │ │ │ ├── classes │ │ │ │ └── en-x-test.php │ │ │ └── messages │ │ │ │ ├── en-x-test.php │ │ │ │ └── en-x-testmini.php │ │ ├── VarParserException.php │ │ ├── Exception.php │ │ ├── URIScheme │ │ │ ├── https.php │ │ │ ├── http.php │ │ │ ├── nntp.php │ │ │ ├── news.php │ │ │ ├── mailto.php │ │ │ └── ftp.php │ │ ├── HTMLModule │ │ │ ├── Tidy │ │ │ │ ├── Transitional.php │ │ │ │ ├── XHTML.php │ │ │ │ ├── Strict.php │ │ │ │ ├── Name.php │ │ │ │ └── Proprietary.php │ │ │ ├── XMLCommonAttributes.php │ │ │ ├── NonXMLCommonAttributes.php │ │ │ ├── Target.php │ │ │ ├── Name.php │ │ │ ├── CommonAttributes.php │ │ │ ├── StyleAttribute.php │ │ │ ├── Hypertext.php │ │ │ ├── Proprietary.php │ │ │ ├── Bdo.php │ │ │ ├── Ruby.php │ │ │ ├── SafeEmbed.php │ │ │ ├── Edit.php │ │ │ ├── List.php │ │ │ ├── Image.php │ │ │ ├── Object.php │ │ │ └── Presentation.php │ │ ├── AttrDef │ │ │ ├── Text.php │ │ │ ├── URI │ │ │ │ ├── Email.php │ │ │ │ ├── Email │ │ │ │ │ └── SimpleCheck.php │ │ │ │ └── IPv4.php │ │ │ ├── CSS │ │ │ │ ├── AlphaValue.php │ │ │ │ ├── DenyElementDecorator.php │ │ │ │ ├── TextDecoration.php │ │ │ │ ├── Percentage.php │ │ │ │ ├── Composite.php │ │ │ │ ├── Border.php │ │ │ │ ├── ImportantDecorator.php │ │ │ │ └── Length.php │ │ │ ├── HTML │ │ │ │ ├── FrameTarget.php │ │ │ │ ├── Bool.php │ │ │ │ ├── Color.php │ │ │ │ ├── Length.php │ │ │ │ ├── MultiLength.php │ │ │ │ ├── Class.php │ │ │ │ ├── Pixels.php │ │ │ │ └── LinkTypes.php │ │ │ └── Switch.php │ │ ├── URIFilter │ │ │ ├── DisableExternalResources.php │ │ │ ├── HostBlacklist.php │ │ │ └── DisableExternal.php │ │ ├── AttrTransform │ │ │ ├── ScriptRequired.php │ │ │ ├── SafeEmbed.php │ │ │ ├── SafeObject.php │ │ │ ├── Textarea.php │ │ │ ├── BdoDir.php │ │ │ ├── Border.php │ │ │ ├── BgColor.php │ │ │ ├── Background.php │ │ │ ├── Name.php │ │ │ ├── Length.php │ │ │ ├── Lang.php │ │ │ ├── NameSync.php │ │ │ ├── BoolToCSS.php │ │ │ ├── ImgSpace.php │ │ │ ├── ImgRequired.php │ │ │ ├── Input.php │ │ │ └── EnumToCSS.php │ │ ├── Strategy │ │ │ ├── Core.php │ │ │ ├── Composite.php │ │ │ └── ValidateAttributes.php │ │ ├── ChildDef │ │ │ ├── Empty.php │ │ │ ├── Optional.php │ │ │ └── Chameleon.php │ │ ├── VarParser │ │ │ └── Native.php │ │ ├── Strategy.php │ │ ├── Injector │ │ │ ├── DisplayLinkURI.php │ │ │ ├── PurifierLinkify.php │ │ │ └── Linkify.php │ │ ├── PropertyListIterator.php │ │ ├── Definition.php │ │ ├── TagTransform │ │ │ └── Simple.php │ │ ├── StringHash.php │ │ ├── TagTransform.php │ │ ├── URIScheme.php │ │ ├── EntityLookup.php │ │ ├── URIFilter.php │ │ ├── Filter.php │ │ ├── Filter │ │ │ └── YouTube.php │ │ ├── ChildDef.php │ │ ├── Doctype.php │ │ └── IDAccumulator.php │ ├── HTMLPurifier.path.php │ ├── HTMLPurifier.auto.php │ ├── HTMLPurifier.func.php │ ├── HTMLPurifier.autoload.php │ └── HTMLPurifier.kses.php ├── helper.class.php └── template.class.php ├── views ├── users │ ├── view.php │ ├── logout.php │ ├── index.php │ ├── login.php │ ├── edit.php │ └── register.php ├── comments │ └── post.php ├── helpers │ └── getuser.php ├── questions │ └── cache.php ├── tags │ └── index.php └── answers │ └── edit.php ├── .settings └── org.eclipse.php.core.prefs ├── TODO.TXT ├── .buildpath ├── .htaccess ├── js └── prettify │ ├── lang-proto.js │ ├── lang-lua.js │ ├── lang-wiki.js │ ├── lang-hs.js │ ├── lang-lisp.js │ ├── lang-css.js │ ├── lang-ml.js │ ├── lang-sql.js │ └── lang-vb.js ├── controllers ├── helpers.php └── tags.php ├── README.TXT ├── db ├── 2.txt └── 3.txt ├── .project ├── css └── prettify.css ├── web.config ├── config.default.php └── index.php /VERSION.TXT: -------------------------------------------------------------------------------- 1 | 1.0 -------------------------------------------------------------------------------- /img/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anantgarg/Qwench/HEAD/img/close.gif -------------------------------------------------------------------------------- /img/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anantgarg/Qwench/HEAD/img/logo.gif -------------------------------------------------------------------------------- /img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anantgarg/Qwench/HEAD/img/loading.gif -------------------------------------------------------------------------------- /img/wmd-buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anantgarg/Qwench/HEAD/img/wmd-buttons.png -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/info.ini: -------------------------------------------------------------------------------- 1 | name = "HTML Purifier" 2 | 3 | ; vim: et sw=4 sts=4 4 | -------------------------------------------------------------------------------- /views/users/view.php: -------------------------------------------------------------------------------- 1 |

2 | 3 |

Points:

4 | -------------------------------------------------------------------------------- /.settings/org.eclipse.php.core.prefs: -------------------------------------------------------------------------------- 1 | #Sat Oct 19 18:13:01 WAT 2013 2 | eclipse.preferences.version=1 3 | include_path=0;/qwench_new 4 | -------------------------------------------------------------------------------- /views/users/logout.php: -------------------------------------------------------------------------------- 1 |

You have successfully logged out

2 | -------------------------------------------------------------------------------- /TODO.TXT: -------------------------------------------------------------------------------- 1 | 1 Visit the installation process, make more precise and show errors, rather than assume 2 | everything works fine 3 | 4 | 2 Edit all forms and add placeholders -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/DefinitionCache/Serializer/README: -------------------------------------------------------------------------------- 1 | This is a dummy file to prevent Git from ignoring this empty directory. 2 | 3 | vim: et sw=4 sts=4 4 | -------------------------------------------------------------------------------- /.buildpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /views/comments/post.php: -------------------------------------------------------------------------------- 1 |
2 | - 3 |
-------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | 2 | RewriteEngine On 3 | RewriteCond %{REQUEST_FILENAME} !-d 4 | RewriteCond %{REQUEST_FILENAME} !-f 5 | RewriteRule ^(.*)$ index.php/$1 [QSA,L] 6 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt: -------------------------------------------------------------------------------- 1 | Attr.IDBlacklist 2 | TYPE: list 3 | DEFAULT: array() 4 | DESCRIPTION: Array of IDs not allowed in the document. 5 | --# vim: et sw=4 sts=4 6 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Printer/ConfigForm.js: -------------------------------------------------------------------------------- 1 | function toggleWriteability(id_of_patient, checked) { 2 | document.getElementById(id_of_patient).disabled = checked; 3 | } 4 | 5 | // vim: et sw=4 sts=4 6 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Token/Empty.php: -------------------------------------------------------------------------------- 1 | 2 | | 3 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt: -------------------------------------------------------------------------------- 1 | HTML.TidyAdd 2 | TYPE: lookup 3 | VERSION: 2.0.0 4 | DEFAULT: array() 5 | --DESCRIPTION-- 6 | 7 | Fixes to add to the default set of Tidy fixes as per your level. 8 | --# vim: et sw=4 sts=4 9 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Language/classes/en-x-test.php: -------------------------------------------------------------------------------- 1 | 8 | Whether or not to allow safe, proprietary CSS values. 9 |

10 | --# vim: et sw=4 sts=4 11 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Language/messages/en-x-test.php: -------------------------------------------------------------------------------- 1 | 'HTML Purifier X' 9 | ); 10 | 11 | // vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt: -------------------------------------------------------------------------------- 1 | Test.ForceNoIconv 2 | TYPE: bool 3 | DEFAULT: false 4 | --DESCRIPTION-- 5 | When set to true, HTMLPurifier_Encoder will act as if iconv does not exist 6 | and use only pure PHP implementations. 7 | --# vim: et sw=4 sts=4 8 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt: -------------------------------------------------------------------------------- 1 | Core.EscapeInvalidTags 2 | TYPE: bool 3 | DEFAULT: false 4 | --DESCRIPTION-- 5 | When true, invalid tags will be written back to the document as plain text. 6 | Otherwise, they are silently dropped. 7 | --# vim: et sw=4 sts=4 8 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/URIScheme/https.php: -------------------------------------------------------------------------------- 1 | 8 | Revision identifier for your custom definition. See 9 | %HTML.DefinitionRev for details. 10 |

11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt: -------------------------------------------------------------------------------- 1 | URI.DefinitionRev 2 | TYPE: int 3 | VERSION: 2.1.0 4 | DEFAULT: 1 5 | --DESCRIPTION-- 6 | 7 |

8 | Revision identifier for your custom definition. See 9 | %HTML.DefinitionRev for details. 10 |

11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier.path.php: -------------------------------------------------------------------------------- 1 | "> 2 | 3 |
Cached Version of
-------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt: -------------------------------------------------------------------------------- 1 | HTML.Strict 2 | TYPE: bool 3 | VERSION: 1.3.0 4 | DEFAULT: false 5 | DEPRECATED-VERSION: 1.7.0 6 | DEPRECATED-USE: HTML.Doctype 7 | --DESCRIPTION-- 8 | Determines whether or not to use Transitional (loose) or Strict rulesets. 9 | --# vim: et sw=4 sts=4 10 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt: -------------------------------------------------------------------------------- 1 | CSS.AllowImportant 2 | TYPE: bool 3 | DEFAULT: false 4 | VERSION: 3.1.0 5 | --DESCRIPTION-- 6 | This parameter determines whether or not !important cascade modifiers should 7 | be allowed in user CSS. If false, !important will stripped. 8 | --# vim: et sw=4 sts=4 9 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt: -------------------------------------------------------------------------------- 1 | HTML.Trusted 2 | TYPE: bool 3 | VERSION: 2.0.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | Indicates whether or not the user input is trusted or not. If the input is 7 | trusted, a more expansive set of allowed tags and attributes will be used. 8 | --# vim: et sw=4 sts=4 9 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt: -------------------------------------------------------------------------------- 1 | HTML.CustomDoctype 2 | TYPE: string/null 3 | VERSION: 2.0.1 4 | DEFAULT: NULL 5 | --DESCRIPTION-- 6 | 7 | A custom doctype for power-users who defined there own document 8 | type. This directive only applies when %HTML.Doctype is blank. 9 | --# vim: et sw=4 sts=4 10 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt: -------------------------------------------------------------------------------- 1 | HTML.XHTML 2 | TYPE: bool 3 | DEFAULT: true 4 | VERSION: 1.1.0 5 | DEPRECATED-VERSION: 1.7.0 6 | DEPRECATED-USE: HTML.Doctype 7 | --DESCRIPTION-- 8 | Determines whether or not output is XHTML 1.0 or HTML 4.01 flavor. 9 | --ALIASES-- 10 | Core.XHTML 11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Language/messages/en-x-testmini.php: -------------------------------------------------------------------------------- 1 | 'HTML Purifier XNone' 10 | ); 11 | 12 | // vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /js/prettify/lang-proto.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.sourceDecorator({keywords:"bool bytes default double enum extend extensions false fixed32 fixed64 float group import int32 int64 max message option optional package repeated required returns rpc service sfixed32 sfixed64 sint32 sint64 string syntax to true uint32 uint64",cStyleComments:true}),["proto"]); 2 | -------------------------------------------------------------------------------- /controllers/helpers.php: -------------------------------------------------------------------------------- 1 | set('user',$result); 12 | return $helper->render(); 13 | } 14 | 15 | -------------------------------------------------------------------------------- /README.TXT: -------------------------------------------------------------------------------- 1 | Qwench 2 | Copyright (c) 2009-2010 Inscripts 3 | 4 | Installation Instructions 5 | ----------------------------------------------- 6 | 7 | 1. Modify config.php as per your site 8 | 2. Run install.php (using your browser) 9 | 3. Done! (Delete install.php) 10 | 4. Register on your new site :) 11 | 12 | ----------------------------------------------- -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier.auto.php: -------------------------------------------------------------------------------- 1 | 7 | Defines through what scheme the output will be served, in order to 8 | select the proper object validator when no scheme information is present. 9 |

10 | --# vim: et sw=4 sts=4 11 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt: -------------------------------------------------------------------------------- 1 | URI.DefinitionID 2 | TYPE: string/null 3 | VERSION: 2.1.0 4 | DEFAULT: NULL 5 | --DESCRIPTION-- 6 | 7 |

8 | Unique identifier for a custom-built URI definition. If you want 9 | to add custom URIFilters, you must specify this value. 10 |

11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrDef/Text.php: -------------------------------------------------------------------------------- 1 | parseCDATA($string); 11 | } 12 | 13 | } 14 | 15 | // vim: et sw=4 sts=4 16 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt: -------------------------------------------------------------------------------- 1 | AutoFormat.Linkify 2 | TYPE: bool 3 | VERSION: 2.0.1 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | 7 |

8 | This directive turns on linkification, auto-linking http, ftp and 9 | https URLs. a tags with the href attribute 10 | must be allowed. 11 |

12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt: -------------------------------------------------------------------------------- 1 | Attr.AllowedRel 2 | TYPE: lookup 3 | VERSION: 1.6.0 4 | DEFAULT: array() 5 | --DESCRIPTION-- 6 | List of allowed forward document relationships in the rel attribute. Common 7 | values may be nofollow or print. By default, this is empty, meaning that no 8 | document relationships are allowed. 9 | --# vim: et sw=4 sts=4 10 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Printer/ConfigForm.css: -------------------------------------------------------------------------------- 1 | 2 | .hp-config {} 3 | 4 | .hp-config tbody th {text-align:right; padding-right:0.5em;} 5 | .hp-config thead, .hp-config .namespace {background:#3C578C; color:#FFF;} 6 | .hp-config .namespace th {text-align:center;} 7 | .hp-config .verbose {display:none;} 8 | .hp-config .controls {text-align:center;} 9 | 10 | /* vim: et sw=4 sts=4 */ 11 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.Language.txt: -------------------------------------------------------------------------------- 1 | Core.Language 2 | TYPE: string 3 | VERSION: 2.0.0 4 | DEFAULT: 'en' 5 | --DESCRIPTION-- 6 | 7 | ISO 639 language code for localizable things in HTML Purifier to use, 8 | which is mainly error reporting. There is currently only an English (en) 9 | translation, so this directive is currently useless. 10 | --# vim: et sw=4 sts=4 11 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt: -------------------------------------------------------------------------------- 1 | Output.CommentScriptContents 2 | TYPE: bool 3 | VERSION: 2.0.0 4 | DEFAULT: true 5 | --DESCRIPTION-- 6 | Determines whether or not HTML Purifier should attempt to fix up the 7 | contents of script tags for legacy browsers with comments. 8 | --ALIASES-- 9 | Core.CommentScriptContents 10 | --# vim: et sw=4 sts=4 11 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt: -------------------------------------------------------------------------------- 1 | URI.Disable 2 | TYPE: bool 3 | VERSION: 1.3.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | 7 |

8 | Disables all URIs in all forms. Not sure why you'd want to do that 9 | (after all, the Internet's founded on the notion of a hyperlink). 10 |

11 | 12 | --ALIASES-- 13 | Attr.DisableURI 14 | --# vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt: -------------------------------------------------------------------------------- 1 | Attr.DefaultInvalidImageAlt 2 | TYPE: string 3 | DEFAULT: 'Invalid image' 4 | --DESCRIPTION-- 5 | This is the content of the alt tag of an invalid image if the user had not 6 | previously specified an alt attribute. It has no effect when the image is 7 | valid but there was no alt attribute present. 8 | --# vim: et sw=4 sts=4 9 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php: -------------------------------------------------------------------------------- 1 | array( 9 | 'xml:lang' => 'LanguageCode', 10 | ) 11 | ); 12 | } 13 | 14 | // vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrDef/URI/Email.php: -------------------------------------------------------------------------------- 1 | 9 | This directive enables HTML Purifier to remove not only script tags 10 | but all of their contents. 11 |

12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php: -------------------------------------------------------------------------------- 1 | array( 9 | 'lang' => 'LanguageCode', 10 | ) 11 | ); 12 | } 13 | 14 | // vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt: -------------------------------------------------------------------------------- 1 | URI.DisableResources 2 | TYPE: bool 3 | VERSION: 1.3.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | 7 |

8 | Disables embedding resources, essentially meaning no pictures. You can 9 | still link to them though. See %URI.DisableExternalResources for why 10 | this might be a good idea. 11 |

12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /views/tags/index.php: -------------------------------------------------------------------------------- 1 |

Tags

2 | 3 |
4 | 5 |
6 | 11 |
-------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt: -------------------------------------------------------------------------------- 1 | Filter.Custom 2 | TYPE: list 3 | VERSION: 3.1.0 4 | DEFAULT: array() 5 | --DESCRIPTION-- 6 |

7 | This directive can be used to add custom filters; it is nearly the 8 | equivalent of the now deprecated HTMLPurifier->addFilter() 9 | method. Specify an array of concrete implementations. 10 |

11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt: -------------------------------------------------------------------------------- 1 | URI.HostBlacklist 2 | TYPE: list 3 | VERSION: 1.3.0 4 | DEFAULT: array() 5 | --DESCRIPTION-- 6 | List of strings that are forbidden in the host of any URI. Use it to kill 7 | domain names of spam, etc. Note that it will catch anything in the domain, 8 | so moo.com will catch moo.com.example.com. 9 | --# vim: et sw=4 sts=4 10 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt: -------------------------------------------------------------------------------- 1 | AutoFormat.Custom 2 | TYPE: list 3 | VERSION: 2.0.1 4 | DEFAULT: array() 5 | --DESCRIPTION-- 6 | 7 |

8 | This directive can be used to add custom auto-format injectors. 9 | Specify an array of injector names (class name minus the prefix) 10 | or concrete implementations. Injector class must exist. 11 |

12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/DefinitionCache/Serializer/URI/4.0.0,05c766101e813c246917b022f97b5e6e,1.ser: -------------------------------------------------------------------------------- 1 | O:26:"HTMLPurifier_URIDefinition":7:{s:4:"type";s:3:"URI";s:10:"*filters";a:1:{s:13:"HostBlacklist";O:36:"HTMLPurifier_URIFilter_HostBlacklist":3:{s:4:"name";s:13:"HostBlacklist";s:12:"*blacklist";a:0:{}s:4:"post";b:0;}}s:14:"*postFilters";a:0:{}s:4:"base";N;s:4:"host";N;s:13:"defaultScheme";s:4:"http";s:5:"setup";b:1;} -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt: -------------------------------------------------------------------------------- 1 | Attr.IDBlacklistRegexp 2 | TYPE: string/null 3 | VERSION: 1.6.0 4 | DEFAULT: NULL 5 | --DESCRIPTION-- 6 | PCRE regular expression to be matched against all IDs. If the expression is 7 | matches, the ID is rejected. Use this with care: may cause significant 8 | degradation. ID matching is done after all other validation. 9 | --# vim: et sw=4 sts=4 10 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt: -------------------------------------------------------------------------------- 1 | HTML.Parent 2 | TYPE: string 3 | VERSION: 1.3.0 4 | DEFAULT: 'div' 5 | --DESCRIPTION-- 6 | 7 |

8 | String name of element that HTML fragment passed to library will be 9 | inserted in. An interesting variation would be using span as the 10 | parent element, meaning that only inline tags would be allowed. 11 |

12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt: -------------------------------------------------------------------------------- 1 | Attr.DefaultInvalidImage 2 | TYPE: string 3 | DEFAULT: '' 4 | --DESCRIPTION-- 5 | This is the default image an img tag will be pointed to if it does not have 6 | a valid src attribute. In future versions, we may allow the image tag to 7 | be removed completely, but due to design issues, this is not possible right 8 | now. 9 | --# vim: et sw=4 sts=4 10 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt: -------------------------------------------------------------------------------- 1 | AutoFormat.PurifierLinkify 2 | TYPE: bool 3 | VERSION: 2.0.1 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | 7 |

8 | Internal auto-formatter that converts configuration directives in 9 | syntax %Namespace.Directive to links. a tags 10 | with the href attribute must be allowed. 11 |

12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt: -------------------------------------------------------------------------------- 1 | Filter.YouTube 2 | TYPE: bool 3 | VERSION: 3.1.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 |

7 | This directive enables YouTube video embedding in HTML Purifier. Check 8 | this document 9 | on embedding videos for more information on what this filter does. 10 |

11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt: -------------------------------------------------------------------------------- 1 | AutoFormat.DisplayLinkURI 2 | TYPE: bool 3 | VERSION: 3.2.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 |

7 | This directive turns on the in-text display of URIs in <a> tags, and disables 8 | those links. For example, example becomes 9 | example (http://example.com). 10 |

11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt: -------------------------------------------------------------------------------- 1 | URI.OverrideAllowedSchemes 2 | TYPE: bool 3 | DEFAULT: true 4 | --DESCRIPTION-- 5 | If this is set to true (which it is by default), you can override 6 | %URI.AllowedSchemes by simply registering a HTMLPurifier_URIScheme to the 7 | registry. If false, you will also have to update that directive in order 8 | to add more schemes. 9 | --# vim: et sw=4 sts=4 10 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt: -------------------------------------------------------------------------------- 1 | HTML.Proprietary 2 | TYPE: bool 3 | VERSION: 3.1.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 |

7 | Whether or not to allow proprietary elements and attributes in your 8 | documents, as per HTMLPurifier_HTMLModule_Proprietary. 9 | Warning: This can cause your documents to stop 10 | validating! 11 |

12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt: -------------------------------------------------------------------------------- 1 | Cache.SerializerPath 2 | TYPE: string/null 3 | VERSION: 2.0.0 4 | DEFAULT: NULL 5 | --DESCRIPTION-- 6 | 7 |

8 | Absolute path with no trailing slash to store serialized definitions in. 9 | Default is within the 10 | HTML Purifier library inside DefinitionCache/Serializer. This 11 | path must be writable by the webserver. 12 |

13 | --# vim: et sw=4 sts=4 14 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt: -------------------------------------------------------------------------------- 1 | Core.RemoveInvalidImg 2 | TYPE: bool 3 | DEFAULT: true 4 | VERSION: 1.3.0 5 | --DESCRIPTION-- 6 | 7 |

8 | This directive enables pre-emptive URI checking in img 9 | tags, as the attribute validation strategy is not authorized to 10 | remove elements from the document. Revert to pre-1.3.0 behavior by setting to false. 11 |

12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php: -------------------------------------------------------------------------------- 1 | Users 2 | 3 |
4 | 5 |
6 | 11 |
-------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt: -------------------------------------------------------------------------------- 1 | AutoFormat.PurifierLinkify.DocURL 2 | TYPE: string 3 | VERSION: 2.0.1 4 | DEFAULT: '#%s' 5 | ALIASES: AutoFormatParam.PurifierLinkifyDocURL 6 | --DESCRIPTION-- 7 |

8 | Location of configuration documentation to link to, let %s substitute 9 | into the configuration's namespace and directive names sans the percent 10 | sign. 11 |

12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /db/2.txt: -------------------------------------------------------------------------------- 1 | ALTER TABLE `users` ADD COLUMN `name` VARCHAR(255) NOT NULL AFTER `password`, 2 | ADD COLUMN `email` VARCHAR(255) NOT NULL AFTER `name`, 3 | ADD COLUMN `points` INTEGER UNSIGNED NOT NULL AFTER `email`, 4 | ADD COLUMN `moderator` INTEGER UNSIGNED NOT NULL AFTER `points`; 5 | ALTER TABLE `users` DROP COLUMN `username`; 6 | 7 | ALTER TABLE `users` ADD COLUMN `created` DATETIME NOT NULL AFTER `moderator`, 8 | ADD COLUMN `lastactivity` DATETIME NOT NULL AFTER `created`; 9 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/URIFilter/DisableExternalResources.php: -------------------------------------------------------------------------------- 1 | get('EmbeddedURI', true)) return true; 8 | return parent::filter($uri, $config, $context); 9 | } 10 | } 11 | 12 | // vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt: -------------------------------------------------------------------------------- 1 | Output.Newline 2 | TYPE: string/null 3 | VERSION: 2.0.1 4 | DEFAULT: NULL 5 | --DESCRIPTION-- 6 | 7 |

8 | Newline string to format final output with. If left null, HTML Purifier 9 | will auto-detect the default newline type of the system and use that; 10 | you can manually override it here. Remember, \r\n is Windows, \r 11 | is Mac, and \n is Unix. 12 |

13 | --# vim: et sw=4 sts=4 14 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt: -------------------------------------------------------------------------------- 1 | URI.AllowedSchemes 2 | TYPE: lookup 3 | --DEFAULT-- 4 | array ( 5 | 'http' => true, 6 | 'https' => true, 7 | 'mailto' => true, 8 | 'ftp' => true, 9 | 'nntp' => true, 10 | 'news' => true, 11 | ) 12 | --DESCRIPTION-- 13 | Whitelist that defines the schemes that a URI is allowed to have. This 14 | prevents XSS attacks from using pseudo-schemes like javascript or mocha. 15 | --# vim: et sw=4 sts=4 16 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/ScriptRequired.php: -------------------------------------------------------------------------------- 1 | 5 | */ 6 | class HTMLPurifier_AttrTransform_ScriptRequired extends HTMLPurifier_AttrTransform 7 | { 8 | public function transform($attr, $config, $context) { 9 | if (!isset($attr['type'])) { 10 | $attr['type'] = 'text/javascript'; 11 | } 12 | return $attr; 13 | } 14 | } 15 | 16 | // vim: et sw=4 sts=4 17 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/SafeEmbed.php: -------------------------------------------------------------------------------- 1 | true, 'th' => true) 5 | --DESCRIPTION-- 6 |

7 | When %AutoFormat.RemoveEmpty and %AutoFormat.RemoveEmpty.RemoveNbsp 8 | are enabled, this directive defines what HTML elements should not be 9 | removede if they have only a non-breaking space in them. 10 |

11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt: -------------------------------------------------------------------------------- 1 | Cache.DefinitionImpl 2 | TYPE: string/null 3 | VERSION: 2.0.0 4 | DEFAULT: 'Serializer' 5 | --DESCRIPTION-- 6 | 7 | This directive defines which method to use when caching definitions, 8 | the complex data-type that makes HTML Purifier tick. Set to null 9 | to disable caching (not recommended, as you will see a definite 10 | performance degradation). 11 | 12 | --ALIASES-- 13 | Core.DefinitionCache 14 | --# vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt: -------------------------------------------------------------------------------- 1 | URI.MakeAbsolute 2 | TYPE: bool 3 | VERSION: 2.1.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | 7 |

8 | Converts all URIs into absolute forms. This is useful when the HTML 9 | being filtered assumes a specific base path, but will actually be 10 | viewed in a different context (and setting an alternate base URI is 11 | not possible). %URI.Base must be set for this directive to work. 12 |

13 | --# vim: et sw=4 sts=4 14 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/SafeObject.php: -------------------------------------------------------------------------------- 1 | " method="post"> 2 | 3 |

Edit Your Answer

4 | 5 |
6 |
7 | 8 |
9 |
10 | 11 |

12 | 13 | 14 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/Textarea.php: -------------------------------------------------------------------------------- 1 | 5 | */ 6 | class HTMLPurifier_AttrTransform_Textarea extends HTMLPurifier_AttrTransform 7 | { 8 | 9 | public function transform($attr, $config, $context) { 10 | // Calculated from Firefox 11 | if (!isset($attr['cols'])) $attr['cols'] = '22'; 12 | if (!isset($attr['rows'])) $attr['rows'] = '3'; 13 | return $attr; 14 | } 15 | 16 | } 17 | 18 | // vim: et sw=4 sts=4 19 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt: -------------------------------------------------------------------------------- 1 | Core.CollectErrors 2 | TYPE: bool 3 | VERSION: 2.0.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | 7 | Whether or not to collect errors found while filtering the document. This 8 | is a useful way to give feedback to your users. Warning: 9 | Currently this feature is very patchy and experimental, with lots of 10 | possible error messages not yet implemented. It will not cause any 11 | problems, but it may not help your users either. 12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /views/users/login.php: -------------------------------------------------------------------------------- 1 |
" method="post"> 2 | 3 |

Login

4 | 5 |

E-mail

6 |
7 | 8 |

Password

9 | 10 | 11 |

12 | 13 | 14 |
-------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt: -------------------------------------------------------------------------------- 1 | URI.DisableExternal 2 | TYPE: bool 3 | VERSION: 1.2.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | Disables links to external websites. This is a highly effective anti-spam 7 | and anti-pagerank-leech measure, but comes at a hefty price: nolinks or 8 | images outside of your domain will be allowed. Non-linkified URIs will 9 | still be preserved. If you want to be able to link to subdomains or use 10 | absolute URIs, specify %URI.Host for your website. 11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Token/End.php: -------------------------------------------------------------------------------- 1 | display:none; is considered a tricky property that 10 | will only be allowed if this directive is set to true. 11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt: -------------------------------------------------------------------------------- 1 | Core.ConvertDocumentToFragment 2 | TYPE: bool 3 | DEFAULT: true 4 | --DESCRIPTION-- 5 | 6 | This parameter determines whether or not the filter should convert 7 | input that is a full document with html and body tags to a fragment 8 | of just the contents of a body tag. This parameter is simply something 9 | HTML Purifier can do during an edge-case: for most inputs, this 10 | processing is not necessary. 11 | 12 | --ALIASES-- 13 | Core.AcceptFullDocuments 14 | --# vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/URIScheme/http.php: -------------------------------------------------------------------------------- 1 | userinfo = null; 15 | return true; 16 | } 17 | 18 | } 19 | 20 | // vim: et sw=4 sts=4 21 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt: -------------------------------------------------------------------------------- 1 | HTML.Doctype 2 | TYPE: string/null 3 | DEFAULT: NULL 4 | --DESCRIPTION-- 5 | Doctype to use during filtering. Technically speaking this is not actually 6 | a doctype (as it does not identify a corresponding DTD), but we are using 7 | this name for sake of simplicity. When non-blank, this will override any 8 | older directives like %HTML.XHTML or %HTML.Strict. 9 | --ALLOWED-- 10 | 'HTML 4.01 Transitional', 'HTML 4.01 Strict', 'XHTML 1.0 Transitional', 'XHTML 1.0 Strict', 'XHTML 1.1' 11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /js/prettify/lang-lua.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],["str",/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\s\S]*?(?:\]\1\]|$)|[^\r\n]*)/],["str",/^\[(=*)\[[\s\S]*?(?:\]\1\]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],["pln",/^[a-z_]\w*/i], 2 | ["pun",/^[^\w\t\n\r \xA0][^\w\t\n\r \xA0\"\-\+=]*/]]),["lua"]); 3 | -------------------------------------------------------------------------------- /js/prettify/lang-wiki.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t \xA0a-gi-z0-9]+/,null,"\t \u00a0abcdefgijklmnopqrstuvwxyz0123456789"],["pun",/^[=*~\^\[\]]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],["lit",/^(?:[A-Z][a-z][a-z0-9]+[A-Z][a-z][a-zA-Z0-9]+)\b/],["lang-",/^\{\{\{([\s\S]+?)\}\}\}/],["lang-",/^`([^\r\n`]+)`/],["str",/^https?:\/\/[^\/?#\s]*(?:\/[^?#\s]*)?(?:\?[^#\s]*)?(?:#\S*)?/i],["pln",/^(?:\r\n|[\s\S])[^#=*~^A-Zh\{`\[\r\n]*/]]),["wiki"]); 2 | PR.registerLangHandler(PR.createSimpleLexer([["kwd",/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]); 3 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/URIScheme/nntp.php: -------------------------------------------------------------------------------- 1 | userinfo = null; 14 | $uri->query = null; 15 | return true; 16 | } 17 | 18 | } 19 | 20 | // vim: et sw=4 sts=4 21 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt: -------------------------------------------------------------------------------- 1 | Attr.IDPrefix 2 | TYPE: string 3 | VERSION: 1.2.0 4 | DEFAULT: '' 5 | --DESCRIPTION-- 6 | String to prefix to IDs. If you have no idea what IDs your pages may use, 7 | you may opt to simply add a prefix to all user-submitted ID attributes so 8 | that they are still usable, but will not conflict with core page IDs. 9 | Example: setting the directive to 'user_' will result in a user submitted 10 | 'foo' to become 'user_foo' Be sure to set %HTML.EnableAttrID to true 11 | before using this. 12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt: -------------------------------------------------------------------------------- 1 | HTML.Attr.Name.UseCDATA 2 | TYPE: bool 3 | DEFAULT: false 4 | VERSION: 4.0.0 5 | --DESCRIPTION-- 6 | The W3C specification DTD defines the name attribute to be CDATA, not ID, due 7 | to limitations of DTD. In certain documents, this relaxed behavior is desired, 8 | whether it is to specify duplicate names, or to specify names that would be 9 | illegal IDs (for example, names that begin with a digit.) Set this configuration 10 | directive to true to use the relaxed parsing rules. 11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt: -------------------------------------------------------------------------------- 1 | Attr.DefaultImageAlt 2 | TYPE: string/null 3 | DEFAULT: null 4 | VERSION: 3.2.0 5 | --DESCRIPTION-- 6 | This is the content of the alt tag of an image if the user had not 7 | previously specified an alt attribute. This applies to all images without 8 | a valid alt attribute, as opposed to %Attr.DefaultInvalidImageAlt, which 9 | only applies to invalid images, and overrides in the case of an invalid image. 10 | Default behavior with null is to use the basename of the src tag for the alt. 11 | --# vim: et sw=4 sts=4 12 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | qwench_new 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.validation.validationbuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.dltk.core.scriptbuilder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.php.core.PHPNature 21 | 22 | 23 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/BdoDir.php: -------------------------------------------------------------------------------- 1 | get('Attr.DefaultTextDir'); 14 | return $attr; 15 | } 16 | 17 | } 18 | 19 | // vim: et sw=4 sts=4 20 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt: -------------------------------------------------------------------------------- 1 | AutoFormat.RemoveEmpty.RemoveNbsp 2 | TYPE: bool 3 | VERSION: 4.0.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 |

7 | When enabled, HTML Purifier will treat any elements that contain only 8 | non-breaking spaces as well as regular whitespace as empty, and remove 9 | them when %AutoForamt.RemoveEmpty is enabled. 10 |

11 |

12 | See %AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions for a list of elements 13 | that don't have this behavior applied to them. 14 |

15 | --# vim: et sw=4 sts=4 16 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt: -------------------------------------------------------------------------------- 1 | HTML.SafeEmbed 2 | TYPE: bool 3 | VERSION: 3.1.1 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 |

7 | Whether or not to permit embed tags in documents, with a number of extra 8 | security features added to prevent script execution. This is similar to 9 | what websites like MySpace do to embed tags. Embed is a proprietary 10 | element and will cause your website to stop validating. You probably want 11 | to enable this with %HTML.SafeObject. 12 | Highly experimental. 13 |

14 | --# vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt: -------------------------------------------------------------------------------- 1 | HTML.MaxImgLength 2 | TYPE: int/null 3 | DEFAULT: 1200 4 | VERSION: 3.1.1 5 | --DESCRIPTION-- 6 |

7 | This directive controls the maximum number of pixels in the width and 8 | height attributes in img tags. This is 9 | in place to prevent imagecrash attacks, disable with null at your own risk. 10 | This directive is similar to %CSS.MaxImgLength, and both should be 11 | concurrently edited, although there are 12 | subtle differences in the input format (the HTML max is an integer). 13 |

14 | --# vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/Border.php: -------------------------------------------------------------------------------- 1 | confiscateAttr($attr, 'border'); 11 | // some validation should happen here 12 | $this->prependCSS($attr, "border:{$border_width}px solid;"); 13 | return $attr; 14 | } 15 | 16 | } 17 | 18 | // vim: et sw=4 sts=4 19 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt: -------------------------------------------------------------------------------- 1 | Filter.ExtractStyleBlocks.Escaping 2 | TYPE: bool 3 | VERSION: 3.0.0 4 | DEFAULT: true 5 | ALIASES: Filter.ExtractStyleBlocksEscaping, FilterParam.ExtractStyleBlocksEscaping 6 | --DESCRIPTION-- 7 | 8 |

9 | Whether or not to escape the dangerous characters <, > and & 10 | as \3C, \3E and \26, respectively. This is can be safely set to false 11 | if the contents of StyleBlocks will be placed in an external stylesheet, 12 | where there is no risk of it being interpreted as HTML. 13 |

14 | --# vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt: -------------------------------------------------------------------------------- 1 | Output.SortAttr 2 | TYPE: bool 3 | VERSION: 3.2.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 |

7 | If true, HTML Purifier will sort attributes by name before writing them back 8 | to the document, converting a tag like: <el b="" a="" c="" /> 9 | to <el a="" b="" c="" />. This is a workaround for 10 | a bug in FCKeditor which causes it to swap attributes order, adding noise 11 | to text diffs. If you're not seeing this bug, chances are, you don't need 12 | this directive. 13 |

14 | --# vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Strategy/Core.php: -------------------------------------------------------------------------------- 1 | strategies[] = new HTMLPurifier_Strategy_RemoveForeignElements(); 11 | $this->strategies[] = new HTMLPurifier_Strategy_MakeWellFormed(); 12 | $this->strategies[] = new HTMLPurifier_Strategy_FixNesting(); 13 | $this->strategies[] = new HTMLPurifier_Strategy_ValidateAttributes(); 14 | } 15 | 16 | } 17 | 18 | // vim: et sw=4 sts=4 19 | -------------------------------------------------------------------------------- /js/prettify/lang-hs.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\x0B\x0C\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^\"(?:[^\"\\\n\x0C\r]|\\[\s\S])*(?:\"|$)/,null,'"'],["str",/^\'(?:[^\'\\\n\x0C\r]|\\[^&])\'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+\-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:(?:--+(?:[^\r\n\x0C]*)?)|(?:\{-(?:[^-]|-+[^-\}])*-\}))/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^a-zA-Z0-9\']|$)/, 2 | null],["pln",/^(?:[A-Z][\w\']*\.)*[a-zA-Z][\w\']*/],["pun",/^[^\t\n\x0B\x0C\r a-zA-Z0-9\'\"]+/]]),["hs"]); 3 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt: -------------------------------------------------------------------------------- 1 | HTML.SafeObject 2 | TYPE: bool 3 | VERSION: 3.1.1 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 |

7 | Whether or not to permit object tags in documents, with a number of extra 8 | security features added to prevent script execution. This is similar to 9 | what websites like MySpace do to object tags. You may also want to 10 | enable %HTML.SafeEmbed for maximum interoperability with Internet Explorer, 11 | although embed tags will cause your website to stop validating. 12 | Highly experimental. 13 |

14 | --# vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/URIScheme/news.php: -------------------------------------------------------------------------------- 1 | userinfo = null; 13 | $uri->host = null; 14 | $uri->port = null; 15 | $uri->query = null; 16 | // typecode check needed on path 17 | return true; 18 | } 19 | 20 | } 21 | 22 | // vim: et sw=4 sts=4 23 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/BgColor.php: -------------------------------------------------------------------------------- 1 | confiscateAttr($attr, 'bgcolor'); 13 | // some validation should happen here 14 | 15 | $this->prependCSS($attr, "background-color:$bgcolor;"); 16 | 17 | return $attr; 18 | 19 | } 20 | 21 | } 22 | 23 | // vim: et sw=4 sts=4 24 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/HTMLModule/Target.php: -------------------------------------------------------------------------------- 1 | addBlankElement($name); 15 | $e->attr = array( 16 | 'target' => new HTMLPurifier_AttrDef_HTML_FrameTarget() 17 | ); 18 | } 19 | } 20 | 21 | } 22 | 23 | // vim: et sw=4 sts=4 24 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Token/Comment.php: -------------------------------------------------------------------------------- 1 | data = $data; 17 | $this->line = $line; 18 | $this->col = $col; 19 | } 20 | } 21 | 22 | // vim: et sw=4 sts=4 23 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt: -------------------------------------------------------------------------------- 1 | HTML.DefinitionRev 2 | TYPE: int 3 | VERSION: 2.0.0 4 | DEFAULT: 1 5 | --DESCRIPTION-- 6 | 7 |

8 | Revision identifier for your custom definition specified in 9 | %HTML.DefinitionID. This serves the same purpose: uniquely identifying 10 | your custom definition, but this one does so in a chronological 11 | context: revision 3 is more up-to-date then revision 2. Thus, when 12 | this gets incremented, the cache handling is smart enough to clean 13 | up any older revisions of your definition as well as flush the 14 | cache. 15 |

16 | --# vim: et sw=4 sts=4 17 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier.func.php: -------------------------------------------------------------------------------- 1 | purify($html, $config); 21 | } 22 | 23 | // vim: et sw=4 sts=4 24 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/Background.php: -------------------------------------------------------------------------------- 1 | confiscateAttr($attr, 'background'); 13 | // some validation should happen here 14 | 15 | $this->prependCSS($attr, "background-image:url($background);"); 16 | 17 | return $attr; 18 | 19 | } 20 | 21 | } 22 | 23 | // vim: et sw=4 sts=4 24 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt: -------------------------------------------------------------------------------- 1 | URI.DisableExternalResources 2 | TYPE: bool 3 | VERSION: 1.3.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | Disables the embedding of external resources, preventing users from 7 | embedding things like images from other hosts. This prevents access 8 | tracking (good for email viewers), bandwidth leeching, cross-site request 9 | forging, goatse.cx posting, and other nasties, but also results in a loss 10 | of end-user functionality (they can't directly post a pic they posted from 11 | Flickr anymore). Use it if you don't have a robust user-content moderation 12 | team. 13 | --# vim: et sw=4 sts=4 14 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt: -------------------------------------------------------------------------------- 1 | Core.EscapeNonASCIICharacters 2 | TYPE: bool 3 | VERSION: 1.4.0 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 | This directive overcomes a deficiency in %Core.Encoding by blindly 7 | converting all non-ASCII characters into decimal numeric entities before 8 | converting it to its native encoding. This means that even characters that 9 | can be expressed in the non-UTF-8 encoding will be entity-ized, which can 10 | be a real downer for encodings like Big5. It also assumes that the ASCII 11 | repetoire is available, although this is the case for almost all encodings. 12 | Anyway, use UTF-8! 13 | --# vim: et sw=4 sts=4 14 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt: -------------------------------------------------------------------------------- 1 | Core.MaintainLineNumbers 2 | TYPE: bool/null 3 | VERSION: 2.0.0 4 | DEFAULT: NULL 5 | --DESCRIPTION-- 6 | 7 |

8 | If true, HTML Purifier will add line number information to all tokens. 9 | This is useful when error reporting is turned on, but can result in 10 | significant performance degradation and should not be used when 11 | unnecessary. This directive must be used with the DirectLex lexer, 12 | as the DOMLex lexer does not (yet) support this functionality. 13 | If the value is null, an appropriate value will be selected based 14 | on other configuration. 15 |

16 | --# vim: et sw=4 sts=4 17 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt: -------------------------------------------------------------------------------- 1 | Attr.AllowedFrameTargets 2 | TYPE: lookup 3 | DEFAULT: array() 4 | --DESCRIPTION-- 5 | Lookup table of all allowed link frame targets. Some commonly used link 6 | targets include _blank, _self, _parent and _top. Values should be 7 | lowercase, as validation will be done in a case-sensitive manner despite 8 | W3C's recommendation. XHTML 1.0 Strict does not permit the target attribute 9 | so this directive will have no effect in that doctype. XHTML 1.1 does not 10 | enable the Target module by default, you will have to manually enable it 11 | (see the module documentation for more details.) 12 | --# vim: et sw=4 sts=4 13 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php: -------------------------------------------------------------------------------- 1 | 1.0) $result = '1'; 16 | return $result; 17 | } 18 | 19 | } 20 | 21 | // vim: et sw=4 sts=4 22 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Strategy/Composite.php: -------------------------------------------------------------------------------- 1 | strategies as $strategy) { 18 | $tokens = $strategy->execute($tokens, $config, $context); 19 | } 20 | return $tokens; 21 | } 22 | 23 | } 24 | 25 | // vim: et sw=4 sts=4 26 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php: -------------------------------------------------------------------------------- 1 | valid_values === false) $this->valid_values = $config->get('Attr.AllowedFrameTargets'); 16 | return parent::validate($string, $config, $context); 17 | } 18 | 19 | } 20 | 21 | // vim: et sw=4 sts=4 22 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt: -------------------------------------------------------------------------------- 1 | HTML.BlockWrapper 2 | TYPE: string 3 | VERSION: 1.3.0 4 | DEFAULT: 'p' 5 | --DESCRIPTION-- 6 | 7 |

8 | String name of element to wrap inline elements that are inside a block 9 | context. This only occurs in the children of blockquote in strict mode. 10 |

11 |

12 | Example: by default value, 13 | <blockquote>Foo</blockquote> would become 14 | <blockquote><p>Foo</p></blockquote>. 15 | The <p> tags can be replaced with whatever you desire, 16 | as long as it is a block level element. 17 |

18 | --# vim: et sw=4 sts=4 19 | -------------------------------------------------------------------------------- /controllers/tags.php: -------------------------------------------------------------------------------- 1 | set('count',$result['count']); 10 | 11 | $sql = ("select tag, count(tags_questions.questionid) tagcount from tags, tags_questions where tags.id = tags_questions.tagid group by tagid order by tagcount desc"); 12 | $query = mysql_query($sql); 13 | 14 | $tags = array(); 15 | 16 | while ($result = mysql_fetch_array($query)) { 17 | $tags[] = array ("tag" => $result['tag'], "count" => $result['tagcount']); 18 | } 19 | 20 | $template->set('tags',$tags); 21 | 22 | /* Add Pagination Later */ 23 | } -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/HTMLModule/Name.php: -------------------------------------------------------------------------------- 1 | addBlankElement($name); 12 | $element->attr['name'] = 'CDATA'; 13 | if (!$config->get('HTML.Attr.Name.UseCDATA')) { 14 | $element->attr_transform_post['NameSync'] = new HTMLPurifier_AttrTransform_NameSync(); 15 | } 16 | } 17 | } 18 | 19 | } 20 | 21 | // vim: et sw=4 sts=4 22 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/Name.php: -------------------------------------------------------------------------------- 1 | get('HTML.Attr.Name.UseCDATA')) return $attr; 12 | if (!isset($attr['name'])) return $attr; 13 | $id = $this->confiscateAttr($attr, 'name'); 14 | if ( isset($attr['id'])) return $attr; 15 | $attr['id'] = $id; 16 | return $attr; 17 | } 18 | 19 | } 20 | 21 | // vim: et sw=4 sts=4 22 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt: -------------------------------------------------------------------------------- 1 | Core.HiddenElements 2 | TYPE: lookup 3 | --DEFAULT-- 4 | array ( 5 | 'script' => true, 6 | 'style' => true, 7 | ) 8 | --DESCRIPTION-- 9 | 10 |

11 | This directive is a lookup array of elements which should have their 12 | contents removed when they are not allowed by the HTML definition. 13 | For example, the contents of a script tag are not 14 | normally shown in a document, so if script tags are to be removed, 15 | their contents should be removed to. This is opposed to a b 16 | tag, which defines some presentational changes but does not hide its 17 | contents. 18 |

19 | --# vim: et sw=4 sts=4 20 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt: -------------------------------------------------------------------------------- 1 | Filter.ExtractStyleBlocks.TidyImpl 2 | TYPE: mixed/null 3 | VERSION: 3.1.0 4 | DEFAULT: NULL 5 | ALIASES: FilterParam.ExtractStyleBlocksTidyImpl 6 | --DESCRIPTION-- 7 |

8 | If left NULL, HTML Purifier will attempt to instantiate a csstidy 9 | class to use for internal cleaning. This will usually be good enough. 10 |

11 |

12 | However, for trusted user input, you can set this to false to 13 | disable cleaning. In addition, you can supply your own concrete implementation 14 | of Tidy's interface to use, although I don't know why you'd want to do that. 15 |

16 | --# vim: et sw=4 sts=4 17 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/URIFilter/HostBlacklist.php: -------------------------------------------------------------------------------- 1 | blacklist = $config->get('URI.HostBlacklist'); 9 | return true; 10 | } 11 | public function filter(&$uri, $config, $context) { 12 | foreach($this->blacklist as $blacklisted_host_fragment) { 13 | if (strpos($uri->host, $blacklisted_host_fragment) !== false) { 14 | return false; 15 | } 16 | } 17 | return true; 18 | } 19 | } 20 | 21 | // vim: et sw=4 sts=4 22 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrDef/HTML/Bool.php: -------------------------------------------------------------------------------- 1 | name = $name;} 13 | 14 | public function validate($string, $config, $context) { 15 | if (empty($string)) return false; 16 | return $this->name; 17 | } 18 | 19 | /** 20 | * @param $string Name of attribute 21 | */ 22 | public function make($string) { 23 | return new HTMLPurifier_AttrDef_HTML_Bool($string); 24 | } 25 | 26 | } 27 | 28 | // vim: et sw=4 sts=4 29 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt: -------------------------------------------------------------------------------- 1 | URI.MungeResources 2 | TYPE: bool 3 | VERSION: 3.1.1 4 | DEFAULT: false 5 | --DESCRIPTION-- 6 |

7 | If true, any URI munging directives like %URI.Munge 8 | will also apply to embedded resources, such as <img src="">. 9 | Be careful enabling this directive if you have a redirector script 10 | that does not use the Location HTTP header; all of your images 11 | and other embedded resources will break. 12 |

13 |

14 | Warning: It is strongly advised you use this in conjunction 15 | %URI.MungeSecretKey to mitigate the security risk of an open redirector. 16 |

17 | --# vim: et sw=4 sts=4 18 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ChildDef/Empty.php: -------------------------------------------------------------------------------- 1 | 8 | If HTML Purifier's style attributes set is unsatisfactory for your needs, 9 | you can overload it with your own list of tags to allow. Note that this 10 | method is subtractive: it does its job by taking away from HTML Purifier 11 | usual feature set, so you cannot add an attribute that HTML Purifier never 12 | supported in the first place. 13 |

14 |

15 | Warning: If another directive conflicts with the 16 | elements here, that directive will win and override. 17 |

18 | --# vim: et sw=4 sts=4 19 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt: -------------------------------------------------------------------------------- 1 | CSS.MaxImgLength 2 | TYPE: string/null 3 | DEFAULT: '1200px' 4 | VERSION: 3.1.1 5 | --DESCRIPTION-- 6 |

7 | This parameter sets the maximum allowed length on img tags, 8 | effectively the width and height properties. 9 | Only absolute units of measurement (in, pt, pc, mm, cm) and pixels (px) are allowed. This is 10 | in place to prevent imagecrash attacks, disable with null at your own risk. 11 | This directive is similar to %HTML.MaxImgLength, and both should be 12 | concurrently edited, although there are 13 | subtle differences in the input format (the CSS max is a number with 14 | a unit). 15 |

16 | --# vim: et sw=4 sts=4 17 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier.autoload.php: -------------------------------------------------------------------------------- 1 | 8 | If HTML Purifier's attribute set is unsatisfactory, overload it! 9 | The syntax is "tag.attr" or "*.attr" for the global attributes 10 | (style, id, class, dir, lang, xml:lang). 11 |

12 |

13 | Warning: If another directive conflicts with the 14 | elements here, that directive will win and override. For 15 | example, %HTML.EnableAttrID will take precedence over *.id in this 16 | directive. You must set that directive to true before you can use 17 | IDs at all. 18 |

19 | --# vim: et sw=4 sts=4 20 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/HTMLModule/Tidy/Strict.php: -------------------------------------------------------------------------------- 1 | content_model_type != 'strictblockquote') return parent::getChildDef($def); 17 | return new HTMLPurifier_ChildDef_StrictBlockquote($def->content_model); 18 | } 19 | } 20 | 21 | // vim: et sw=4 sts=4 22 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt: -------------------------------------------------------------------------------- 1 | Attr.EnableID 2 | TYPE: bool 3 | DEFAULT: false 4 | VERSION: 1.2.0 5 | --DESCRIPTION-- 6 | Allows the ID attribute in HTML. This is disabled by default due to the 7 | fact that without proper configuration user input can easily break the 8 | validation of a webpage by specifying an ID that is already on the 9 | surrounding HTML. If you don't mind throwing caution to the wind, enable 10 | this directive, but I strongly recommend you also consider blacklisting IDs 11 | you use (%Attr.IDBlacklist) or prefixing all user supplied IDs 12 | (%Attr.IDPrefix). When set to true HTML Purifier reverts to the behavior of 13 | pre-1.2.0 versions. 14 | --ALIASES-- 15 | HTML.EnableAttrID 16 | --# vim: et sw=4 sts=4 17 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/HTMLModule/CommonAttributes.php: -------------------------------------------------------------------------------- 1 | array( 9 | 0 => array('Style'), 10 | // 'xml:space' => false, 11 | 'class' => 'Class', 12 | 'id' => 'ID', 13 | 'title' => 'CDATA', 14 | ), 15 | 'Lang' => array(), 16 | 'I18N' => array( 17 | 0 => array('Lang'), // proprietary, for xml:lang/lang 18 | ), 19 | 'Common' => array( 20 | 0 => array('Core', 'I18N') 21 | ) 22 | ); 23 | 24 | } 25 | 26 | // vim: et sw=4 sts=4 27 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt: -------------------------------------------------------------------------------- 1 | Attr.IDPrefixLocal 2 | TYPE: string 3 | VERSION: 1.2.0 4 | DEFAULT: '' 5 | --DESCRIPTION-- 6 | Temporary prefix for IDs used in conjunction with %Attr.IDPrefix. If you 7 | need to allow multiple sets of user content on web page, you may need to 8 | have a seperate prefix that changes with each iteration. This way, 9 | seperately submitted user content displayed on the same page doesn't 10 | clobber each other. Ideal values are unique identifiers for the content it 11 | represents (i.e. the id of the row in the database). Be sure to add a 12 | seperator (like an underscore) at the end. Warning: this directive will 13 | not work unless %Attr.IDPrefix is set to a non-empty value! 14 | --# vim: et sw=4 sts=4 15 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/URI.Base.txt: -------------------------------------------------------------------------------- 1 | URI.Base 2 | TYPE: string/null 3 | VERSION: 2.1.0 4 | DEFAULT: NULL 5 | --DESCRIPTION-- 6 | 7 |

8 | The base URI is the URI of the document this purified HTML will be 9 | inserted into. This information is important if HTML Purifier needs 10 | to calculate absolute URIs from relative URIs, such as when %URI.MakeAbsolute 11 | is on. You may use a non-absolute URI for this value, but behavior 12 | may vary (%URI.MakeAbsolute deals nicely with both absolute and 13 | relative paths, but forwards-compatibility is not guaranteed). 14 | Warning: If set, the scheme on this URI 15 | overrides the one specified by %URI.DefaultScheme. 16 |

17 | --# vim: et sw=4 sts=4 18 | -------------------------------------------------------------------------------- /css/prettify.css: -------------------------------------------------------------------------------- 1 | /* Pretty printing styles. Used with prettify.js. */ 2 | 3 | .str { color: #080; } 4 | .kwd { color: #075c70; } 5 | .com { color: #800; } 6 | .typ { color: #606; } 7 | .lit { color: #066; } 8 | .pun { color: #16bae2; } 9 | .pln { color: #000; } 10 | .tag { color: #008; } 11 | .atn { color: #606; } 12 | .atv { color: #080; } 13 | .dec { color: #606; } 14 | pre.prettyprint { } 15 | 16 | @media print { 17 | .str { color: #060; } 18 | .kwd { color: #006; font-weight: bold; } 19 | .com { color: #600; font-style: italic; } 20 | .typ { color: #404; font-weight: bold; } 21 | .lit { color: #044; } 22 | .pun { color: #440; } 23 | .pln { color: #000; } 24 | .tag { color: #006; font-weight: bold; } 25 | .atn { color: #404; } 26 | .atv { color: #060; } 27 | } 28 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php: -------------------------------------------------------------------------------- 1 | " 12 | // that needs more percent encoding to be done 13 | if ($string == '') return false; 14 | $string = trim($string); 15 | $result = preg_match('/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $string); 16 | return $result ? $string : false; 17 | } 18 | 19 | } 20 | 21 | // vim: et sw=4 sts=4 22 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt: -------------------------------------------------------------------------------- 1 | Core.DirectLexLineNumberSyncInterval 2 | TYPE: int 3 | VERSION: 2.0.0 4 | DEFAULT: 0 5 | --DESCRIPTION-- 6 | 7 |

8 | Specifies the number of tokens the DirectLex line number tracking 9 | implementations should process before attempting to resyncronize the 10 | current line count by manually counting all previous new-lines. When 11 | at 0, this functionality is disabled. Lower values will decrease 12 | performance, and this is only strictly necessary if the counting 13 | algorithm is buggy (in which case you should report it as a bug). 14 | This has no effect when %Core.MaintainLineNumbers is disabled or DirectLex is 15 | not being used. 16 |

17 | --# vim: et sw=4 sts=4 18 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt: -------------------------------------------------------------------------------- 1 | HTML.CoreModules 2 | TYPE: lookup 3 | VERSION: 2.0.0 4 | --DEFAULT-- 5 | array ( 6 | 'Structure' => true, 7 | 'Text' => true, 8 | 'Hypertext' => true, 9 | 'List' => true, 10 | 'NonXMLCommonAttributes' => true, 11 | 'XMLCommonAttributes' => true, 12 | 'CommonAttributes' => true, 13 | ) 14 | --DESCRIPTION-- 15 | 16 |

17 | Certain modularized doctypes (XHTML, namely), have certain modules 18 | that must be included for the doctype to be an conforming document 19 | type: put those modules here. By default, XHTML's core modules 20 | are used. You can set this to a blank array to disable core module 21 | protection, but this is not recommended. 22 |

23 | --# vim: et sw=4 sts=4 24 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt: -------------------------------------------------------------------------------- 1 | HTML.TidyLevel 2 | TYPE: string 3 | VERSION: 2.0.0 4 | DEFAULT: 'medium' 5 | --DESCRIPTION-- 6 | 7 |

General level of cleanliness the Tidy module should enforce. 8 | There are four allowed values:

9 |
10 |
none
11 |
No extra tidying should be done
12 |
light
13 |
Only fix elements that would be discarded otherwise due to 14 | lack of support in doctype
15 |
medium
16 |
Enforce best practices
17 |
heavy
18 |
Transform all deprecated elements and attributes to standards 19 | compliant equivalents
20 |
21 | 22 | --ALLOWED-- 23 | 'none', 'light', 'medium', 'heavy' 24 | --# vim: et sw=4 sts=4 25 | -------------------------------------------------------------------------------- /js/prettify/lang-lisp.js: -------------------------------------------------------------------------------- 1 | (function(){var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(/,a,"("],["clo",/^\)/,a,")"],["com",/^;[^\r\n]*/,a,";"],["pln",/^[\t\n\r \xA0]+/,a,"\t\n\r \u00a0"],["str",/^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|cons|defun|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a],["lit",/^[+\-]?(?:0x[0-9a-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[ed][+\-]?\d+)?)/i],["lit", 3 | /^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/],["pln",/^-*(?:[a-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i],["pun",/^[^\w\t\n\r \xA0()\"\\\';]+/]]),["cl","el","lisp","scm"])})() -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/HTMLModule/Tidy/Name.php: -------------------------------------------------------------------------------- 1 | 7 | This directive enables aggressive pre-filter fixes HTML Purifier can 8 | perform in order to ensure that open angled-brackets do not get killed 9 | during parsing stage. Enabling this will result in two preg_replace_callback 10 | calls and at least two preg_replace calls for every HTML document parsed; 11 | if your users make very well-formed HTML, you can set this directive false. 12 | This has no effect when DirectLex is used. 13 |

14 |

15 | Notice: This directive's default turned from false to true 16 | in HTML Purifier 3.2.0. 17 |

18 | --# vim: et sw=4 sts=4 19 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/HTMLModule/StyleAttribute.php: -------------------------------------------------------------------------------- 1 | array('style' => false), // see constructor 15 | 'Core' => array(0 => array('Style')) 16 | ); 17 | 18 | public function setup($config) { 19 | $this->attr_collections['Style']['style'] = new HTMLPurifier_AttrDef_CSS(); 20 | } 21 | 22 | } 23 | 24 | // vim: et sw=4 sts=4 25 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/VarParser/Native.php: -------------------------------------------------------------------------------- 1 | evalExpression($var); 13 | } 14 | 15 | protected function evalExpression($expr) { 16 | $var = null; 17 | $result = eval("\$var = $expr;"); 18 | if ($result === false) { 19 | throw new HTMLPurifier_VarParserException("Fatal error in evaluated code"); 20 | } 21 | return $var; 22 | } 23 | 24 | } 25 | 26 | // vim: et sw=4 sts=4 27 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Strategy.php: -------------------------------------------------------------------------------- 1 | 7 | If HTML Purifier's tag set is unsatisfactory for your needs, you 8 | can overload it with your own list of tags to allow. Note that this 9 | method is subtractive: it does its job by taking away from HTML Purifier 10 | usual feature set, so you cannot add a tag that HTML Purifier never 11 | supported in the first place (like embed, form or head). If you 12 | change this, you probably also want to change %HTML.AllowedAttributes. 13 |

14 |

15 | Warning: If another directive conflicts with the 16 | elements here, that directive will win and override. 17 |

18 | --# vim: et sw=4 sts=4 19 | -------------------------------------------------------------------------------- /web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt: -------------------------------------------------------------------------------- 1 | Core.ColorKeywords 2 | TYPE: hash 3 | VERSION: 2.0.0 4 | --DEFAULT-- 5 | array ( 6 | 'maroon' => '#800000', 7 | 'red' => '#FF0000', 8 | 'orange' => '#FFA500', 9 | 'yellow' => '#FFFF00', 10 | 'olive' => '#808000', 11 | 'purple' => '#800080', 12 | 'fuchsia' => '#FF00FF', 13 | 'white' => '#FFFFFF', 14 | 'lime' => '#00FF00', 15 | 'green' => '#008000', 16 | 'navy' => '#000080', 17 | 'blue' => '#0000FF', 18 | 'aqua' => '#00FFFF', 19 | 'teal' => '#008080', 20 | 'black' => '#000000', 21 | 'silver' => '#C0C0C0', 22 | 'gray' => '#808080', 23 | ) 24 | --DESCRIPTION-- 25 | 26 | Lookup array of color names to six digit hexadecimal number corresponding 27 | to color, with preceding hash mark. Used when parsing colors. 28 | --# vim: et sw=4 sts=4 29 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/URIScheme/mailto.php: -------------------------------------------------------------------------------- 1 | userinfo = null; 19 | $uri->host = null; 20 | $uri->port = null; 21 | // we need to validate path against RFC 2368's addr-spec 22 | return true; 23 | } 24 | 25 | } 26 | 27 | // vim: et sw=4 sts=4 28 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Injector/DisplayLinkURI.php: -------------------------------------------------------------------------------- 1 | start->attr['href'])){ 17 | $url = $token->start->attr['href']; 18 | unset($token->start->attr['href']); 19 | $token = array($token, new HTMLPurifier_Token_Text(" ($url)")); 20 | } else { 21 | // nothing to display 22 | } 23 | } 24 | } 25 | 26 | // vim: et sw=4 sts=4 27 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/Length.php: -------------------------------------------------------------------------------- 1 | name = $name; 14 | $this->cssName = $css_name ? $css_name : $name; 15 | } 16 | 17 | public function transform($attr, $config, $context) { 18 | if (!isset($attr[$this->name])) return $attr; 19 | $length = $this->confiscateAttr($attr, $this->name); 20 | if(ctype_digit($length)) $length .= 'px'; 21 | $this->prependCSS($attr, $this->cssName . ":$length;"); 22 | return $attr; 23 | } 24 | 25 | } 26 | 27 | // vim: et sw=4 sts=4 28 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt: -------------------------------------------------------------------------------- 1 | HTML.AllowedModules 2 | TYPE: lookup/null 3 | VERSION: 2.0.0 4 | DEFAULT: NULL 5 | --DESCRIPTION-- 6 | 7 |

8 | A doctype comes with a set of usual modules to use. Without having 9 | to mucking about with the doctypes, you can quickly activate or 10 | disable these modules by specifying which modules you wish to allow 11 | with this directive. This is most useful for unit testing specific 12 | modules, although end users may find it useful for their own ends. 13 |

14 |

15 | If you specify a module that does not exist, the manager will silently 16 | fail to use it, so be careful! User-defined modules are not affected 17 | by this directive. Modules defined in %HTML.CoreModules are not 18 | affected by this directive. 19 |

20 | --# vim: et sw=4 sts=4 21 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/DefinitionCache/Null.php: -------------------------------------------------------------------------------- 1 | feature that automatically resolves all 11 | entities), making it pretty useless for anything except the most I18N-blind 12 | applications, although %Core.EscapeNonASCIICharacters offers fixes this 13 | trouble with another tradeoff. This directive only accepts ISO-8859-1 if 14 | iconv is not enabled. 15 | --# vim: et sw=4 sts=4 16 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt: -------------------------------------------------------------------------------- 1 | HTML.ForbiddenElements 2 | TYPE: lookup 3 | VERSION: 3.1.0 4 | DEFAULT: array() 5 | --DESCRIPTION-- 6 |

7 | This was, perhaps, the most requested feature ever in HTML 8 | Purifier. Please don't abuse it! This is the logical inverse of 9 | %HTML.AllowedElements, and it will override that directive, or any 10 | other directive. 11 |

12 |

13 | If possible, %HTML.Allowed is recommended over this directive, because it 14 | can sometimes be difficult to tell whether or not you've forbidden all of 15 | the behavior you would like to disallow. If you forbid img 16 | with the expectation of preventing images on your site, you'll be in for 17 | a nasty surprise when people start using the background-image 18 | CSS property. 19 |

20 | --# vim: et sw=4 sts=4 21 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/PropertyListIterator.php: -------------------------------------------------------------------------------- 1 | l = strlen($filter); 19 | $this->filter = $filter; 20 | } 21 | 22 | public function accept() { 23 | $key = $this->getInnerIterator()->key(); 24 | if( strncmp($key, $this->filter, $this->l) !== 0 ) { 25 | return false; 26 | } 27 | return true; 28 | } 29 | 30 | } 31 | 32 | // vim: et sw=4 sts=4 33 | -------------------------------------------------------------------------------- /db/3.txt: -------------------------------------------------------------------------------- 1 | CREATE TABLE `activities` ( 2 | `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, 3 | `userid` INTEGER UNSIGNED NOT NULL, 4 | `activity` INTEGER UNSIGNED NOT NULL, 5 | `points` INTEGER NOT NULL, 6 | PRIMARY KEY (`id`) 7 | ) 8 | ENGINE = MyISAM 9 | CHARACTER SET utf8 COLLATE utf8_general_ci; 10 | 11 | 12 | ALTER TABLE `questions` ADD COLUMN `accepted` INTEGER UNSIGNED NOT NULL DEFAULT 0 AFTER `votes`, 13 | ADD COLUMN `answers` INTEGER UNSIGNED NOT NULL DEFAULT 0 AFTER `accepted`, 14 | ADD COLUMN `kb` INTEGER UNSIGNED NOT NULL DEFAULT 0 AFTER `answers`; 15 | 16 | ALTER TABLE `activities` MODIFY COLUMN `activity` VARCHAR(255) NOT NULL DEFAULT ''; 17 | 18 | ALTER TABLE `activities` ADD COLUMN `created` DATETIME NOT NULL AFTER `points`; 19 | ALTER TABLE `activities` ADD COLUMN `activityid` INTEGER UNSIGNED NOT NULL AFTER `created`; 20 | 21 | ALTER TABLE `users` MODIFY COLUMN `points` INTEGER NOT NULL DEFAULT 0; 22 | -------------------------------------------------------------------------------- /js/prettify/lang-css.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[ \t\r\n\f]+/,null," \t\r\n\u000c"]],[["str",/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],["str",/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],["kwd",/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],["com", 2 | /^(?:'. 34 | ''; 35 | 36 | } 37 | } 38 | 39 | // vim: et sw=4 sts=4 40 | -------------------------------------------------------------------------------- /libraries/template.class.php: -------------------------------------------------------------------------------- 1 | _controller = $controller; 10 | $this->_action = $action; 11 | } 12 | 13 | /** Set Variables **/ 14 | 15 | function set($name,$value) { 16 | $this->variables[$name] = $value; 17 | } 18 | 19 | function overrideController($controller) { 20 | $this->_controller = $controller; 21 | } 22 | 23 | function overrideAction($action) { 24 | $this->_action = $action; 25 | } 26 | 27 | /** Display Template **/ 28 | 29 | function render($doNotRenderHeader = 0) { 30 | 31 | extract($this->variables); 32 | 33 | if ($doNotRenderHeader == 0) { 34 | 35 | if (file_exists(ROOT . DS . 'views' . DS . $this->_controller . DS . 'header.php')) { 36 | include (ROOT . DS . 'views' . DS . $this->_controller . DS . 'header.php'); 37 | } else { 38 | include (ROOT . DS . 'views' . DS . 'header.php'); 39 | } 40 | } 41 | 42 | if (file_exists(ROOT . DS . 'views' . DS . $this->_controller . DS . $this->_action . '.php')) { 43 | include (ROOT . DS . 'views' . DS . $this->_controller . DS . $this->_action . '.php'); 44 | } 45 | 46 | if ($doNotRenderHeader == 0) { 47 | if (file_exists(ROOT . DS . DS . $this->_controller . DS . 'footer.php')) { 48 | include (ROOT . DS . DS . $this->_controller . DS . 'footer.php'); 49 | } else { 50 | include (ROOT . DS . 'views' . DS . 'footer.php'); 51 | } 52 | } 53 | exit(); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrDef/CSS/Length.php: -------------------------------------------------------------------------------- 1 | min = $min !== null ? HTMLPurifier_Length::make($min) : null; 17 | $this->max = $max !== null ? HTMLPurifier_Length::make($max) : null; 18 | } 19 | 20 | public function validate($string, $config, $context) { 21 | $string = $this->parseCDATA($string); 22 | 23 | // Optimizations 24 | if ($string === '') return false; 25 | if ($string === '0') return '0'; 26 | if (strlen($string) === 1) return false; 27 | 28 | $length = HTMLPurifier_Length::make($string); 29 | if (!$length->isValid()) return false; 30 | 31 | if ($this->min) { 32 | $c = $length->compareTo($this->min); 33 | if ($c === false) return false; 34 | if ($c < 0) return false; 35 | } 36 | if ($this->max) { 37 | $c = $length->compareTo($this->max); 38 | if ($c === false) return false; 39 | if ($c > 0) return false; 40 | } 41 | 42 | return $length->toString(); 43 | } 44 | 45 | } 46 | 47 | // vim: et sw=4 sts=4 48 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php: -------------------------------------------------------------------------------- 1 | definitions[$this->generateKey($config)] = $def; 22 | return $status; 23 | } 24 | 25 | public function set($def, $config) { 26 | $status = parent::set($def, $config); 27 | if ($status) $this->definitions[$this->generateKey($config)] = $def; 28 | return $status; 29 | } 30 | 31 | public function replace($def, $config) { 32 | $status = parent::replace($def, $config); 33 | if ($status) $this->definitions[$this->generateKey($config)] = $def; 34 | return $status; 35 | } 36 | 37 | public function get($config) { 38 | $key = $this->generateKey($config); 39 | if (isset($this->definitions[$key])) return $this->definitions[$key]; 40 | $this->definitions[$key] = parent::get($config); 41 | return $this->definitions[$key]; 42 | } 43 | 44 | } 45 | 46 | // vim: et sw=4 sts=4 47 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Injector/PurifierLinkify.php: -------------------------------------------------------------------------------- 1 | array('href')); 13 | 14 | public function prepare($config, $context) { 15 | $this->docURL = $config->get('AutoFormat.PurifierLinkify.DocURL'); 16 | return parent::prepare($config, $context); 17 | } 18 | 19 | public function handleText(&$token) { 20 | if (!$this->allowsElement('a')) return; 21 | if (strpos($token->data, '%') === false) return; 22 | 23 | $bits = preg_split('#%([a-z0-9]+\.[a-z0-9]+)#Si', $token->data, -1, PREG_SPLIT_DELIM_CAPTURE); 24 | $token = array(); 25 | 26 | // $i = index 27 | // $c = count 28 | // $l = is link 29 | for ($i = 0, $c = count($bits), $l = false; $i < $c; $i++, $l = !$l) { 30 | if (!$l) { 31 | if ($bits[$i] === '') continue; 32 | $token[] = new HTMLPurifier_Token_Text($bits[$i]); 33 | } else { 34 | $token[] = new HTMLPurifier_Token_Start('a', 35 | array('href' => str_replace('%s', $bits[$i], $this->docURL))); 36 | $token[] = new HTMLPurifier_Token_Text('%' . $bits[$i]); 37 | $token[] = new HTMLPurifier_Token_End('a'); 38 | } 39 | } 40 | 41 | } 42 | 43 | } 44 | 45 | // vim: et sw=4 sts=4 46 | -------------------------------------------------------------------------------- /js/prettify/lang-sql.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^\"\\]|\\.)*"|'(?:[^\'\\]|\\.)*')/,null,"\"'"]],[["com",/^(?:--[^\r\n]*|\/\*[\s\S]*?(?:\*\/|$))/],["kwd",/^(?:ADD|ALL|ALTER|AND|ANY|AS|ASC|AUTHORIZATION|BACKUP|BEGIN|BETWEEN|BREAK|BROWSE|BULK|BY|CASCADE|CASE|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COMMIT|COMPUTE|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURSOR|DATABASE|DBCC|DEALLOCATE|DECLARE|DEFAULT|DELETE|DENY|DESC|DISK|DISTINCT|DISTRIBUTED|DOUBLE|DROP|DUMMY|DUMP|ELSE|END|ERRLVL|ESCAPE|EXCEPT|EXEC|EXECUTE|EXISTS|EXIT|FETCH|FILE|FILLFACTOR|FOR|FOREIGN|FREETEXT|FREETEXTTABLE|FROM|FULL|FUNCTION|GOTO|GRANT|GROUP|HAVING|HOLDLOCK|IDENTITY|IDENTITYCOL|IDENTITY_INSERT|IF|IN|INDEX|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KILL|LEFT|LIKE|LINENO|LOAD|NATIONAL|NOCHECK|NONCLUSTERED|NOT|NULL|NULLIF|OF|OFF|OFFSETS|ON|OPEN|OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|OPTION|OR|ORDER|OUTER|OVER|PERCENT|PLAN|PRECISION|PRIMARY|PRINT|PROC|PROCEDURE|PUBLIC|RAISERROR|READ|READTEXT|RECONFIGURE|REFERENCES|REPLICATION|RESTORE|RESTRICT|RETURN|REVOKE|RIGHT|ROLLBACK|ROWCOUNT|ROWGUIDCOL|RULE|SAVE|SCHEMA|SELECT|SESSION_USER|SET|SETUSER|SHUTDOWN|SOME|STATISTICS|SYSTEM_USER|TABLE|TEXTSIZE|THEN|TO|TOP|TRAN|TRANSACTION|TRIGGER|TRUNCATE|TSEQUAL|UNION|UNIQUE|UPDATE|UPDATETEXT|USE|USER|VALUES|VARYING|VIEW|WAITFOR|WHEN|WHERE|WHILE|WITH|WRITETEXT)(?=[^\w-]|$)/i, 2 | null],["lit",/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],["pln",/^[a-z_][\w-]*/i],["pun",/^[^\w\t\n\r \xA0]+/]]),["sql"]); 3 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ChildDef.php: -------------------------------------------------------------------------------- 1 | elements; 33 | } 34 | 35 | /** 36 | * Validates nodes according to definition and returns modification. 37 | * 38 | * @param $tokens_of_children Array of HTMLPurifier_Token 39 | * @param $config HTMLPurifier_Config object 40 | * @param $context HTMLPurifier_Context object 41 | * @return bool true to leave nodes as is 42 | * @return bool false to remove parent node 43 | * @return array of replacement child tokens 44 | */ 45 | abstract public function validateChildren($tokens_of_children, $config, $context); 46 | } 47 | 48 | // vim: et sw=4 sts=4 49 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/URIScheme/ftp.php: -------------------------------------------------------------------------------- 1 | query = null; 15 | 16 | // typecode check 17 | $semicolon_pos = strrpos($uri->path, ';'); // reverse 18 | if ($semicolon_pos !== false) { 19 | $type = substr($uri->path, $semicolon_pos + 1); // no semicolon 20 | $uri->path = substr($uri->path, 0, $semicolon_pos); 21 | $type_ret = ''; 22 | if (strpos($type, '=') !== false) { 23 | // figure out whether or not the declaration is correct 24 | list($key, $typecode) = explode('=', $type, 2); 25 | if ($key !== 'type') { 26 | // invalid key, tack it back on encoded 27 | $uri->path .= '%3B' . $type; 28 | } elseif ($typecode === 'a' || $typecode === 'i' || $typecode === 'd') { 29 | $type_ret = ";type=$typecode"; 30 | } 31 | } else { 32 | $uri->path .= '%3B' . $type; 33 | } 34 | $uri->path = str_replace(';', '%3B', $uri->path); 35 | $uri->path .= $type_ret; 36 | } 37 | 38 | return true; 39 | } 40 | 41 | } 42 | 43 | // vim: et sw=4 sts=4 44 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Injector/Linkify.php: -------------------------------------------------------------------------------- 1 | array('href')); 11 | 12 | public function handleText(&$token) { 13 | if (!$this->allowsElement('a')) return; 14 | 15 | if (strpos($token->data, '://') === false) { 16 | // our really quick heuristic failed, abort 17 | // this may not work so well if we want to match things like 18 | // "google.com", but then again, most people don't 19 | return; 20 | } 21 | 22 | // there is/are URL(s). Let's split the string: 23 | // Note: this regex is extremely permissive 24 | $bits = preg_split('#((?:https?|ftp)://[^\s\'"<>()]+)#S', $token->data, -1, PREG_SPLIT_DELIM_CAPTURE); 25 | 26 | $token = array(); 27 | 28 | // $i = index 29 | // $c = count 30 | // $l = is link 31 | for ($i = 0, $c = count($bits), $l = false; $i < $c; $i++, $l = !$l) { 32 | if (!$l) { 33 | if ($bits[$i] === '') continue; 34 | $token[] = new HTMLPurifier_Token_Text($bits[$i]); 35 | } else { 36 | $token[] = new HTMLPurifier_Token_Start('a', array('href' => $bits[$i])); 37 | $token[] = new HTMLPurifier_Token_Text($bits[$i]); 38 | $token[] = new HTMLPurifier_Token_End('a'); 39 | } 40 | } 41 | 42 | } 43 | 44 | } 45 | 46 | // vim: et sw=4 sts=4 47 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php: -------------------------------------------------------------------------------- 1 | 'AllowedRel', 18 | 'rev' => 'AllowedRev' 19 | ); 20 | if (!isset($configLookup[$name])) { 21 | trigger_error('Unrecognized attribute name for link '. 22 | 'relationship.', E_USER_ERROR); 23 | return; 24 | } 25 | $this->name = $configLookup[$name]; 26 | } 27 | 28 | public function validate($string, $config, $context) { 29 | 30 | $allowed = $config->get('Attr.' . $this->name); 31 | if (empty($allowed)) return false; 32 | 33 | $string = $this->parseCDATA($string); 34 | $parts = explode(' ', $string); 35 | 36 | // lookup to prevent duplicates 37 | $ret_lookup = array(); 38 | foreach ($parts as $part) { 39 | $part = strtolower(trim($part)); 40 | if (!isset($allowed[$part])) continue; 41 | $ret_lookup[$part] = true; 42 | } 43 | 44 | if (empty($ret_lookup)) return false; 45 | $string = implode(' ', array_keys($ret_lookup)); 46 | 47 | return $string; 48 | 49 | } 50 | 51 | } 52 | 53 | // vim: et sw=4 sts=4 54 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/Doctype.php: -------------------------------------------------------------------------------- 1 | renderDoctype. 7 | * If structure changes, please update that function. 8 | */ 9 | class HTMLPurifier_Doctype 10 | { 11 | /** 12 | * Full name of doctype 13 | */ 14 | public $name; 15 | 16 | /** 17 | * List of standard modules (string identifiers or literal objects) 18 | * that this doctype uses 19 | */ 20 | public $modules = array(); 21 | 22 | /** 23 | * List of modules to use for tidying up code 24 | */ 25 | public $tidyModules = array(); 26 | 27 | /** 28 | * Is the language derived from XML (i.e. XHTML)? 29 | */ 30 | public $xml = true; 31 | 32 | /** 33 | * List of aliases for this doctype 34 | */ 35 | public $aliases = array(); 36 | 37 | /** 38 | * Public DTD identifier 39 | */ 40 | public $dtdPublic; 41 | 42 | /** 43 | * System DTD identifier 44 | */ 45 | public $dtdSystem; 46 | 47 | public function __construct($name = null, $xml = true, $modules = array(), 48 | $tidyModules = array(), $aliases = array(), $dtd_public = null, $dtd_system = null 49 | ) { 50 | $this->name = $name; 51 | $this->xml = $xml; 52 | $this->modules = $modules; 53 | $this->tidyModules = $tidyModules; 54 | $this->aliases = $aliases; 55 | $this->dtdPublic = $dtd_public; 56 | $this->dtdSystem = $dtd_system; 57 | } 58 | } 59 | 60 | // vim: et sw=4 sts=4 61 | -------------------------------------------------------------------------------- /views/users/register.php: -------------------------------------------------------------------------------- 1 | 2 | 44 | 45 |
" method="post" onsubmit="javascript:return cform();"> 46 | 47 |

Register

48 | 49 |

Name

50 |
51 | 52 |

E-mail

53 |
54 | 55 |

Password

56 | 57 | 58 |

59 | 60 |
-------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/DefinitionCache/Decorator.php: -------------------------------------------------------------------------------- 1 | copy(); 19 | // reference is necessary for mocks in PHP 4 20 | $decorator->cache =& $cache; 21 | $decorator->type = $cache->type; 22 | return $decorator; 23 | } 24 | 25 | /** 26 | * Cross-compatible clone substitute 27 | */ 28 | public function copy() { 29 | return new HTMLPurifier_DefinitionCache_Decorator(); 30 | } 31 | 32 | public function add($def, $config) { 33 | return $this->cache->add($def, $config); 34 | } 35 | 36 | public function set($def, $config) { 37 | return $this->cache->set($def, $config); 38 | } 39 | 40 | public function replace($def, $config) { 41 | return $this->cache->replace($def, $config); 42 | } 43 | 44 | public function get($config) { 45 | return $this->cache->get($config); 46 | } 47 | 48 | public function remove($config) { 49 | return $this->cache->remove($config); 50 | } 51 | 52 | public function flush($config) { 53 | return $this->cache->flush($config); 54 | } 55 | 56 | public function cleanup($config) { 57 | return $this->cache->cleanup($config); 58 | } 59 | 60 | } 61 | 62 | // vim: et sw=4 sts=4 63 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/AttrTransform/EnumToCSS.php: -------------------------------------------------------------------------------- 1 | attr = $attr; 33 | $this->enumToCSS = $enum_to_css; 34 | $this->caseSensitive = (bool) $case_sensitive; 35 | } 36 | 37 | public function transform($attr, $config, $context) { 38 | 39 | if (!isset($attr[$this->attr])) return $attr; 40 | 41 | $value = trim($attr[$this->attr]); 42 | unset($attr[$this->attr]); 43 | 44 | if (!$this->caseSensitive) $value = strtolower($value); 45 | 46 | if (!isset($this->enumToCSS[$value])) { 47 | return $attr; 48 | } 49 | 50 | $this->prependCSS($attr, $this->enumToCSS[$value]); 51 | 52 | return $attr; 53 | 54 | } 55 | 56 | } 57 | 58 | // vim: et sw=4 sts=4 59 | -------------------------------------------------------------------------------- /js/prettify/lang-vb.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xA0\u2028\u2029]+/,null,"\t\n\r \u00a0\u2028\u2029"],["str",/^(?:[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})(?:[\"\u201C\u201D]c|$)|[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})*(?:[\"\u201C\u201D]|$))/i,null,'"\u201c\u201d'],["com",/^[\'\u2018\u2019][^\r\n\u2028\u2029]*/,null,"'\u2018\u2019"]],[["kwd",/^(?:AddHandler|AddressOf|Alias|And|AndAlso|Ansi|As|Assembly|Auto|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|Class|CLng|CObj|Const|CShort|CSng|CStr|CType|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else|ElseIf|End|EndIf|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get|GetType|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|Let|Lib|Like|Long|Loop|Me|Mod|Module|MustInherit|MustOverride|MyBase|MyClass|Namespace|New|Next|Not|NotInheritable|NotOverridable|Object|On|Option|Optional|Or|OrElse|Overloads|Overridable|Overrides|ParamArray|Preserve|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|Select|Set|Shadows|Shared|Short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TypeOf|Unicode|Until|Variant|Wend|When|While|With|WithEvents|WriteOnly|Xor|EndIf|GoSub|Let|Variant|Wend)\b/i, 2 | null],["com",/^REM[^\r\n\u2028\u2029]*/i],["lit",/^(?:True\b|False\b|Nothing\b|\d+(?:E[+\-]?\d+[FRD]?|[FRDSIL])?|(?:&H[0-9A-F]+|&O[0-7]+)[SIL]?|\d*\.\d+(?:E[+\-]?\d+)?[FRD]?|#\s+(?:\d+[\-\/]\d+[\-\/]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)?|\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)\s+#)/i],["pln",/^(?:(?:[a-z]|_\w)\w*|\[(?:[a-z]|_\w)\w*\])/i],["pun",/^[^\w\t\n\r \"\'\[\]\xA0\u2018\u2019\u201C\u201D\u2028\u2029]+/],["pun",/^(?:\[|\])/]]),["vb","vbs"]); 3 | -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/ChildDef/Chameleon.php: -------------------------------------------------------------------------------- 1 | inline = new HTMLPurifier_ChildDef_Optional($inline); 33 | $this->block = new HTMLPurifier_ChildDef_Optional($block); 34 | $this->elements = $this->block->elements; 35 | } 36 | 37 | public function validateChildren($tokens_of_children, $config, $context) { 38 | if ($context->get('IsInline') === false) { 39 | return $this->block->validateChildren( 40 | $tokens_of_children, $config, $context); 41 | } else { 42 | return $this->inline->validateChildren( 43 | $tokens_of_children, $config, $context); 44 | } 45 | } 46 | } 47 | 48 | // vim: et sw=4 sts=4 49 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | render($noheader); 64 | } -------------------------------------------------------------------------------- /libraries/purifier/HTMLPurifier/IDAccumulator.php: -------------------------------------------------------------------------------- 1 | load($config->get('Attr.IDBlacklist')); 27 | return $id_accumulator; 28 | } 29 | 30 | /** 31 | * Add an ID to the lookup table. 32 | * @param $id ID to be added. 33 | * @return Bool status, true if success, false if there's a dupe 34 | */ 35 | public function add($id) { 36 | if (isset($this->ids[$id])) return false; 37 | return $this->ids[$id] = true; 38 | } 39 | 40 | /** 41 | * Load a list of IDs into the lookup table 42 | * @param $array_of_ids Array of IDs to load 43 | * @note This function doesn't care about duplicates 44 | */ 45 | public function load($array_of_ids) { 46 | foreach ($array_of_ids as $id) { 47 | $this->ids[$id] = true; 48 | } 49 | } 50 | 51 | } 52 | 53 | // vim: et sw=4 sts=4 54 | --------------------------------------------------------------------------------