[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [13345] Syncromind: Merge 13178:13344 from trunk
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [13345] Syncromind: Merge 13178:13344 from trunk |
Date: |
Thu, 04 Jun 2015 07:54:22 +0000 |
Revision: 13345
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=13345
Author: sigurdne
Date: 2015-06-04 07:54:16 +0000 (Thu, 04 Jun 2015)
Log Message:
-----------
Syncromind: Merge 13178:13344 from trunk
Modified Paths:
--------------
branches/dev-syncromind/bim/setup/setup.inc.php
branches/dev-syncromind/bim/setup/tables_current.inc.php
branches/dev-syncromind/bim/setup/tables_update.inc.php
branches/dev-syncromind/booking/inc/class.boapplication.inc.php
branches/dev-syncromind/booking/inc/class.soapplication.inc.php
branches/dev-syncromind/booking/setup/phpgw_no.lang
branches/dev-syncromind/booking/templates/base/application.xsl
branches/dev-syncromind/booking/templates/base/mail_settings.xsl
branches/dev-syncromind/catch/setup/setup.inc.php
branches/dev-syncromind/catch/setup/tables_current.inc.php
branches/dev-syncromind/catch/setup/tables_update.inc.php
branches/dev-syncromind/controller/inc/class.socontrol.inc.php
branches/dev-syncromind/controller/inc/class.uicalendar.inc.php
branches/dev-syncromind/controller/inc/class.uicomponent.inc.php
branches/dev-syncromind/controller/inc/component/class.check_list_status_manager.inc.php
branches/dev-syncromind/controller/inc/component/class.year_calendar.inc.php
branches/dev-syncromind/controller/templates/base/component.xsl
branches/dev-syncromind/hrm/setup/phpgw_no.lang
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrCollections.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Background.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Border.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Color.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Composite.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Filter.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Font.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Ident.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Length.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Multiple.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Number.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Percentage.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/URI.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Clone.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Enum.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Bool.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Class.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Color.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/ID.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Length.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Pixels.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Integer.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Lang.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Switch.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Text.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Email.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Host.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv6.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/Background.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/BdoDir.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/BgColor.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/BoolToCSS.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/Border.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/EnumToCSS.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/ImgRequired.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/ImgSpace.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/Input.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/Lang.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/Length.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/Name.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/NameSync.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/Nofollow.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/SafeEmbed.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/SafeObject.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/SafeParam.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/ScriptRequired.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/TargetBlank.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform/Textarea.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTransform.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrTypes.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrValidator.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Bootstrap.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/CSSDefinition.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ChildDef/Chameleon.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ChildDef/Custom.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ChildDef/Empty.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ChildDef/List.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ChildDef/Optional.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ChildDef/Required.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ChildDef/StrictBlockquote.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ChildDef/Table.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ChildDef.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Config.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/Builder/Xml.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/Interchange/Directive.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/Interchange/Id.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/Interchange.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/InterchangeBuilder.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/Validator.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/ValidatorAtom.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/schema.ser
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ContentSets.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Context.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Definition.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/DefinitionCache/Decorator/Template.php.in
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/DefinitionCache/Decorator.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/DefinitionCache/Null.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/DefinitionCache.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/DefinitionCacheFactory.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Doctype.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/DoctypeRegistry.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ElementDef.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Encoder.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/EntityLookup.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/EntityParser.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ErrorCollector.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ErrorStruct.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Filter/ExtractStyleBlocks.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Filter/YouTube.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Filter.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Generator.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLDefinition.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Bdo.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/CommonAttributes.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Edit.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Forms.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Hypertext.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Iframe.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Image.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Legacy.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/List.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Name.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Nofollow.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Object.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Presentation.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Proprietary.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Ruby.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/SafeEmbed.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/SafeObject.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/SafeScripting.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Scripting.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/StyleAttribute.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Tables.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Target.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/TargetBlank.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Text.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Tidy/Name.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Tidy/Strict.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Tidy/Transitional.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/Tidy.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModule.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/HTMLModuleManager.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/IDAccumulator.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Injector/AutoParagraph.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Injector/DisplayLinkURI.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Injector/Linkify.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Injector/PurifierLinkify.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Injector/RemoveEmpty.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Injector/SafeObject.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Injector.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Language/classes/en-x-test.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Language/messages/en.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Language.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/LanguageFactory.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Length.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Lexer/DOMLex.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Lexer/DirectLex.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Lexer/PH5P.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Lexer.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/PercentEncoder.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Printer/CSSDefinition.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Printer/ConfigForm.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Printer/HTMLDefinition.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Printer.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/PropertyList.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/PropertyListIterator.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Strategy/Composite.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Strategy/Core.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Strategy/FixNesting.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Strategy/MakeWellFormed.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Strategy/RemoveForeignElements.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Strategy/ValidateAttributes.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Strategy.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/StringHash.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/StringHashParser.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/TagTransform/Font.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/TagTransform/Simple.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/TagTransform.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Token/Comment.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Token/Empty.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Token/End.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Token/Start.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Token/Tag.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Token/Text.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Token.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/TokenFactory.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URI.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIDefinition.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIFilter/DisableExternalResources.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIFilter/DisableResources.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIFilter/HostBlacklist.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIFilter/MakeAbsolute.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIFilter/Munge.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIFilter/SafeIframe.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIFilter.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIParser.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIScheme/data.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIScheme/file.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIScheme/ftp.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIScheme/http.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIScheme/https.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIScheme/mailto.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIScheme/news.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIScheme/nntp.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URIScheme.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/URISchemeRegistry.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/UnitConverter.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/VarParser/Flexible.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/VarParser/Native.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/VarParser.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier.autoload.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier.func.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier.includes.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier.kses.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier.safe-includes.php
branches/dev-syncromind/phpgwapi/templates/bkbooking/head.inc.php
branches/dev-syncromind/phpgwapi/templates/bkbooking/head.tpl
branches/dev-syncromind/property/inc/class.boentity.inc.php
branches/dev-syncromind/property/inc/class.bolocation.inc.php
branches/dev-syncromind/property/inc/class.boproject.inc.php
branches/dev-syncromind/property/inc/class.menu.inc.php
branches/dev-syncromind/property/inc/class.soadmin_entity.inc.php
branches/dev-syncromind/property/inc/class.soentity.inc.php
branches/dev-syncromind/property/inc/class.sogeneric.inc.php
branches/dev-syncromind/property/inc/class.solocation.inc.php
branches/dev-syncromind/property/inc/class.soproject.inc.php
branches/dev-syncromind/property/inc/class.uiadmin_entity.inc.php
branches/dev-syncromind/property/inc/class.uicondition_survey.inc.php
branches/dev-syncromind/property/inc/class.uientity.inc.php
branches/dev-syncromind/property/setup/phpgw_no.lang
branches/dev-syncromind/property/setup/setup.inc.php
branches/dev-syncromind/property/setup/tables_current.inc.php
branches/dev-syncromind/property/setup/tables_update.inc.php
branches/dev-syncromind/property/templates/base/admin_entity.xsl
branches/dev-syncromind/property/templates/base/entity.xsl
branches/dev-syncromind/setup/lang.php
Added Paths:
-----------
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Arborize.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Node/
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Node.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Queue.php
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Zipper.php
Property Changed:
----------------
branches/dev-syncromind/
branches/dev-syncromind/booking/
Property changes on: branches/dev-syncromind
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/stavangerkommune:12743-12875,12986
/trunk:12111-12211,12213-12246,12250-12363,12366-12405,12407-12435,12437-12462,12464-12527,12530-12602,12604-12670,12672-12683,12686-12750,12753-12785,12787-12974,12987,12989-13177
+ /branches/stavangerkommune:12743-12875,12986
/trunk:12111-12211,12213-12246,12250-12363,12366-12405,12407-12435,12437-12462,12464-12527,12530-12602,12604-12670,12672-12683,12686-12750,12753-12785,12787-12974,12987,12989-13177,13179-13344
Modified: branches/dev-syncromind/bim/setup/setup.inc.php
===================================================================
--- branches/dev-syncromind/bim/setup/setup.inc.php 2015-06-03 23:04:00 UTC
(rev 13344)
+++ branches/dev-syncromind/bim/setup/setup.inc.php 2015-06-04 07:54:16 UTC
(rev 13345)
@@ -12,7 +12,7 @@
*/
$setup_info['bim']['name'] = 'bim';
- $setup_info['bim']['version'] = '0.9.17.508';
+ $setup_info['bim']['version'] = '0.9.17.509';
$setup_info['bim']['app_order'] = 8;
$setup_info['bim']['enable'] = 1;
$setup_info['bim']['app_group'] = 'office';
Modified: branches/dev-syncromind/bim/setup/tables_current.inc.php
===================================================================
--- branches/dev-syncromind/bim/setup/tables_current.inc.php 2015-06-03
23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/bim/setup/tables_current.inc.php 2015-06-04
07:54:16 UTC (rev 13345)
@@ -61,6 +61,7 @@
'entry_date' => array('type' =>
'int','precision' => '4','nullable' => True),
'user_id' => array('type' => 'int','precision'
=> '4','nullable' => True),
'org_unit_id' => array('type' =>
'int','precision' => '4','nullable' => True),
+ 'entity_group_id' => array('type' =>
'int','precision' => '4','nullable' => True),
),
'pk' => array('type','id'),
'fk' => array(
Modified: branches/dev-syncromind/bim/setup/tables_update.inc.php
===================================================================
--- branches/dev-syncromind/bim/setup/tables_update.inc.php 2015-06-03
23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/bim/setup/tables_update.inc.php 2015-06-04
07:54:16 UTC (rev 13345)
@@ -199,4 +199,21 @@
$GLOBALS['setup_info']['bim']['currentver'] =
'0.9.17.508';
return $GLOBALS['setup_info']['bim']['currentver'];
}
+ }
+
+ /**
+ * Update bim version from 0.9.17.508 to 0.9.17.509
+ */
+ $test[] = '0.9.17.508';
+ function bim_upgrade0_9_17_508()
+ {
+ $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_bim_item','entity_group_id',
array('type' => 'int', 'precision' => 4,'nullable' => true));
+
+ if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+ {
+ $GLOBALS['setup_info']['bim']['currentver'] =
'0.9.17.509';
+ return $GLOBALS['setup_info']['bim']['currentver'];
+ }
}
\ No newline at end of file
Property changes on: branches/dev-syncromind/booking
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/stavangerkommune/booking:9468-12740,12743-12875,12986
/trunk/booking:12111-12211,12213-12246,12250-12363,12366-12405,12407-12435,12437-12462,12464-12527,12530-12602,12604-12670,12672-12683,12686-12750,12753-12785,12787-12974,12987
+ /branches/stavangerkommune/booking:9468-12740,12743-12875,12986
/trunk/booking:12111-12211,12213-12246,12250-12363,12366-12405,12407-12435,12437-12462,12464-12527,12530-12602,12604-12670,12672-12683,12686-12750,12753-12785,12787-12974,12987,13179-13344
Modified: branches/dev-syncromind/booking/inc/class.boapplication.inc.php
===================================================================
--- branches/dev-syncromind/booking/inc/class.boapplication.inc.php
2015-06-03 23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/booking/inc/class.boapplication.inc.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -37,52 +37,81 @@
if ($application['comment'] != '') {
$body .= '<p>Kommentar fra
saksbehandler:<br />'.$application['comment'].'</p>';
}
- } elseif ($application['status'] == 'ACCEPTED') {
- $accepted =
$this->so->get_accepted($application['id']);
- $adates = "";
- foreach ($accepted as $key => $date) {
- if($key === 0)
- $adates .= implode(" -
",$date)."\n";
- else
- $adates .=
"\t".implode(" - ",$date)."\n";
+ }
+ elseif ($application['status'] == 'ACCEPTED')
+ {
+ // Sigurd:
+ // Check if any bookings, allocations or events
are associated with this application
+ $assoc_bo = new
booking_boapplication_association();
+ $associations =
$assoc_bo->so->read(array('filters'=>array('application_id'=>$application['id']),'sort'=>'from_',
'dir' => 'asc'));
+ $_adates = array();
+
+ foreach($associations['results'] as $assoc)
+ {
+ if($assoc['active'])
+ {
+ $_adates[] =
"\t{$assoc['from_']} - {$assoc['to_']}";
+ }
}
+
+ $adates = implode("\n",$_adates);
+
$rejected =
$this->so->get_rejected($application['id']);
$rdates = "";
- foreach ($rejected as $key => $date) {
- if($key === 0)
- $rdates .= implode(" -
",$date)."\n";
- else
- $rdates .=
"\t".implode(" - ",$date)."\n";
+ foreach ($rejected as $key => $date)
+ {
+ if($key === 0)
+ {
+ $rdates .= implode(" -
",$date)."\n";
+ }
+ else
+ {
+ $rdates .= "\t".implode(" -
",$date)."\n";
+ }
}
$body = "<p>Din søknad i
".$config->config_data['application_mail_systemname']." om leie/lån er
".lang($application['status']);
$body .=
'</p><pre>'.$config->config_data['application_mail_accepted'].'<br /><a
href="'.$link.'">Link til
'.$config->config_data['application_mail_systemname'].': søknad
#'.$application['id'].'</a></pre>';
- $body .= "<pre>Godkjent: ".$adates."</pre>";
- $body .= "<pre>Avvist: ".$rdates."</pre>";
+ if($adates)
+ {
+ $body .=
"<pre>Godkjent:\n".$adates."</pre>";
+ }
+ if($rdates)
+ {
+ $body .= "<pre>Avvist:
".$rdates."</pre>";
+ }
if ($application['comment'] != '') {
$body .= "<p>Kommentar fra
saksbehandler:<br />".$application['comment']."</p>";
}
- $buildingemail =
$this->get_tilsyn_email($application['building_name']);
- if ($buildingemail['email1'] != '' ||
$buildingemail['email2'] != '' || $buildingemail['email3'] != '') {
- $resourcename =
implode(",",$this->get_resource_name($application['resources']));
- $bsubject =
$config->config_data['application_mail_subject'].": En søknad om leie/lån av
".$resourcename." på ".$application['building_name']." er godkjent";
- $bbody =
"<p>".$application['contact_name']." sin søknad om leie/lån av
".$resourcename." på ".$application['building_name']."</p>";
- $bbody .= "<p>Den ".$adates."er
Godkjent</p>";
- $bbody .= "<p><b>Ekstra informasjon fra søker:</b><br
/>".$application['equipment']."</p>";
-
- foreach ($buildingemail as $bemail)
- {
- try
+ if (isset
($config->config_data['application_notify_on_accepted']) &&
$config->config_data['application_notify_on_accepted'] ==1)
+ {
+ $buildingemail =
$this->get_tilsyn_email($application['building_name']);
+ if ($buildingemail['email1'] != '' ||
$buildingemail['email2'] != '' || $buildingemail['email3'] != '') {
+ $resourcename =
implode(",",$this->get_resource_name($application['resources']));
+ $bsubject =
$config->config_data['application_mail_subject'].": En søknad om leie/lån av
".$resourcename." på ".$application['building_name']." er godkjent";
+ $bbody =
"<p>".$application['contact_name']." sin søknad om leie/lån av
".$resourcename." på ".$application['building_name']."</p>";
+// $bbody .= "<p>Den ".$adates."er
Godkjent</p>";
+ if($adates)
{
- $send->msg('email',
$bemail, $bsubject, $bbody, '', '', '', $from, '', 'html');
+ $body .=
"<pre>Godkjent:\n".$adates."</pre>";
}
- catch (phpmailerException $e)
+
+ $bbody .=
"<p><b>{$config->config_data['application_equipment']}:</b><br
/>".$application['equipment']."</p>";
+
+ foreach ($buildingemail as
$bemail)
{
- // TODO: Inform user if
something goes wrong
+ try
+ {
+
$send->msg('email', $bemail, $bsubject, $bbody, '', '', '', $from, '', 'html');
+ }
+ catch
(phpmailerException $e)
+ {
+ // TODO: Inform user if
something goes wrong
+ }
+
}
-
}
}
} elseif ($application['status'] == 'REJECTED') {
Modified: branches/dev-syncromind/booking/inc/class.soapplication.inc.php
===================================================================
--- branches/dev-syncromind/booking/inc/class.soapplication.inc.php
2015-06-03 23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/booking/inc/class.soapplication.inc.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -117,7 +117,8 @@
'name' => $this->db->f('name',
false));
}
- function get_accepted($id)
+// function get_accepted($id)
+ function get_rejected($id)
{
$sql = "SELECT bad.from_, bad.to_
FROM bb_application ba,
bb_application_date bad, bb_event be
@@ -136,7 +137,8 @@
return $results;
}
- function get_rejected($id)
+// function get_rejected($id)
+ function get_accepted($id)
{
$sql = "SELECT bad.from_, bad.to_ FROM bb_application
ba, bb_application_date bad
WHERE ba.id=($id)
Modified: branches/dev-syncromind/booking/setup/phpgw_no.lang
===================================================================
--- branches/dev-syncromind/booking/setup/phpgw_no.lang 2015-06-03 23:04:00 UTC
(rev 13344)
+++ branches/dev-syncromind/booking/setup/phpgw_no.lang 2015-06-04 07:54:16 UTC
(rev 13345)
@@ -613,6 +613,7 @@
Mail text for application pending booking no Epost tekst for søknad
under behandling.
Mail text for application accepted booking no Epost tekst for søknad
akseptert.
Mail text for application rejected booking no Epost tekst for søknad
avist.
+notify on accepted booking no Send kvittering til ansvarlig ved
akseptert.
Signature booking no Signatur
Tilsynsvakt name booking no Tilsynsvakt navn
Tilsynsvakt email booking no Tilsynsvakt epost
Modified: branches/dev-syncromind/booking/templates/base/application.xsl
===================================================================
--- branches/dev-syncromind/booking/templates/base/application.xsl
2015-06-03 23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/booking/templates/base/application.xsl
2015-06-04 07:54:16 UTC (rev 13345)
@@ -115,7 +115,10 @@
<dd><xsl:value-of select="application/activity_name"/></dd>
<dt><xsl:value-of select="php:function('lang', 'Description')"
/></dt>
<dd><div style="width: 80%;"><xsl:value-of
select="application/description"/></div></dd>
- <dt><xsl:value-of select="php:function('lang', 'Extra
information')" /></dt>
+ <dt>
+ <xsl:value-of
select="config/application_equipment"/>
+ <!--xsl:value-of select="php:function('lang',
'Extra information')" /-->
+ </dt>
<dd><div style="width: 80%;"><xsl:value-of
select="application/equipment"/></div></dd>
</dl>
<dl class="proplist-col">
Modified: branches/dev-syncromind/booking/templates/base/mail_settings.xsl
===================================================================
--- branches/dev-syncromind/booking/templates/base/mail_settings.xsl
2015-06-03 23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/booking/templates/base/mail_settings.xsl
2015-06-04 07:54:16 UTC (rev 13345)
@@ -38,6 +38,20 @@
<dd class="yui-skin-sam">
<textarea id="field_application_mail_accepted"
class="full-width settings" name="application_mail_accepted"
type="text"><xsl:value-of
select="config_data/application_mail_accepted"/></textarea>
</dd>
+ <dt><label
for="field_application_notify_on_accepted"><xsl:value-of
select="php:function('lang', 'notify on accepted')"/></label></dt>
+ <dd class="yui-skin-sam">
+ <input name="application_notify_on_accepted"
type="hidden" value = "0"/>
+ <input
id="field_application_notify_on_accepted" class="full-width settings"
name="application_notify_on_accepted" type="checkbox" value = "1">
+ <xsl:if
test="config_data/application_notify_on_accepted = '1'">
+ <xsl:attribute name="checked">
+
<xsl:text>checked</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="checked">
+
<xsl:text>checked</xsl:text>
+ </xsl:attribute>
+ </xsl:if>
+ </input>
+ </dd>
<dt><label for="field_application_mail_rejected"><xsl:value-of
select="php:function('lang', 'Mail text for application
rejected')"/></label></dt>
<dd class="yui-skin-sam">
<textarea id="field_application_mail_rejected"
class="full-width settings" name="application_mail_rejected"
type="text"><xsl:value-of
select="config_data/application_mail_rejected"/></textarea>
Modified: branches/dev-syncromind/catch/setup/setup.inc.php
===================================================================
--- branches/dev-syncromind/catch/setup/setup.inc.php 2015-06-03 23:04:00 UTC
(rev 13344)
+++ branches/dev-syncromind/catch/setup/setup.inc.php 2015-06-04 07:54:16 UTC
(rev 13345)
@@ -27,7 +27,7 @@
*/
$setup_info['catch']['name'] = 'catch';
- $setup_info['catch']['version'] = '0.9.17.519';
+ $setup_info['catch']['version'] = '0.9.17.520';
$setup_info['catch']['app_order'] = 20;
$setup_info['catch']['enable'] = 1;
$setup_info['catch']['globals_checked'] = True;
Modified: branches/dev-syncromind/catch/setup/tables_current.inc.php
===================================================================
--- branches/dev-syncromind/catch/setup/tables_current.inc.php 2015-06-03
23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/catch/setup/tables_current.inc.php 2015-06-04
07:54:16 UTC (rev 13345)
@@ -64,7 +64,8 @@
'jasperupload' => array('type' =>
'int','precision' => 2,'nullable' => True),
'parent_id' => array('type' =>
'int','precision' => '4','nullable' => True),
'level' => array('type' => 'int','precision' =>
'4','nullable' => True),
- 'department' => array('type' =>
'int','precision' => '2','nullable' => True),
+ 'org_unit' => array('type' => 'int','precision'
=> '2','nullable' => True),
+ 'entity_group_id' => array('type' =>
'int','precision' => '4','nullable' => True),
),
'pk' => array('entity_id','id'),
'fk' => array(),
Modified: branches/dev-syncromind/catch/setup/tables_update.inc.php
===================================================================
--- branches/dev-syncromind/catch/setup/tables_update.inc.php 2015-06-03
23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/catch/setup/tables_update.inc.php 2015-06-04
07:54:16 UTC (rev 13345)
@@ -607,3 +607,17 @@
return $GLOBALS['setup_info']['catch']['currentver'];
}
}
+
+ $test[] = '0.9.17.519';
+ function catch_upgrade0_9_17_519()
+ {
+ $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
$GLOBALS['phpgw_setup']->oProc->RenameColumn('fm_catch_category','department','org_unit');
+
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_catch_category','entity_group_id',array('type'
=> 'int','precision' => 4,'nullable' => True));
+
+ if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+ {
+ $GLOBALS['setup_info']['catch']['currentver'] =
'0.9.17.520';
+ return $GLOBALS['setup_info']['catch']['currentver'];
+ }
+ }
Modified: branches/dev-syncromind/controller/inc/class.socontrol.inc.php
===================================================================
--- branches/dev-syncromind/controller/inc/class.socontrol.inc.php
2015-06-03 23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/controller/inc/class.socontrol.inc.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -598,7 +598,8 @@
/**
* Get locations that a control should be carried out for
*
- * @param $control_id control id
+ * @param int $control_id control id
+ * @param array $location_code_filter
* @return array with arrays of location info
*/
function get_locations_for_control($control_id)
@@ -607,10 +608,11 @@
$controls_array = array();
- $sql = "SELECT c.id, c.title, cll.location_code ";
- $sql .= "FROM controller_control c,
controller_control_location_list cll ";
+ $sql = "SELECT c.id, c.title, cll.location_code,
fm_locations.name as loc_name ";
+ $sql .= "FROM controller_control c,
controller_control_location_list cll, fm_locations ";
$sql .= "WHERE cll.control_id = {$control_id} ";
- $sql .= "AND cll.control_id = c.id";
+ $sql .= "AND cll.control_id = c.id ";
+ $sql .= "AND cll.location_code =
fm_locations.location_code";
$this->db->query($sql);
@@ -619,7 +621,10 @@
$control_id =
$this->unmarshal($this->db->f('id'), 'int');
$title = $this->unmarshal($this->db->f('title',
true), 'string');
$location_code =
$this->unmarshal($this->db->f('location_code', true), 'string');
+ $loc_name = $this->db->f('loc_name', true);
+ $loc_name_arr = explode(', ', $loc_name);
+/*
$location_array =
execMethod('property.bolocation.read_single', array('location_code' =>
$location_code,'extra' => array('noattrib' => true)));
$location_arr = explode('-', $location_code);
@@ -630,14 +635,14 @@
$loc_name_arr[] =
$location_array["loc{$i}_name"];
$i++;
}
-
+*/
$controls_array[] = array
(
'id' => $control_id,
'title' => $title,
'location_code' => $location_code,
- 'loc1_name' =>
$location_array['loc1_name'],
- 'loc_name' => implode(',
', $loc_name_arr)
+ 'loc1_name' =>
$loc_name_arr[0],
+ 'loc_name' => $loc_name
);
}
Modified: branches/dev-syncromind/controller/inc/class.uicalendar.inc.php
===================================================================
--- branches/dev-syncromind/controller/inc/class.uicalendar.inc.php
2015-06-03 23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/controller/inc/class.uicalendar.inc.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -475,7 +475,6 @@
$user_id = $GLOBALS['phpgw_info']['user']['account_id'];
- $bookmark_locations = array();
$bookmarks =
phpgwapi_cache::user_get('controller', "location_bookmark", $user_id);
if(is_array($bookmarks))
{
Modified: branches/dev-syncromind/controller/inc/class.uicomponent.inc.php
===================================================================
--- branches/dev-syncromind/controller/inc/class.uicomponent.inc.php
2015-06-03 23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/controller/inc/class.uicomponent.inc.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -82,29 +82,19 @@
$this->account =
$GLOBALS['phpgw_info']['user']['account_id'];
}
- /**
- * Fetches controls and returns to datatable
- *
- * @param HTTP::phpgw_return_as specifies how data should be
returned
- * @return data array
- */
- public function index()
+ private function get_location_filter()
{
- if(phpgw::get_var('phpgw_return_as') == 'json')
- {
- return $this->query();
- }
- phpgwapi_jquery::load_widget('core');
+ $entity_group_id = phpgw::get_var('entity_group_id',
'int');
+ $location_id = phpgw::get_var('location_id', 'int');
+ $location_filter =
phpgwapi_cache::session_get('controller', "location_filter_{$entity_group_id}");
- $component_type =
'';//phpgwapi_cache::session_get('controller', 'component_type');
- $sort_key = array();
- if(!$component_type)
+ if(!$location_filter)
{
$this->soadmin_entity =
CreateObject('property.soadmin_entity');
$entity_list =
$this->soadmin_entity->read(array('allrows' => true));
- $component_type = array();
+ $location_filter = array();
foreach($entity_list as $entry)
{
$categories =
$this->soadmin_entity->read_category(array('entity_id' => $entry['id'],'order'
=> 'name','sort' => 'asc','enable_controller' => true, 'allrows' => true));
@@ -113,8 +103,12 @@
if($category['enable_controller'])
{
+ if($entity_group_id &&
$category['entity_group_id'] != $entity_group_id)
+ {
+ continue;
+ }
$sort_arr = explode('
', $category['name']);
- $component_type[] =
array
+ $location_filter[] =
array
(
'id' =>
$category['location_id'],
'name'=>
"{$entry['name']}::{$category['name']}",
@@ -124,16 +118,35 @@
}
}
// Obtain a list of columns
- foreach ($component_type as $key => $row)
+ foreach ($location_filter as $key => $row)
{
$id[$key] = $row['sort_key'];
}
- array_multisort($id,SORT_ASC, SORT_STRING,
$component_type);
- array_unshift($component_type, array('id' =>
'', 'name' => lang('select value')));
-// phpgwapi_cache::session_set('controller',
'component_type', $component_type);
+ array_multisort($id,SORT_ASC, SORT_STRING,
$location_filter);
+ phpgwapi_cache::session_set('controller',
"location_filter_{$entity_group_id}", $location_filter);
}
+ foreach($location_filter as &$location)
+ {
+ $location['selected'] = $location['id'] ==
$location_id ? 1 : 0;
+ }
+ return $location_filter;
+ }
+ /**
+ * Fetches controls and returns to datatable
+ *
+ * @param HTTP::phpgw_return_as specifies how data should be
returned
+ * @return data array
+ */
+ public function index()
+ {
+ if(phpgw::get_var('phpgw_return_as') == 'json')
+ {
+ return $this->query();
+ }
+ phpgwapi_jquery::load_widget('core');
+
$users =
$GLOBALS['phpgw']->acl->get_user_list_right(PHPGW_ACL_EDIT, '.control');
$user_list = array();
foreach($users as $user)
@@ -183,7 +196,10 @@
);
}
+ $location_filter = $this->get_location_filter();
+ array_unshift($location_filter, array('id' => '',
'name' => lang('select value')));
+
$data = array(
'datatable_name' => lang('status components'),
'form' => array(
@@ -191,11 +207,16 @@
'method' => 'POST',
'toolbar' => array(
'item' => array(
- //as categories
array('type' =>
'filter',
+ 'name' =>
'entity_group_id',
+ 'text' =>
lang('entity group'),
+ 'list' =>
execMethod('property.bogeneric.get_list',array('type' => 'entity_group',
'selected' => phpgw::get_var('entity_group_id'), 'add_empty' => true)),
+ 'onchange'
=> 'update_table();'
+ ),
+ array('type' =>
'filter',
'name' =>
'location_id',
'text' =>
lang('component'),
- 'list' =>
$component_type,
+ 'list' =>
$location_filter,
'onchange'
=> 'update_table();'
),/*
array('type' =>
'filter',
@@ -221,17 +242,13 @@
'text' =>
lang('year'),
'list' =>
$year_list,
'onchange'
=> 'update_table();'
- ),/*
- array('type' =>
'text',
- 'text' =>
lang('searchfield'),
- 'name' =>
'query'
),
- array(
- 'type' =>
'button',
- 'name' =>
'search',
- 'value' =>
lang('Search'),
- 'onclick'=>
'update_table();'
- ),*/
+ array('type' =>
'checkbox',
+ 'name' =>
'all_items',
+ 'text' =>
'List uten kontroller',
+ 'value' => 1,
+ 'onclick'
=> 'update_table();'
+ ),
),
),
),
@@ -329,13 +346,14 @@
public function query()
{
- static $_location_name = array();
+ $entity_group_id = phpgw::get_var('entity_group_id',
'int');
$location_id = phpgw::get_var('location_id', 'int');
$control_area = phpgw::get_var('control_area', 'int');
$user_id = phpgw::get_var('user_id', 'int');
$district_id = phpgw::get_var('district_id', 'int');
$query = phpgw::get_var('query', 'string');
$year = phpgw::get_var('year', 'int');
+ $all_items = phpgw::get_var('all_items', 'bool');
$so_control =
CreateObject('controller.socontrol');
$this->so =
CreateObject('controller.socheck_list');
@@ -349,15 +367,88 @@
// Gets timestamp of first day in next year
$to_date_ts =
execMethod('controller.uicalendar.get_end_date_year_ts',$year);
- $components =
execMethod('property.soentity.read',array('location_id' => $location_id,
'district_id' => $district_id, 'allrows' => true));
+ $location_filter = $this->get_location_filter();
+
+ foreach ($location_filter as $_location)
+ {
+ $location_type_name[$_location['id']] =
$_location['name'];
+ }
+// _debug_array($location_type_name);
+ $components = array();
+
+ $lookup_stray_items = false;
+
+ if(!$location_id)
+ {
+ //nothing
+ }
+ else if($location_id == -1 && !$entity_group_id)
+ {
+ //nothing
+ }
+ else if(!$location_id && $entity_group_id)
+ {
+ //still nothing
+ }
+ else
+ {
+ $lookup_stray_items = $entity_group_id;
+ $exclude_locations = array();
+
+ foreach($location_filter as $_location_filter)
+ {
+ if($location_id > 0 &&
$_location_filter['id'] != $location_id)
+ {
+ continue;
+ }
+ $_location_id =
(int)$_location_filter['id'];
+ $exclude_locations[] = $_location_id;
+
+ $_components =
execMethod('property.soentity.read',array(
+ 'filter_entity_group' =>
$entity_group_id,
+ 'location_id' => $_location_id,
+ 'district_id' => $district_id,
+ 'allrows' => true,
+ 'control_registered' =>
!$all_items,
+ 'check_for_control' => true
+ )
+ );
+ $components = array_merge($components,
$_components);
+ }
+
+ if($lookup_stray_items)
+ {
+ $_components =
execMethod('property.soentity.read_entity_group',array(
+ 'entity_group_id' =>
$entity_group_id,
+ 'exclude_locations' =>
$exclude_locations,
+ 'location_id' => $_location_id,
+ 'district_id' => $district_id,
+ 'allrows' => true,
+ 'control_registered' =>
!$all_items,
+ 'check_for_control' => true
+ )
+ );
+ $components = array_merge($components,
$_components);
+ }
+ }
+
$total_records = count($components);
$all_components = array();
$components_with_calendar_array = array();
// _debug_array($components);
foreach($components as $_component)
{
+ $location_id = $_component['location_id'];
$component_id = $_component['id'];
$all_components[$component_id] = $_component;
+
+ $short_description =
$_component['short_description'];
+ $short_description .= ' [' .
$_component['location_name']. ']';
+
+ if ($all_items && !$_component['has_control'])
+ {
+ continue;
+ }
$controls =
execMethod('controller.socontrol.get_controls_at_component',
array('location_id' => $location_id, 'component_id' => $component_id));
//_debug_array($controls);
foreach($controls as $_control)
@@ -368,6 +459,7 @@
}
$control_id
= $_control['control_id'];
$control
= $so_control->get_single($_control['control_id']);
+ // one for each serie
$components_for_control_array =
$so_control->get_components_for_control($control_id, $location_id,
$component_id,0);//,$user_id);
// LOCATIONS: Process aggregated values
for controls with repeat type day or week
@@ -377,27 +469,8 @@
// COMPONENTS: Process
aggregated values for controls with repeat type day or week
foreach($components_for_control_array as $component)
{
- $short_desc_arr =
execMethod('property.soentity.get_short_description', array(
- 'location_id'
=> $component->get_location_id(), 'id' => $component->get_id()));
-
if(!isset($_location_name[$component->get_location_code()]))
- {
- $_location
= execMethod('property.solocation.read_single',
$component->get_location_code());
- $location_arr
= explode('-', $component->get_location_code());
- $i
= 1;
- $name_arr
= array();
-
foreach($location_arr as $_dummy)
- {
-
$name_arr[] = $_location["loc{$i}_name"];
- $i++;
- }
+
$component->set_xml_short_desc("
{$location_type_name[$location_id]}</br>{$short_description}");
-
$_location_name[$component->get_location_code()] = implode('::', $name_arr);
- }
-
- $short_desc_arr .= ' ['
. $_location_name[$component->get_location_code()] . ']';
-
-
$component->set_xml_short_desc($short_desc_arr);
-
$repeat_type
= $control->get_repeat_type();
$component_with_check_lists =
$this->so->get_check_lists_for_control_and_component($control_id,
$component->get_location_id(), $component->get_id(), $from_date_ts,
$to_date_ts, $repeat_type);
@@ -423,32 +496,8 @@
{
foreach($components_for_control_array as $component)
{
- $short_desc_arr =
execMethod('property.soentity.get_short_description', array(
- 'location_id'
=> $component->get_location_id(), 'id' => $component->get_id()));
+
$component->set_xml_short_desc("
{$location_type_name[$location_id]}</br>{$short_description}");
- //FIXME - make generic
-
- /* => */
-
if(!isset($_location_name[$component->get_location_code()]))
- {
- $_location
= execMethod('property.solocation.read_single',
$component->get_location_code());
- $location_arr
= explode('-', $component->get_location_code());
- $i
= 1;
- $name_arr
= array();
-
foreach($location_arr as $_dummy)
- {
-
$name_arr[] = $_location["loc{$i}_name"];
- $i++;
- }
-
-
$_location_name[$component->get_location_code()] = implode('::', $name_arr);
- }
-
- $short_desc_arr .= ' ['
. $_location_name[$component->get_location_code()] . ']';
- /* <= */
-
-
$component->set_xml_short_desc($short_desc_arr);
-
$repeat_type
= $control->get_repeat_type();
$component_with_check_lists =
$this->so->get_check_lists_for_control_and_component($control_id,
$component->get_location_id(), $component->get_id(), $from_date_ts,
$to_date_ts, $repeat_type);// ,$user_id);
@@ -497,7 +546,7 @@
}
}
}
- _debug_array($components_with_calendar_array);
+// _debug_array($components_with_calendar_array);
unset($component_id);
// _debug_array($components_with_calendar_array[1]);
// _debug_array($components);
@@ -515,7 +564,7 @@
{
unset($all_components[$component_id]);
$data = array();
-
+ $location_id =
$entry[0]['component']['location_id'];
$component_link_data = array
(
'menuaction' =>
'property.uientity.edit',
@@ -577,6 +626,7 @@
foreach($all_components as $component_id =>
$component)
{
$data = array();
+ $location_id =
$component['location_id'];
$component_link_data = array
(
@@ -586,30 +636,10 @@
'active_tab' => 'controller'
);
+ $short_description =
$component['short_description'];
+ $short_description .= "[
{$component['location_name']} ]";
- ///////
- $short_desc_arr =
execMethod('property.soentity.get_short_description', array(
- 'location_id' => $location_id,
'id' => $component['id']));
-
-
if(!isset($_location_name[$component['location_code']]))
- {
- $_location =
execMethod('property.solocation.read_single', $component['location_code']);
- $location_arr = explode('-',
$component['location_code']);
- $i
= 1;
- $name_arr =
array();
- foreach($location_arr as
$_dummy)
- {
- $name_arr[] =
$_location["loc{$i}_name"];
- $i++;
- }
-
-
$_location_name[$component['location_code']] = implode('::', $name_arr);
- }
-
- $short_desc_arr .= ' [' .
$_location_name[$component['location_code']] . ']';
-
- //////
- $data['component_id'] = '<a
href="'.$GLOBALS['phpgw']->link('/index.php',$component_link_data)."\"
target='_blank'>{$component_id}{$short_desc_arr}</a>";
+ $data['component_id'] = '<a
href="'.$GLOBALS['phpgw']->link('/index.php',$component_link_data)."\"
target='_blank'>{$component_id}
{$location_type_name[$location_id]}</br>{$short_description}</a>";
$data['missing_control'] = true;
$values[] = $data;
@@ -629,7 +659,7 @@
if(!isset($entry['missing_control']))
{
$row['year'] = $year;
- $row['descr'] =
"Frekvens<br/>Status<br/>Ansvarlig<br/>Utførende<br/>service tid<br/>kontroll
tid";
+ $row['descr'] =
"Frekvens<br/>Status<br/>Utførende<br/>Tidsbruk";
}
for ( $_month=1; $_month < 13; $_month++ )
@@ -694,6 +724,8 @@
$result['time_sum'][0] = $sum_year;
$result['total_records'] = $total_records;
+ $result['location_filter'] = $location_filter;
+
return $result;
}
@@ -707,27 +739,35 @@
{
case "CONTROL_NOT_DONE":
$status = 'Ikke utført';
+ $img = "<img height=\"15\"
src=\"controller/images/status_icon_red_cross.png\" title=\"{$status}\"/>";
break;
case "CONTROL_REGISTERED":
$status = 'Registrert';
+ $img = "<img height=\"15\"
src=\"controller/images/status_icon_yellow_ring.png\" title=\"{$status}\"/>";
break;
case "CONTROL_PLANNED":
$status = 'Planlagt';
+ $img = "<img height=\"15\"
src=\"controller/images/status_icon_yellow.png\" title=\"{$status}\"/>";
break;
case "CONTROL_NOT_DONE_WITH_PLANNED_DATE":
$status = 'Forsinket, Ikke utført';
+ $img = "<img height=\"15\"
src=\"controller/images/status_icon_red_cross.png\" title=\"{$status}\"/>";
break;
case "CONTROL_DONE_OVER_TIME_WITHOUT_ERRORS":
$status = 'Senere enn planagt';
+ $img = "<img height=\"15\"
src=\"controller/images/status_icon_light_green.png\" title=\"{$status}\"/>";
break;
case "CONTROL_DONE_IN_TIME_WITHOUT_ERRORS":
$status = 'Utført uten avvik';
+ $img = "<img height=\"15\"
src=\"controller/images/status_icon_dark_green.png\" title=\"{$status}\"/>";
break;
case "CONTROL_DONE_WITH_ERRORS":
$status = "Utført med
{$param['info']['num_open_cases']} åpne avvik";
+ $img = "<img height=\"15\"
src=\"controller/images/status_icon_yellow_ring.png\" title=\"{$status}\"/>
({$param['info']['num_open_cases']})";
break;
case "CONTROL_CANCELED":
$status = 'Kansellert';
+ $img = "<img height=\"15\"
src=\"controller/images/status_icon_black_cross.png\" title=\"{$status}\"/>";
break;
default:
$status = '';
@@ -743,12 +783,7 @@
}
else
{
- $menuaction =
'controller.uicalendar.view_calendar_year_for_locations';
- if($param['info']['repeat_type'] < 2)
- {
- $menuaction =
'controller.uicalendar.view_calendar_month_for_locations';
- }
-
+ $menuaction =
'controller.uicheck_list.add_check_list';
$control_link_data = array
(
'menuaction' => $menuaction,
@@ -756,18 +791,20 @@
'location_id' =>
$param['info']['location_id'],
'component_id' =>
$param['info']['component_id'],
'serie_id' =>
$param['info']['serie_id'],
- 'year' => $year,
- 'month' => $month
+ 'deadline_ts' => mktime(23, 59, 00,
$month, date('t', $month), $year),
+ 'type' =>
$param['info']['component_id'] ? 'component' : ''
);
}
- $repeat_type = '<a
href="'.$GLOBALS['phpgw']->link('/index.php',$control_link_data).'"
target="_blank">'. $param['repeat_type'].'</a>';
+ $link = "<a
href=\"".$GLOBALS['phpgw']->link('/index.php',$control_link_data)."\"
target=\"_blank\">{$img}</a>";
- // $repeat_type = $param['repeat_type'];
- $responsible = '---';
- $assigned_to = $param['info']['assigned_to'] > 0 ?
$GLOBALS['phpgw']->accounts->id2name($param['info']['assigned_to']) : ' ';
- $service_time = $param['info']['service_time'] ?
$param['info']['service_time'] : ' ';
- $controle_time = $param['info']['controle_time'] ?
$param['info']['controle_time'] : ' ';
+ $repeat_type = $param['repeat_type'];
+ // $responsible = '---';
+ $assigned_to = $param['info']['assigned_to'] > 0 ?
$GLOBALS['phpgw']->accounts->id2lid($param['info']['assigned_to']) : ' ';
+ // $service_time = $param['info']['service_time'] ?
$param['info']['service_time'] : ' ';
+ // $controle_time = $param['info']['controle_time'] ?
$param['info']['controle_time'] : ' ';
+ $time = $param['info']['service_time'] +
$param['info']['controle_time'];
+ $time = $time ? $time : ' ';
- return
"{$repeat_type}<br/>{$status}<br/>{$responsible}<br/>{$assigned_to}<br/>{$service_time}<br/>{$controle_time}";
+ return
"{$repeat_type}<br/>{$link}<br/>{$assigned_to}<br/>{$time}";
}
}
\ No newline at end of file
Modified:
branches/dev-syncromind/controller/inc/component/class.check_list_status_manager.inc.php
===================================================================
---
branches/dev-syncromind/controller/inc/component/class.check_list_status_manager.inc.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/controller/inc/component/class.check_list_status_manager.inc.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -38,11 +38,11 @@
public function __construct($check_list, $type = '')
{
$this->check_list = $check_list;
- $this->type = $type;
if(!$type)
{
$check_list->get_component_id() ? 'component' :
'';
}
+ $this->type = $type;
}
function get_status_for_check_list()
Modified:
branches/dev-syncromind/controller/inc/component/class.year_calendar.inc.php
===================================================================
---
branches/dev-syncromind/controller/inc/component/class.year_calendar.inc.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/controller/inc/component/class.year_calendar.inc.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -16,7 +16,7 @@
private $calendar_array = array();
private $control_relation = array();
- public function __construct($control, $year, $component, $location_code,
$type, $control_relation)
+ public function __construct($control, $year, $component, $location_code,
$type, $control_relation = array())
{
$this->year = $year;
$this->control = $control;
@@ -100,7 +100,7 @@
$month_nr = date("n",
$check_list_status_info->get_deadline_date_ts());
$repeat_type = $check_list->get_repeat_type();
- if( !isset($this->calendar_array[ $month_nr ]) ||
$repeat_type > $this->calendar_array[ $month_nr ]['repeat_type'])
+ // if( !isset($this->calendar_array[ $month_nr ]) ||
$repeat_type > $this->calendar_array[ $month_nr ]['repeat_type'])
{
$this->calendar_array[ $month_nr
]['repeat_type'] = $repeat_type;
$this->calendar_array[ $month_nr ]["status"] =
$check_list_status_info->get_status();
Modified: branches/dev-syncromind/controller/templates/base/component.xsl
===================================================================
--- branches/dev-syncromind/controller/templates/base/component.xsl
2015-06-03 23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/controller/templates/base/component.xsl
2015-06-04 07:54:16 UTC (rev 13345)
@@ -210,7 +210,40 @@
$("#month10").html(time_sum[10]);
$("#month11").html(time_sum[11]);
$("#month12").html(time_sum[12]);
+ if(data.location_filter)
+ {
+ var obj =
data.location_filter;
+ var htmlString =
"<option value=''>" + obj.length + " register funnet</option>";
+ var entity_group_id =
$("#entity_group_id").val();
+ var location_id =
$("#location_id").val();
+
+ if(entity_group_id)
+ {
+ var selected =
'';
+ if(location_id
== -1)
+ {
+
selected = ' selected';
+ }
+ htmlString +=
"<option value='-1'" + selected + ">Velg alle</option>";
+ }
+
+ $.each(obj, function(i)
+ {
+ var selected =
'';
+
if(obj[i].selected == 1)
+ {
+
selected = ' selected';
+ }
+
+ htmlString +=
"<option value='" + obj[i].id + "'" + selected + ">" + obj[i].name +
"</option>";
+
+ });
+
+ $("#location_id").html(
htmlString );
+
+ }
}
+
}
});
Modified: branches/dev-syncromind/hrm/setup/phpgw_no.lang
===================================================================
--- branches/dev-syncromind/hrm/setup/phpgw_no.lang 2015-06-03 23:04:00 UTC
(rev 13344)
+++ branches/dev-syncromind/hrm/setup/phpgw_no.lang 2015-06-04 07:54:16 UTC
(rev 13345)
@@ -12,7 +12,7 @@
Entry date hrm no Registrert dato
home email hrm no epost hjemme
home phone hrm no tlf hjemme
-hrm hrm no Kompetanse styring
+hrm hrm no Kompetansestyring
job hrm no jobb
job has been edited hrm no jobb er rettet
Job type hrm no jobb-type
Copied:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Arborize.php
(from rev 13344, trunk/phpgwapi/inc/htmlpurifier/HTMLPurifier/Arborize.php)
===================================================================
--- branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Arborize.php
(rev 0)
+++ branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/Arborize.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * Converts a stream of HTMLPurifier_Token into an HTMLPurifier_Node,
+ * and back again.
+ *
+ * @note This transformation is not an equivalence. We mutate the input
+ * token stream to make it so; see all [MUT] markers in code.
+ */
+class HTMLPurifier_Arborize
+{
+ public static function arborize($tokens, $config, $context) {
+ $definition = $config->getHTMLDefinition();
+ $parent = new HTMLPurifier_Token_Start($definition->info_parent);
+ $stack = array($parent->toNode());
+ foreach ($tokens as $token) {
+ $token->skip = null; // [MUT]
+ $token->carryover = null; // [MUT]
+ if ($token instanceof HTMLPurifier_Token_End) {
+ $token->start = null; // [MUT]
+ $r = array_pop($stack);
+ assert($r->name === $token->name);
+ assert(empty($token->attr));
+ $r->endCol = $token->col;
+ $r->endLine = $token->line;
+ $r->endArmor = $token->armor;
+ continue;
+ }
+ $node = $token->toNode();
+ $stack[count($stack)-1]->children[] = $node;
+ if ($token instanceof HTMLPurifier_Token_Start) {
+ $stack[] = $node;
+ }
+ }
+ assert(count($stack) == 1);
+ return $stack[0];
+ }
+
+ public static function flatten($node, $config, $context) {
+ $level = 0;
+ $nodes = array($level => new HTMLPurifier_Queue(array($node)));
+ $closingTokens = array();
+ $tokens = array();
+ do {
+ while (!$nodes[$level]->isEmpty()) {
+ $node = $nodes[$level]->shift(); // FIFO
+ list($start, $end) = $node->toTokenPair();
+ if ($level > 0) {
+ $tokens[] = $start;
+ }
+ if ($end !== NULL) {
+ $closingTokens[$level][] = $end;
+ }
+ if ($node instanceof HTMLPurifier_Node_Element) {
+ $level++;
+ $nodes[$level] = new HTMLPurifier_Queue();
+ foreach ($node->children as $childNode) {
+ $nodes[$level]->push($childNode);
+ }
+ }
+ }
+ $level--;
+ if ($level && isset($closingTokens[$level])) {
+ while ($token = array_pop($closingTokens[$level])) {
+ $tokens[] = $token;
+ }
+ }
+ } while ($level > 0);
+ return $tokens;
+ }
+}
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrCollections.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrCollections.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrCollections.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -8,7 +8,8 @@
{
/**
- * Associative array of attribute collections, indexed by name
+ * Associative array of attribute collections, indexed by name.
+ * @type array
*/
public $info = array();
@@ -16,10 +17,11 @@
* Performs all expansions on internal data for use by other inclusions
* It also collects all attribute collection extensions from
* modules
- * @param $attr_types HTMLPurifier_AttrTypes instance
- * @param $modules Hash array of HTMLPurifier_HTMLModule members
+ * @param HTMLPurifier_AttrTypes $attr_types HTMLPurifier_AttrTypes
instance
+ * @param HTMLPurifier_HTMLModule[] $modules Hash array of
HTMLPurifier_HTMLModule members
*/
- public function __construct($attr_types, $modules) {
+ public function __construct($attr_types, $modules)
+ {
// load extensions from the modules
foreach ($modules as $module) {
foreach ($module->attr_collections as $coll_i => $coll) {
@@ -30,7 +32,9 @@
if ($attr_i === 0 && isset($this->info[$coll_i][$attr_i]))
{
// merge in includes
$this->info[$coll_i][$attr_i] = array_merge(
- $this->info[$coll_i][$attr_i], $attr);
+ $this->info[$coll_i][$attr_i],
+ $attr
+ );
continue;
}
$this->info[$coll_i][$attr_i] = $attr;
@@ -49,20 +53,29 @@
/**
* Takes a reference to an attribute associative array and performs
* all inclusions specified by the zero index.
- * @param &$attr Reference to attribute array
+ * @param array &$attr Reference to attribute array
*/
- public function performInclusions(&$attr) {
- if (!isset($attr[0])) return;
+ public function performInclusions(&$attr)
+ {
+ if (!isset($attr[0])) {
+ return;
+ }
$merge = $attr[0];
$seen = array(); // recursion guard
// loop through all the inclusions
for ($i = 0; isset($merge[$i]); $i++) {
- if (isset($seen[$merge[$i]])) continue;
+ if (isset($seen[$merge[$i]])) {
+ continue;
+ }
$seen[$merge[$i]] = true;
// foreach attribute of the inclusion, copy it over
- if (!isset($this->info[$merge[$i]])) continue;
+ if (!isset($this->info[$merge[$i]])) {
+ continue;
+ }
foreach ($this->info[$merge[$i]] as $key => $value) {
- if (isset($attr[$key])) continue; // also catches more
inclusions
+ if (isset($attr[$key])) {
+ continue;
+ } // also catches more inclusions
$attr[$key] = $value;
}
if (isset($this->info[$merge[$i]][0])) {
@@ -76,20 +89,24 @@
/**
* Expands all string identifiers in an attribute array by replacing
* them with the appropriate values inside HTMLPurifier_AttrTypes
- * @param &$attr Reference to attribute array
- * @param $attr_types HTMLPurifier_AttrTypes instance
+ * @param array &$attr Reference to attribute array
+ * @param HTMLPurifier_AttrTypes $attr_types HTMLPurifier_AttrTypes
instance
*/
- public function expandIdentifiers(&$attr, $attr_types) {
-
+ public function expandIdentifiers(&$attr, $attr_types)
+ {
// because foreach will process new elements we add, make sure we
// skip duplicates
$processed = array();
foreach ($attr as $def_i => $def) {
// skip inclusions
- if ($def_i === 0) continue;
+ if ($def_i === 0) {
+ continue;
+ }
- if (isset($processed[$def_i])) continue;
+ if (isset($processed[$def_i])) {
+ continue;
+ }
// determine whether or not attribute is required
if ($required = (strpos($def_i, '*') !== false)) {
@@ -120,9 +137,7 @@
unset($attr[$def_i]);
}
}
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -3,19 +3,32 @@
class HTMLPurifier_AttrDef_CSS_AlphaValue extends
HTMLPurifier_AttrDef_CSS_Number
{
- public function __construct() {
+ public function __construct()
+ {
parent::__construct(false); // opacity is non-negative, but we will
clamp it
}
- public function validate($number, $config, $context) {
+ /**
+ * @param string $number
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function validate($number, $config, $context)
+ {
$result = parent::validate($number, $config, $context);
- if ($result === false) return $result;
- $float = (float) $result;
- if ($float < 0.0) $result = '0';
- if ($float > 1.0) $result = '1';
+ if ($result === false) {
+ return $result;
+ }
+ $float = (float)$result;
+ if ($float < 0.0) {
+ $result = '0';
+ }
+ if ($float > 1.0) {
+ $result = '1';
+ }
return $result;
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Background.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Background.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Background.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -9,11 +9,16 @@
/**
* Local copy of component validators.
+ * @type HTMLPurifier_AttrDef[]
* @note See HTMLPurifier_AttrDef_Font::$info for a similar impl.
*/
protected $info;
- public function __construct($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
$def = $config->getCSSDefinition();
$this->info['background-color'] = $def->info['background-color'];
$this->info['background-image'] = $def->info['background-image'];
@@ -22,11 +27,19 @@
$this->info['background-position'] = $def->info['background-position'];
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
// regular pre-processing
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
// munge rgb() decl if necessary
$string = $this->mungeRgb($string);
@@ -42,20 +55,27 @@
$caught['position'] = false;
$i = 0; // number of catches
- $none = false;
foreach ($bits as $bit) {
- if ($bit === '') continue;
+ if ($bit === '') {
+ continue;
+ }
foreach ($caught as $key => $status) {
if ($key != 'position') {
- if ($status !== false) continue;
+ if ($status !== false) {
+ continue;
+ }
$r = $this->info['background-' . $key]->validate($bit,
$config, $context);
} else {
$r = $bit;
}
- if ($r === false) continue;
+ if ($r === false) {
+ continue;
+ }
if ($key == 'position') {
- if ($caught[$key] === false) $caught[$key] = '';
+ if ($caught[$key] === false) {
+ $caught[$key] = '';
+ }
$caught[$key] .= $r . ' ';
} else {
$caught[$key] = $r;
@@ -65,7 +85,9 @@
}
}
- if (!$i) return false;
+ if (!$i) {
+ return false;
+ }
if ($caught['position'] !== false) {
$caught['position'] = $this->info['background-position']->
validate($caught['position'], $config, $context);
@@ -73,15 +95,17 @@
$ret = array();
foreach ($caught as $value) {
- if ($value === false) continue;
+ if ($value === false) {
+ continue;
+ }
$ret[] = $value;
}
- if (empty($ret)) return false;
+ if (empty($ret)) {
+ return false;
+ }
return implode(' ', $ret);
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -44,15 +44,30 @@
class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef
{
+ /**
+ * @type HTMLPurifier_AttrDef_CSS_Length
+ */
protected $length;
+
+ /**
+ * @type HTMLPurifier_AttrDef_CSS_Percentage
+ */
protected $percentage;
- public function __construct() {
+ public function __construct()
+ {
$this->length = new HTMLPurifier_AttrDef_CSS_Length();
$this->percentage = new HTMLPurifier_AttrDef_CSS_Percentage();
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
$bits = explode(' ', $string);
@@ -74,7 +89,9 @@
);
foreach ($bits as $bit) {
- if ($bit === '') continue;
+ if ($bit === '') {
+ continue;
+ }
// test for keyword
$lbit = ctype_lower($bit) ? $bit : strtolower($bit);
@@ -104,30 +121,37 @@
$measures[] = $r;
$i++;
}
-
}
- if (!$i) return false; // no valid values were caught
+ if (!$i) {
+ return false;
+ } // no valid values were caught
$ret = array();
// first keyword
- if ($keywords['h']) $ret[] = $keywords['h'];
- elseif ($keywords['ch']) {
+ if ($keywords['h']) {
+ $ret[] = $keywords['h'];
+ } elseif ($keywords['ch']) {
$ret[] = $keywords['ch'];
$keywords['cv'] = false; // prevent re-use: center = center center
+ } elseif (count($measures)) {
+ $ret[] = array_shift($measures);
}
- elseif (count($measures)) $ret[] = array_shift($measures);
- if ($keywords['v']) $ret[] = $keywords['v'];
- elseif ($keywords['cv']) $ret[] = $keywords['cv'];
- elseif (count($measures)) $ret[] = array_shift($measures);
+ if ($keywords['v']) {
+ $ret[] = $keywords['v'];
+ } elseif ($keywords['cv']) {
+ $ret[] = $keywords['cv'];
+ } elseif (count($measures)) {
+ $ret[] = array_shift($measures);
+ }
- if (empty($ret)) return false;
+ if (empty($ret)) {
+ return false;
+ }
return implode(' ', $ret);
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Border.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Border.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Border.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -8,17 +8,29 @@
/**
* Local copy of properties this property is shorthand for.
+ * @type HTMLPurifier_AttrDef[]
*/
protected $info = array();
- public function __construct($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
$def = $config->getCSSDefinition();
$this->info['border-width'] = $def->info['border-width'];
$this->info['border-style'] = $def->info['border-style'];
$this->info['border-top-color'] = $def->info['border-top-color'];
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
$string = $this->mungeRgb($string);
$bits = explode(' ', $string);
@@ -26,7 +38,9 @@
$ret = ''; // return value
foreach ($bits as $bit) {
foreach ($this->info as $propname => $validator) {
- if (isset($done[$propname])) continue;
+ if (isset($done[$propname])) {
+ continue;
+ }
$r = $validator->validate($bit, $config, $context);
if ($r !== false) {
$ret .= $r . ' ';
@@ -37,7 +51,6 @@
}
return rtrim($ret);
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Color.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Color.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Color.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,29 +6,47 @@
class HTMLPurifier_AttrDef_CSS_Color extends HTMLPurifier_AttrDef
{
- public function validate($color, $config, $context) {
-
+ /**
+ * @param string $color
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($color, $config, $context)
+ {
static $colors = null;
- if ($colors === null) $colors = $config->get('Core.ColorKeywords');
+ if ($colors === null) {
+ $colors = $config->get('Core.ColorKeywords');
+ }
$color = trim($color);
- if ($color === '') return false;
+ if ($color === '') {
+ return false;
+ }
$lower = strtolower($color);
- if (isset($colors[$lower])) return $colors[$lower];
+ if (isset($colors[$lower])) {
+ return $colors[$lower];
+ }
if (strpos($color, 'rgb(') !== false) {
// rgb literal handling
$length = strlen($color);
- if (strpos($color, ')') !== $length - 1) return false;
+ if (strpos($color, ')') !== $length - 1) {
+ return false;
+ }
$triad = substr($color, 4, $length - 4 - 1);
$parts = explode(',', $triad);
- if (count($parts) !== 3) return false;
+ if (count($parts) !== 3) {
+ return false;
+ }
$type = false; // to ensure that they're all the same type
$new_parts = array();
foreach ($parts as $part) {
$part = trim($part);
- if ($part === '') return false;
+ if ($part === '') {
+ return false;
+ }
$length = strlen($part);
if ($part[$length - 1] === '%') {
// handle percents
@@ -37,9 +55,13 @@
} elseif ($type !== 'percentage') {
return false;
}
- $num = (float) substr($part, 0, $length - 1);
- if ($num < 0) $num = 0;
- if ($num > 100) $num = 100;
+ $num = (float)substr($part, 0, $length - 1);
+ if ($num < 0) {
+ $num = 0;
+ }
+ if ($num > 100) {
+ $num = 100;
+ }
$new_parts[] = "$num%";
} else {
// handle integers
@@ -48,10 +70,14 @@
} elseif ($type !== 'integer') {
return false;
}
- $num = (int) $part;
- if ($num < 0) $num = 0;
- if ($num > 255) $num = 255;
- $new_parts[] = (string) $num;
+ $num = (int)$part;
+ if ($num < 0) {
+ $num = 0;
+ }
+ if ($num > 255) {
+ $num = 255;
+ }
+ $new_parts[] = (string)$num;
}
}
$new_triad = implode(',', $new_parts);
@@ -65,14 +91,15 @@
$color = '#' . $color;
}
$length = strlen($hex);
- if ($length !== 3 && $length !== 6) return false;
- if (!ctype_xdigit($hex)) return false;
+ if ($length !== 3 && $length !== 6) {
+ return false;
+ }
+ if (!ctype_xdigit($hex)) {
+ return false;
+ }
}
-
return $color;
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Composite.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Composite.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Composite.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -13,26 +13,36 @@
{
/**
- * List of HTMLPurifier_AttrDef objects that may process strings
+ * List of objects that may process strings.
+ * @type HTMLPurifier_AttrDef[]
* @todo Make protected
*/
public $defs;
/**
- * @param $defs List of HTMLPurifier_AttrDef objects
+ * @param HTMLPurifier_AttrDef[] $defs List of HTMLPurifier_AttrDef objects
*/
- public function __construct($defs) {
+ public function __construct($defs)
+ {
$this->defs = $defs;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
foreach ($this->defs as $i => $def) {
$result = $this->defs[$i]->validate($string, $config, $context);
- if ($result !== false) return $result;
+ if ($result !== false) {
+ return $result;
+ }
}
return false;
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -5,22 +5,38 @@
*/
class HTMLPurifier_AttrDef_CSS_DenyElementDecorator extends
HTMLPurifier_AttrDef
{
- public $def, $element;
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ public $def;
+ /**
+ * @type string
+ */
+ public $element;
/**
- * @param $def Definition to wrap
- * @param $element Element to deny
+ * @param HTMLPurifier_AttrDef $def Definition to wrap
+ * @param string $element Element to deny
*/
- public function __construct($def, $element) {
+ public function __construct($def, $element)
+ {
$this->def = $def;
$this->element = $element;
}
+
/**
* Checks if CurrentToken is set and equal to $this->element
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
*/
- public function validate($string, $config, $context) {
+ public function validate($string, $config, $context)
+ {
$token = $context->get('CurrentToken', true);
- if ($token && $token->name == $this->element) return false;
+ if ($token && $token->name == $this->element) {
+ return false;
+ }
return $this->def->validate($string, $config, $context);
}
}
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Filter.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Filter.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Filter.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -7,23 +7,37 @@
*/
class HTMLPurifier_AttrDef_CSS_Filter extends HTMLPurifier_AttrDef
{
-
+ /**
+ * @type HTMLPurifier_AttrDef_Integer
+ */
protected $intValidator;
- public function __construct() {
+ public function __construct()
+ {
$this->intValidator = new HTMLPurifier_AttrDef_Integer();
}
- public function validate($value, $config, $context) {
+ /**
+ * @param string $value
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($value, $config, $context)
+ {
$value = $this->parseCDATA($value);
- if ($value === 'none') return $value;
+ if ($value === 'none') {
+ return $value;
+ }
// if we looped this we could support multiple filters
$function_length = strcspn($value, '(');
$function = trim(substr($value, 0, $function_length));
if ($function !== 'alpha' &&
$function !== 'Alpha' &&
$function !== 'progid:DXImageTransform.Microsoft.Alpha'
- ) return false;
+ ) {
+ return false;
+ }
$cursor = $function_length + 1;
$parameters_length = strcspn($value, ')', $cursor);
$parameters = substr($value, $cursor, $parameters_length);
@@ -34,13 +48,23 @@
list($key, $value) = explode('=', $param);
$key = trim($key);
$value = trim($value);
- if (isset($lookup[$key])) continue;
- if ($key !== 'opacity') continue;
+ if (isset($lookup[$key])) {
+ continue;
+ }
+ if ($key !== 'opacity') {
+ continue;
+ }
$value = $this->intValidator->validate($value, $config, $context);
- if ($value === false) continue;
- $int = (int) $value;
- if ($int > 100) $value = '100';
- if ($int < 0) $value = '0';
+ if ($value === false) {
+ continue;
+ }
+ $int = (int)$value;
+ if ($int > 100) {
+ $value = '100';
+ }
+ if ($int < 0) {
+ $value = '0';
+ }
$ret_params[] = "$key=$value";
$lookup[$key] = true;
}
@@ -48,7 +72,6 @@
$ret_function = "$function($ret_parameters)";
return $ret_function;
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Font.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Font.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Font.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -7,8 +7,8 @@
{
/**
- * Local copy of component validators.
- *
+ * Local copy of validators
+ * @type HTMLPurifier_AttrDef[]
* @note If we moved specific CSS property definitions to their own
* classes instead of having them be assembled at run time by
* CSSDefinition, this wouldn't be necessary. We'd instantiate
@@ -16,7 +16,11 @@
*/
protected $info = array();
- public function __construct($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
$def = $config->getCSSDefinition();
$this->info['font-style'] = $def->info['font-style'];
$this->info['font-variant'] = $def->info['font-variant'];
@@ -26,8 +30,14 @@
$this->info['font-family'] = $def->info['font-family'];
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
static $system_fonts = array(
'caption' => true,
'icon' => true,
@@ -39,7 +49,9 @@
// regular pre-processing
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
// check if it's one of the keywords
$lowercase_string = strtolower($string);
@@ -54,15 +66,20 @@
$final = ''; // output
for ($i = 0, $size = count($bits); $i < $size; $i++) {
- if ($bits[$i] === '') continue;
+ if ($bits[$i] === '') {
+ continue;
+ }
switch ($stage) {
-
- // attempting to catch font-style, font-variant or font-weight
- case 0:
+ case 0: // attempting to catch font-style, font-variant or
font-weight
foreach ($stage_1 as $validator_name) {
- if (isset($caught[$validator_name])) continue;
+ if (isset($caught[$validator_name])) {
+ continue;
+ }
$r = $this->info[$validator_name]->validate(
- $bits[$i], $config, $context);
+ $bits[$i],
+ $config,
+ $context
+ );
if ($r !== false) {
$final .= $r . ' ';
$caught[$validator_name] = true;
@@ -70,11 +87,13 @@
}
}
// all three caught, continue on
- if (count($caught) >= 3) $stage = 1;
- if ($r !== false) break;
-
- // attempting to catch font-size and perhaps line-height
- case 1:
+ if (count($caught) >= 3) {
+ $stage = 1;
+ }
+ if ($r !== false) {
+ break;
+ }
+ case 1: // attempting to catch font-size and perhaps
line-height
$found_slash = false;
if (strpos($bits[$i], '/') !== false) {
list($font_size, $line_height) =
@@ -89,14 +108,19 @@
$line_height = false;
}
$r = $this->info['font-size']->validate(
- $font_size, $config, $context);
+ $font_size,
+ $config,
+ $context
+ );
if ($r !== false) {
$final .= $r;
// attempt to catch line-height
if ($line_height === false) {
// we need to scroll forward
for ($j = $i + 1; $j < $size; $j++) {
- if ($bits[$j] === '') continue;
+ if ($bits[$j] === '') {
+ continue;
+ }
if ($bits[$j] === '/') {
if ($found_slash) {
return false;
@@ -116,7 +140,10 @@
if ($found_slash) {
$i = $j;
$r = $this->info['line-height']->validate(
- $line_height, $config, $context);
+ $line_height,
+ $config,
+ $context
+ );
if ($r !== false) {
$final .= '/' . $r;
}
@@ -126,13 +153,14 @@
break;
}
return false;
-
- // attempting to catch font-family
- case 2:
+ case 2: // attempting to catch font-family
$font_family =
implode(' ', array_slice($bits, $i, $size - $i));
$r = $this->info['font-family']->validate(
- $font_family, $config, $context);
+ $font_family,
+ $config,
+ $context
+ );
if ($r !== false) {
$final .= $r . ' ';
// processing completed successfully
@@ -143,7 +171,6 @@
}
return false;
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -8,11 +8,18 @@
protected $mask = null;
- public function __construct() {
+ public function __construct()
+ {
$this->mask = '_- ';
- for ($c = 'a'; $c <= 'z'; $c++) $this->mask .= $c;
- for ($c = 'A'; $c <= 'Z'; $c++) $this->mask .= $c;
- for ($c = '0'; $c <= '9'; $c++) $this->mask .= $c; // cast-y, but
should be fine
+ for ($c = 'a'; $c <= 'z'; $c++) {
+ $this->mask .= $c;
+ }
+ for ($c = 'A'; $c <= 'Z'; $c++) {
+ $this->mask .= $c;
+ }
+ for ($c = '0'; $c <= '9'; $c++) {
+ $this->mask .= $c;
+ } // cast-y, but should be fine
// special bytes used by UTF-8
for ($i = 0x80; $i <= 0xFF; $i++) {
// We don't bother excluding invalid bytes in this range,
@@ -39,7 +46,14 @@
// possible optimization: invert the mask.
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
static $generic_names = array(
'serif' => true,
'sans-serif' => true,
@@ -52,9 +66,11 @@
// assume that no font names contain commas in them
$fonts = explode(',', $string);
$final = '';
- foreach($fonts as $font) {
+ foreach ($fonts as $font) {
$font = trim($font);
- if ($font === '') continue;
+ if ($font === '') {
+ continue;
+ }
// match a generic name
if (isset($generic_names[$font])) {
if ($allowed_fonts === null || isset($allowed_fonts[$font])) {
@@ -65,9 +81,13 @@
// match a quoted name
if ($font[0] === '"' || $font[0] === "'") {
$length = strlen($font);
- if ($length <= 2) continue;
+ if ($length <= 2) {
+ continue;
+ }
$quote = $font[0];
- if ($font[$length - 1] !== $quote) continue;
+ if ($font[$length - 1] !== $quote) {
+ continue;
+ }
$font = substr($font, 1, $length - 2);
}
@@ -188,7 +208,9 @@
$final .= "'$font', ";
}
$final = rtrim($final, ', ');
- if ($final === '') return false;
+ if ($final === '') {
+ return false;
+ }
return $final;
}
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Ident.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Ident.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Ident.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,19 +6,27 @@
class HTMLPurifier_AttrDef_CSS_Ident extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
// early abort: '' and '0' (strings that convert to false) are invalid
- if (!$string) return false;
+ if (!$string) {
+ return false;
+ }
$pattern = '/^(-?[A-Za-z_][A-Za-z_\-0-9]*)$/';
- if (!preg_match($pattern, $string)) return false;
+ if (!preg_match($pattern, $string)) {
+ return false;
+ }
return $string;
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -5,20 +5,34 @@
*/
class HTMLPurifier_AttrDef_CSS_ImportantDecorator extends HTMLPurifier_AttrDef
{
- public $def, $allow;
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ public $def;
+ /**
+ * @type bool
+ */
+ public $allow;
/**
- * @param $def Definition to wrap
- * @param $allow Whether or not to allow !important
+ * @param HTMLPurifier_AttrDef $def Definition to wrap
+ * @param bool $allow Whether or not to allow !important
*/
- public function __construct($def, $allow = false) {
+ public function __construct($def, $allow = false)
+ {
$this->def = $def;
$this->allow = $allow;
}
+
/**
* Intercepts and removes !important if necessary
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
*/
- public function validate($string, $config, $context) {
+ public function validate($string, $config, $context)
+ {
// test for ! and important tokens
$string = trim($string);
$is_important = false;
@@ -32,7 +46,9 @@
}
}
$string = $this->def->validate($string, $config, $context);
- if ($this->allow && $is_important) $string .= ' !important';
+ if ($this->allow && $is_important) {
+ $string .= ' !important';
+ }
return $string;
}
}
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Length.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Length.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Length.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,42 +6,72 @@
class HTMLPurifier_AttrDef_CSS_Length extends HTMLPurifier_AttrDef
{
- protected $min, $max;
+ /**
+ * @type HTMLPurifier_Length|string
+ */
+ protected $min;
/**
- * @param HTMLPurifier_Length $max Minimum length, or null for no bound.
String is also acceptable.
- * @param HTMLPurifier_Length $max Maximum length, or null for no bound.
String is also acceptable.
+ * @type HTMLPurifier_Length|string
*/
- public function __construct($min = null, $max = null) {
+ protected $max;
+
+ /**
+ * @param HTMLPurifier_Length|string $min Minimum length, or null for no
bound. String is also acceptable.
+ * @param HTMLPurifier_Length|string $max Maximum length, or null for no
bound. String is also acceptable.
+ */
+ public function __construct($min = null, $max = null)
+ {
$this->min = $min !== null ? HTMLPurifier_Length::make($min) : null;
$this->max = $max !== null ? HTMLPurifier_Length::make($max) : null;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
// Optimizations
- if ($string === '') return false;
- if ($string === '0') return '0';
- if (strlen($string) === 1) return false;
+ if ($string === '') {
+ return false;
+ }
+ if ($string === '0') {
+ return '0';
+ }
+ if (strlen($string) === 1) {
+ return false;
+ }
$length = HTMLPurifier_Length::make($string);
- if (!$length->isValid()) return false;
+ if (!$length->isValid()) {
+ return false;
+ }
if ($this->min) {
$c = $length->compareTo($this->min);
- if ($c === false) return false;
- if ($c < 0) return false;
+ if ($c === false) {
+ return false;
+ }
+ if ($c < 0) {
+ return false;
+ }
}
if ($this->max) {
$c = $length->compareTo($this->max);
- if ($c === false) return false;
- if ($c > 0) return false;
+ if ($c === false) {
+ return false;
+ }
+ if ($c > 0) {
+ return false;
+ }
}
-
return $length->toString();
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -8,23 +8,36 @@
{
/**
- * Local copy of component validators.
+ * Local copy of validators.
+ * @type HTMLPurifier_AttrDef[]
* @note See HTMLPurifier_AttrDef_CSS_Font::$info for a similar impl.
*/
protected $info;
- public function __construct($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
$def = $config->getCSSDefinition();
$this->info['list-style-type'] = $def->info['list-style-type'];
$this->info['list-style-position'] = $def->info['list-style-position'];
$this->info['list-style-image'] = $def->info['list-style-image'];
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
// regular pre-processing
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
// assumes URI doesn't have spaces in it
$bits = explode(' ', strtolower($string)); // bits to process
@@ -38,16 +51,29 @@
$none = false;
foreach ($bits as $bit) {
- if ($i >= 3) return; // optimization bit
- if ($bit === '') continue;
+ if ($i >= 3) {
+ return;
+ } // optimization bit
+ if ($bit === '') {
+ continue;
+ }
foreach ($caught as $key => $status) {
- if ($status !== false) continue;
+ if ($status !== false) {
+ continue;
+ }
$r = $this->info['list-style-' . $key]->validate($bit,
$config, $context);
- if ($r === false) continue;
+ if ($r === false) {
+ continue;
+ }
if ($r === 'none') {
- if ($none) continue;
- else $none = true;
- if ($key == 'image') continue;
+ if ($none) {
+ continue;
+ } else {
+ $none = true;
+ }
+ if ($key == 'image') {
+ continue;
+ }
}
$caught[$key] = $r;
$i++;
@@ -55,24 +81,32 @@
}
}
- if (!$i) return false;
+ if (!$i) {
+ return false;
+ }
$ret = array();
// construct type
- if ($caught['type']) $ret[] = $caught['type'];
+ if ($caught['type']) {
+ $ret[] = $caught['type'];
+ }
// construct image
- if ($caught['image']) $ret[] = $caught['image'];
+ if ($caught['image']) {
+ $ret[] = $caught['image'];
+ }
// construct position
- if ($caught['position']) $ret[] = $caught['position'];
+ if ($caught['position']) {
+ $ret[] = $caught['position'];
+ }
- if (empty($ret)) return false;
+ if (empty($ret)) {
+ return false;
+ }
return implode(' ', $ret);
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Multiple.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Multiple.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Multiple.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -13,9 +13,9 @@
*/
class HTMLPurifier_AttrDef_CSS_Multiple extends HTMLPurifier_AttrDef
{
-
/**
* Instance of component definition to defer validation to.
+ * @type HTMLPurifier_AttrDef
* @todo Make protected
*/
public $single;
@@ -27,32 +27,45 @@
public $max;
/**
- * @param $single HTMLPurifier_AttrDef to multiply
- * @param $max Max number of values allowed (usually four)
+ * @param HTMLPurifier_AttrDef $single HTMLPurifier_AttrDef to multiply
+ * @param int $max Max number of values allowed (usually four)
*/
- public function __construct($single, $max = 4) {
+ public function __construct($single, $max = 4)
+ {
$this->single = $single;
$this->max = $max;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
$parts = explode(' ', $string); // parseCDATA replaced \r, \t and \n
$length = count($parts);
$final = '';
for ($i = 0, $num = 0; $i < $length && $num < $this->max; $i++) {
- if (ctype_space($parts[$i])) continue;
+ if (ctype_space($parts[$i])) {
+ continue;
+ }
$result = $this->single->validate($parts[$i], $config, $context);
if ($result !== false) {
$final .= $result . ' ';
$num++;
}
}
- if ($final === '') return false;
+ if ($final === '') {
+ return false;
+ }
return rtrim($final);
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Number.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Number.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Number.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -7,32 +7,44 @@
{
/**
- * Bool indicating whether or not only positive values allowed.
+ * Indicates whether or not only positive values are allowed.
+ * @type bool
*/
protected $non_negative = false;
/**
- * @param $non_negative Bool indicating whether negatives are forbidden
+ * @param bool $non_negative indicates whether negatives are forbidden
*/
- public function __construct($non_negative = false) {
+ public function __construct($non_negative = false)
+ {
$this->non_negative = $non_negative;
}
/**
+ * @param string $number
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string|bool
* @warning Some contexts do not pass $config, $context. These
* variables should not be used without checking
HTMLPurifier_Length
*/
- public function validate($number, $config, $context) {
-
+ public function validate($number, $config, $context)
+ {
$number = $this->parseCDATA($number);
- if ($number === '') return false;
- if ($number === '0') return '0';
+ if ($number === '') {
+ return false;
+ }
+ if ($number === '0') {
+ return '0';
+ }
$sign = '';
switch ($number[0]) {
case '-':
- if ($this->non_negative) return false;
+ if ($this->non_negative) {
+ return false;
+ }
$sign = '-';
case '+':
$number = substr($number, 1);
@@ -44,12 +56,18 @@
}
// Period is the only non-numeric character allowed
- if (strpos($number, '.') === false) return false;
+ if (strpos($number, '.') === false) {
+ return false;
+ }
list($left, $right) = explode('.', $number, 2);
- if ($left === '' && $right === '') return false;
- if ($left !== '' && !ctype_digit($left)) return false;
+ if ($left === '' && $right === '') {
+ return false;
+ }
+ if ($left !== '' && !ctype_digit($left)) {
+ return false;
+ }
$left = ltrim($left, '0');
$right = rtrim($right, '0');
@@ -59,11 +77,8 @@
} elseif (!ctype_digit($right)) {
return false;
}
-
return $sign . $left . '.' . $right;
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Percentage.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Percentage.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/Percentage.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -7,34 +7,48 @@
{
/**
- * Instance of HTMLPurifier_AttrDef_CSS_Number to defer number validation
+ * Instance to defer number validation to.
+ * @type HTMLPurifier_AttrDef_CSS_Number
*/
protected $number_def;
/**
- * @param Bool indicating whether to forbid negative values
+ * @param bool $non_negative Whether to forbid negative values
*/
- public function __construct($non_negative = false) {
+ public function __construct($non_negative = false)
+ {
$this->number_def = new HTMLPurifier_AttrDef_CSS_Number($non_negative);
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
$length = strlen($string);
- if ($length === 1) return false;
- if ($string[$length - 1] !== '%') return false;
+ if ($length === 1) {
+ return false;
+ }
+ if ($string[$length - 1] !== '%') {
+ return false;
+ }
$number = substr($string, 0, $length - 1);
$number = $this->number_def->validate($number, $config, $context);
- if ($number === false) return false;
+ if ($number === false) {
+ return false;
+ }
return "$number%";
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -8,8 +8,14 @@
class HTMLPurifier_AttrDef_CSS_TextDecoration extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
static $allowed_values = array(
'line-through' => true,
'overline' => true,
@@ -18,7 +24,9 @@
$string = strtolower($this->parseCDATA($string));
- if ($string === 'none') return $string;
+ if ($string === 'none') {
+ return $string;
+ }
$parts = explode(' ', $string);
$final = '';
@@ -28,11 +36,11 @@
}
}
$final = rtrim($final);
- if ($final === '') return false;
+ if ($final === '') {
+ return false;
+ }
return $final;
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/URI.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/URI.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS/URI.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -12,25 +12,39 @@
class HTMLPurifier_AttrDef_CSS_URI extends HTMLPurifier_AttrDef_URI
{
- public function __construct() {
+ public function __construct()
+ {
parent::__construct(true); // always embedded
}
- public function validate($uri_string, $config, $context) {
+ /**
+ * @param string $uri_string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($uri_string, $config, $context)
+ {
// parse the URI out of the string and then pass it onto
// the parent object
$uri_string = $this->parseCDATA($uri_string);
- if (strpos($uri_string, 'url(') !== 0) return false;
+ if (strpos($uri_string, 'url(') !== 0) {
+ return false;
+ }
$uri_string = substr($uri_string, 4);
$new_length = strlen($uri_string) - 1;
- if ($uri_string[$new_length] != ')') return false;
+ if ($uri_string[$new_length] != ')') {
+ return false;
+ }
$uri = trim(substr($uri_string, 0, $new_length));
if (!empty($uri) && ($uri[0] == "'" || $uri[0] == '"')) {
$quote = $uri[0];
$new_length = strlen($uri) - 1;
- if ($uri[$new_length] !== $quote) return false;
+ if ($uri[$new_length] !== $quote) {
+ return false;
+ }
$uri = substr($uri, 1, $new_length - 1);
}
@@ -38,7 +52,9 @@
$result = parent::validate($uri, $config, $context);
- if ($result === false) return false;
+ if ($result === false) {
+ return false;
+ }
// extra sanity check; should have been done by URI
$result = str_replace(array('"', "\\", "\n", "\x0c", "\r"), "",
$result);
@@ -51,11 +67,8 @@
// an innerHTML cycle, so a very unlucky query parameter could
// then change the meaning of the URL. Unfortunately, there's
// not much we can do about that...
-
return "url(\"$result\")";
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/CSS.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -14,8 +14,14 @@
class HTMLPurifier_AttrDef_CSS extends HTMLPurifier_AttrDef
{
- public function validate($css, $config, $context) {
-
+ /**
+ * @param string $css
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($css, $config, $context)
+ {
$css = $this->parseCDATA($css);
$definition = $config->getCSSDefinition();
@@ -36,8 +42,12 @@
$context->register('CurrentCSSProperty', $property);
foreach ($declarations as $declaration) {
- if (!$declaration) continue;
- if (!strpos($declaration, ':')) continue;
+ if (!$declaration) {
+ continue;
+ }
+ if (!strpos($declaration, ':')) {
+ continue;
+ }
list($property, $value) = explode(':', $declaration, 2);
$property = trim($property);
$value = trim($value);
@@ -47,23 +57,32 @@
$ok = true;
break;
}
- if (ctype_lower($property)) break;
+ if (ctype_lower($property)) {
+ break;
+ }
$property = strtolower($property);
if (isset($definition->info[$property])) {
$ok = true;
break;
}
- } while(0);
- if (!$ok) continue;
+ } while (0);
+ if (!$ok) {
+ continue;
+ }
// inefficient call, since the validator will do this again
if (strtolower(trim($value)) !== 'inherit') {
// inherit works for everything (but only on the base property)
$result = $definition->info[$property]->validate(
- $value, $config, $context );
+ $value,
+ $config,
+ $context
+ );
} else {
$result = 'inherit';
}
- if ($result === false) continue;
+ if ($result === false) {
+ continue;
+ }
$propvalues[$property] = $result;
}
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Clone.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Clone.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Clone.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -7,22 +7,38 @@
class HTMLPurifier_AttrDef_Clone extends HTMLPurifier_AttrDef
{
/**
- * What we're cloning
+ * What we're cloning.
+ * @type HTMLPurifier_AttrDef
*/
protected $clone;
- public function __construct($clone) {
+ /**
+ * @param HTMLPurifier_AttrDef $clone
+ */
+ public function __construct($clone)
+ {
$this->clone = $clone;
}
- public function validate($v, $config, $context) {
+ /**
+ * @param string $v
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($v, $config, $context)
+ {
return $this->clone->validate($v, $config, $context);
}
- public function make($string) {
+ /**
+ * @param string $string
+ * @return HTMLPurifier_AttrDef
+ */
+ public function make($string)
+ {
return clone $this->clone;
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Enum.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Enum.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Enum.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -12,6 +12,7 @@
/**
* Lookup table of valid values.
+ * @type array
* @todo Make protected
*/
public $valid_values = array();
@@ -23,17 +24,23 @@
protected $case_sensitive = false; // values according to W3C spec
/**
- * @param $valid_values List of valid values
- * @param $case_sensitive Bool indicating whether or not case sensitive
+ * @param array $valid_values List of valid values
+ * @param bool $case_sensitive Whether or not case sensitive
*/
- public function __construct(
- $valid_values = array(), $case_sensitive = false
- ) {
+ public function __construct($valid_values = array(), $case_sensitive =
false)
+ {
$this->valid_values = array_flip($valid_values);
$this->case_sensitive = $case_sensitive;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
if (!$this->case_sensitive) {
// we may want to do full case-insensitive libraries
@@ -45,11 +52,13 @@
}
/**
- * @param $string In form of comma-delimited list of case-insensitive
+ * @param string $string In form of comma-delimited list of
case-insensitive
* valid values. Example: "foo,bar,baz". Prepend "s:" to make
* case sensitive
+ * @return HTMLPurifier_AttrDef_Enum
*/
- public function make($string) {
+ public function make($string)
+ {
if (strlen($string) > 2 && $string[0] == 's' && $string[1] == ':') {
$string = substr($string, 2);
$sensitive = true;
@@ -59,7 +68,6 @@
$values = explode(',', $string);
return new HTMLPurifier_AttrDef_Enum($values, $sensitive);
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Bool.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Bool.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Bool.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,23 +6,46 @@
class HTMLPurifier_AttrDef_HTML_Bool extends HTMLPurifier_AttrDef
{
+ /**
+ * @type bool
+ */
protected $name;
+
+ /**
+ * @type bool
+ */
public $minimized = true;
- public function __construct($name = false) {$this->name = $name;}
+ /**
+ * @param bool $name
+ */
+ public function __construct($name = false)
+ {
+ $this->name = $name;
+ }
- public function validate($string, $config, $context) {
- if (empty($string)) return false;
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ if (empty($string)) {
+ return false;
+ }
return $this->name;
}
/**
- * @param $string Name of attribute
+ * @param string $string Name of attribute
+ * @return HTMLPurifier_AttrDef_HTML_Bool
*/
- public function make($string) {
+ public function make($string)
+ {
return new HTMLPurifier_AttrDef_HTML_Bool($string);
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Class.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Class.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Class.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -5,7 +5,14 @@
*/
class HTMLPurifier_AttrDef_HTML_Class extends
HTMLPurifier_AttrDef_HTML_Nmtokens
{
- protected function split($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ protected function split($string, $config, $context)
+ {
// really, this twiddle should be lazy loaded
$name = $config->getDefinition('HTML')->doctype->name;
if ($name == "XHTML 1.1" || $name == "XHTML 2.0") {
@@ -14,13 +21,20 @@
return preg_split('/\s+/', $string);
}
}
- protected function filter($tokens, $config, $context) {
+
+ /**
+ * @param array $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ protected function filter($tokens, $config, $context)
+ {
$allowed = $config->get('Attr.AllowedClasses');
$forbidden = $config->get('Attr.ForbiddenClasses');
$ret = array();
foreach ($tokens as $token) {
- if (
- ($allowed === null || isset($allowed[$token])) &&
+ if (($allowed === null || isset($allowed[$token])) &&
!isset($forbidden[$token]) &&
// We need this O(n) check because of PHP's array
// implementation that casts -0 to 0.
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Color.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Color.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Color.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,28 +6,46 @@
class HTMLPurifier_AttrDef_HTML_Color extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
static $colors = null;
- if ($colors === null) $colors = $config->get('Core.ColorKeywords');
+ if ($colors === null) {
+ $colors = $config->get('Core.ColorKeywords');
+ }
$string = trim($string);
- if (empty($string)) return false;
+ if (empty($string)) {
+ return false;
+ }
$lower = strtolower($string);
- if (isset($colors[$lower])) return $colors[$lower];
- if ($string[0] === '#') $hex = substr($string, 1);
- else $hex = $string;
+ if (isset($colors[$lower])) {
+ return $colors[$lower];
+ }
+ if ($string[0] === '#') {
+ $hex = substr($string, 1);
+ } else {
+ $hex = $string;
+ }
$length = strlen($hex);
- if ($length !== 3 && $length !== 6) return false;
- if (!ctype_xdigit($hex)) return false;
- if ($length === 3) $hex =
$hex[0].$hex[0].$hex[1].$hex[1].$hex[2].$hex[2];
-
+ if ($length !== 3 && $length !== 6) {
+ return false;
+ }
+ if (!ctype_xdigit($hex)) {
+ return false;
+ }
+ if ($length === 3) {
+ $hex = $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2];
+ }
return "#$hex";
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,16 +6,33 @@
class HTMLPurifier_AttrDef_HTML_FrameTarget extends HTMLPurifier_AttrDef_Enum
{
+ /**
+ * @type array
+ */
public $valid_values = false; // uninitialized value
+
+ /**
+ * @type bool
+ */
protected $case_sensitive = false;
- public function __construct() {}
+ public function __construct()
+ {
+ }
- public function validate($string, $config, $context) {
- if ($this->valid_values === false) $this->valid_values =
$config->get('Attr.AllowedFrameTargets');
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ if ($this->valid_values === false) {
+ $this->valid_values = $config->get('Attr.AllowedFrameTargets');
+ }
return parent::validate($string, $config, $context);
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/ID.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/ID.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/ID.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -18,34 +18,56 @@
/**
* Determines whether or not we're validating an ID in a CSS
* selector context.
+ * @type bool
*/
protected $selector;
- public function __construct($selector = false) {
+ /**
+ * @param bool $selector
+ */
+ public function __construct($selector = false)
+ {
$this->selector = $selector;
}
- public function validate($id, $config, $context) {
+ /**
+ * @param string $id
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($id, $config, $context)
+ {
+ if (!$this->selector && !$config->get('Attr.EnableID')) {
+ return false;
+ }
- if (!$this->selector && !$config->get('Attr.EnableID')) return false;
-
$id = trim($id); // trim it first
- if ($id === '') return false;
+ if ($id === '') {
+ return false;
+ }
$prefix = $config->get('Attr.IDPrefix');
if ($prefix !== '') {
$prefix .= $config->get('Attr.IDPrefixLocal');
// prevent re-appending the prefix
- if (strpos($id, $prefix) !== 0) $id = $prefix . $id;
+ if (strpos($id, $prefix) !== 0) {
+ $id = $prefix . $id;
+ }
} elseif ($config->get('Attr.IDPrefixLocal') !== '') {
- trigger_error('%Attr.IDPrefixLocal cannot be used unless '.
- '%Attr.IDPrefix is set', E_USER_WARNING);
+ trigger_error(
+ '%Attr.IDPrefixLocal cannot be used unless ' .
+ '%Attr.IDPrefix is set',
+ E_USER_WARNING
+ );
}
if (!$this->selector) {
$id_accumulator =& $context->get('IDAccumulator');
- if (isset($id_accumulator->ids[$id])) return false;
+ if (isset($id_accumulator->ids[$id])) {
+ return false;
+ }
}
// we purposely avoid using regex, hopefully this is faster
@@ -53,8 +75,11 @@
if (ctype_alpha($id)) {
$result = true;
} else {
- if (!ctype_alpha(@$id[0])) return false;
- $trim = trim( // primitive style of regexps, I suppose
+ if (!ctype_alpha(@$id[0])) {
+ return false;
+ }
+ // primitive style of regexps, I suppose
+ $trim = trim(
$id,
'A..Za..z0..9:-._'
);
@@ -66,15 +91,15 @@
return false;
}
- if (!$this->selector && $result) $id_accumulator->add($id);
+ if (!$this->selector && $result) {
+ $id_accumulator->add($id);
+ }
// if no change was made to the ID, return the result
// else, return the new id if stripping whitespace made it
// valid, or return false.
return $result ? $id : false;
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Length.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Length.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Length.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -10,32 +10,47 @@
class HTMLPurifier_AttrDef_HTML_Length extends HTMLPurifier_AttrDef_HTML_Pixels
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
$parent_result = parent::validate($string, $config, $context);
- if ($parent_result !== false) return $parent_result;
+ if ($parent_result !== false) {
+ return $parent_result;
+ }
$length = strlen($string);
$last_char = $string[$length - 1];
- if ($last_char !== '%') return false;
+ if ($last_char !== '%') {
+ return false;
+ }
$points = substr($string, 0, $length - 1);
- if (!is_numeric($points)) return false;
+ if (!is_numeric($points)) {
+ return false;
+ }
- $points = (int) $points;
+ $points = (int)$points;
- if ($points < 0) return '0%';
- if ($points > 100) return '100%';
-
- return ((string) $points) . '%';
-
+ if ($points < 0) {
+ return '0%';
+ }
+ if ($points > 100) {
+ return '100%';
+ }
+ return ((string)$points) . '%';
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -9,26 +9,44 @@
class HTMLPurifier_AttrDef_HTML_LinkTypes extends HTMLPurifier_AttrDef
{
- /** Name config attribute to pull. */
+ /**
+ * Name config attribute to pull.
+ * @type string
+ */
protected $name;
- public function __construct($name) {
+ /**
+ * @param string $name
+ */
+ public function __construct($name)
+ {
$configLookup = array(
'rel' => 'AllowedRel',
'rev' => 'AllowedRev'
);
if (!isset($configLookup[$name])) {
- trigger_error('Unrecognized attribute name for link '.
- 'relationship.', E_USER_ERROR);
+ trigger_error(
+ 'Unrecognized attribute name for link ' .
+ 'relationship.',
+ E_USER_ERROR
+ );
return;
}
$this->name = $configLookup[$name];
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$allowed = $config->get('Attr.' . $this->name);
- if (empty($allowed)) return false;
+ if (empty($allowed)) {
+ return false;
+ }
$string = $this->parseCDATA($string);
$parts = explode(' ', $string);
@@ -37,17 +55,18 @@
$ret_lookup = array();
foreach ($parts as $part) {
$part = strtolower(trim($part));
- if (!isset($allowed[$part])) continue;
+ if (!isset($allowed[$part])) {
+ continue;
+ }
$ret_lookup[$part] = true;
}
- if (empty($ret_lookup)) return false;
+ if (empty($ret_lookup)) {
+ return false;
+ }
$string = implode(' ', array_keys($ret_lookup));
-
return $string;
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -9,33 +9,52 @@
class HTMLPurifier_AttrDef_HTML_MultiLength extends
HTMLPurifier_AttrDef_HTML_Length
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
$parent_result = parent::validate($string, $config, $context);
- if ($parent_result !== false) return $parent_result;
+ if ($parent_result !== false) {
+ return $parent_result;
+ }
$length = strlen($string);
$last_char = $string[$length - 1];
- if ($last_char !== '*') return false;
+ if ($last_char !== '*') {
+ return false;
+ }
$int = substr($string, 0, $length - 1);
- if ($int == '') return '*';
- if (!is_numeric($int)) return false;
+ if ($int == '') {
+ return '*';
+ }
+ if (!is_numeric($int)) {
+ return false;
+ }
- $int = (int) $int;
-
- if ($int < 0) return false;
- if ($int == 0) return '0';
- if ($int == 1) return '*';
- return ((string) $int) . '*';
-
+ $int = (int)$int;
+ if ($int < 0) {
+ return false;
+ }
+ if ($int == 0) {
+ return '0';
+ }
+ if ($int == 1) {
+ return '*';
+ }
+ return ((string)$int) . '*';
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,24 +6,38 @@
class HTMLPurifier_AttrDef_HTML_Nmtokens extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
// early abort: '' and '0' (strings that convert to false) are invalid
- if (!$string) return false;
+ if (!$string) {
+ return false;
+ }
$tokens = $this->split($string, $config, $context);
$tokens = $this->filter($tokens, $config, $context);
- if (empty($tokens)) return false;
+ if (empty($tokens)) {
+ return false;
+ }
return implode(' ', $tokens);
-
}
/**
* Splits a space separated list of tokens into its constituent parts.
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
*/
- protected function split($string, $config, $context) {
+ protected function split($string, $config, $context)
+ {
// OPTIMIZABLE!
// do the preg_match, capture all subpatterns for reformulation
@@ -31,8 +45,8 @@
// escaping because I don't know how to do that with regexps
// and plus it would complicate optimization efforts (you never
// see that anyway).
- $pattern = '/(?:(?<=\s)|\A)'. // look behind for space or string start
- '((?:--|-?[A-Za-z_])[A-Za-z_\-0-9]*)'.
+ $pattern = '/(?:(?<=\s)|\A)' . // look behind for space or string start
+ '((?:--|-?[A-Za-z_])[A-Za-z_\-0-9]*)' .
'(?:(?=\s)|\z)/'; // look ahead for space or string end
preg_match_all($pattern, $string, $matches);
return $matches[1];
@@ -42,11 +56,15 @@
* Template method for removing certain tokens based on arbitrary criteria.
* @note If we wanted to be really functional, we'd do an array_filter
* with a callback. But... we're not.
+ * @param array $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
*/
- protected function filter($tokens, $config, $context) {
+ protected function filter($tokens, $config, $context)
+ {
return $tokens;
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Pixels.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Pixels.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/HTML/Pixels.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,43 +6,71 @@
class HTMLPurifier_AttrDef_HTML_Pixels extends HTMLPurifier_AttrDef
{
+ /**
+ * @type int
+ */
protected $max;
- public function __construct($max = null) {
+ /**
+ * @param int $max
+ */
+ public function __construct($max = null)
+ {
$this->max = $max;
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
- if ($string === '0') return $string;
- if ($string === '') return false;
+ if ($string === '0') {
+ return $string;
+ }
+ if ($string === '') {
+ return false;
+ }
$length = strlen($string);
if (substr($string, $length - 2) == 'px') {
$string = substr($string, 0, $length - 2);
}
- if (!is_numeric($string)) return false;
- $int = (int) $string;
+ if (!is_numeric($string)) {
+ return false;
+ }
+ $int = (int)$string;
- if ($int < 0) return '0';
+ if ($int < 0) {
+ return '0';
+ }
// upper-bound value, extremely high values can
// crash operating systems, see <http://ha.ckers.org/imagecrash.html>
// WARNING, above link WILL crash you if you're using Windows
- if ($this->max !== null && $int > $this->max) return (string)
$this->max;
-
- return (string) $int;
-
+ if ($this->max !== null && $int > $this->max) {
+ return (string)$this->max;
+ }
+ return (string)$int;
}
- public function make($string) {
- if ($string === '') $max = null;
- else $max = (int) $string;
+ /**
+ * @param string $string
+ * @return HTMLPurifier_AttrDef
+ */
+ public function make($string)
+ {
+ if ($string === '') {
+ $max = null;
+ } else {
+ $max = (int)$string;
+ }
$class = get_class($this);
return new $class($max);
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Integer.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Integer.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Integer.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -11,17 +11,20 @@
{
/**
- * Bool indicating whether or not negative values are allowed
+ * Whether or not negative values are allowed.
+ * @type bool
*/
protected $negative = true;
/**
- * Bool indicating whether or not zero is allowed
+ * Whether or not zero is allowed.
+ * @type bool
*/
protected $zero = true;
/**
- * Bool indicating whether or not positive values are allowed
+ * Whether or not positive values are allowed.
+ * @type bool
*/
protected $positive = true;
@@ -30,44 +33,59 @@
* @param $zero Bool indicating whether or not zero is allowed
* @param $positive Bool indicating whether or not positive values are
allowed
*/
- public function __construct(
- $negative = true, $zero = true, $positive = true
- ) {
+ public function __construct($negative = true, $zero = true, $positive =
true)
+ {
$this->negative = $negative;
$this->zero = $zero;
$this->positive = $positive;
}
- public function validate($integer, $config, $context) {
-
+ /**
+ * @param string $integer
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($integer, $config, $context)
+ {
$integer = $this->parseCDATA($integer);
- if ($integer === '') return false;
+ if ($integer === '') {
+ return false;
+ }
// we could possibly simply typecast it to integer, but there are
// certain fringe cases that must not return an integer.
// clip leading sign
- if ( $this->negative && $integer[0] === '-' ) {
+ if ($this->negative && $integer[0] === '-') {
$digits = substr($integer, 1);
- if ($digits === '0') $integer = '0'; // rm minus sign for zero
- } elseif( $this->positive && $integer[0] === '+' ) {
+ if ($digits === '0') {
+ $integer = '0';
+ } // rm minus sign for zero
+ } elseif ($this->positive && $integer[0] === '+') {
$digits = $integer = substr($integer, 1); // rm unnecessary plus
} else {
$digits = $integer;
}
// test if it's numeric
- if (!ctype_digit($digits)) return false;
+ if (!ctype_digit($digits)) {
+ return false;
+ }
// perform scope tests
- if (!$this->zero && $integer == 0) return false;
- if (!$this->positive && $integer > 0) return false;
- if (!$this->negative && $integer < 0) return false;
+ if (!$this->zero && $integer == 0) {
+ return false;
+ }
+ if (!$this->positive && $integer > 0) {
+ return false;
+ }
+ if (!$this->negative && $integer < 0) {
+ return false;
+ }
return $integer;
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Lang.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Lang.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Lang.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -7,15 +7,25 @@
class HTMLPurifier_AttrDef_Lang extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
- if (!$string) return false;
+ if (!$string) {
+ return false;
+ }
$subtags = explode('-', $string);
$num_subtags = count($subtags);
- if ($num_subtags == 0) return false; // sanity check
+ if ($num_subtags == 0) { // sanity check
+ return false;
+ }
// process primary subtag : $subtags[0]
$length = strlen($subtags[0]);
@@ -23,15 +33,15 @@
case 0:
return false;
case 1:
- if (! ($subtags[0] == 'x' || $subtags[0] == 'i') ) {
+ if (!($subtags[0] == 'x' || $subtags[0] == 'i')) {
return false;
}
break;
case 2:
case 3:
- if (! ctype_alpha($subtags[0]) ) {
+ if (!ctype_alpha($subtags[0])) {
return false;
- } elseif (! ctype_lower($subtags[0]) ) {
+ } elseif (!ctype_lower($subtags[0])) {
$subtags[0] = strtolower($subtags[0]);
}
break;
@@ -40,17 +50,23 @@
}
$new_string = $subtags[0];
- if ($num_subtags == 1) return $new_string;
+ if ($num_subtags == 1) {
+ return $new_string;
+ }
// process second subtag : $subtags[1]
$length = strlen($subtags[1]);
if ($length == 0 || ($length == 1 && $subtags[1] != 'x') || $length >
8 || !ctype_alnum($subtags[1])) {
return $new_string;
}
- if (!ctype_lower($subtags[1])) $subtags[1] = strtolower($subtags[1]);
+ if (!ctype_lower($subtags[1])) {
+ $subtags[1] = strtolower($subtags[1]);
+ }
$new_string .= '-' . $subtags[1];
- if ($num_subtags == 2) return $new_string;
+ if ($num_subtags == 2) {
+ return $new_string;
+ }
// process all other subtags, index 2 and up
for ($i = 2; $i < $num_subtags; $i++) {
@@ -63,11 +79,8 @@
}
$new_string .= '-' . $subtags[$i];
}
-
return $new_string;
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Switch.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Switch.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Switch.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,21 +6,41 @@
class HTMLPurifier_AttrDef_Switch
{
+ /**
+ * @type string
+ */
protected $tag;
- protected $withTag, $withoutTag;
/**
+ * @type HTMLPurifier_AttrDef
+ */
+ protected $withTag;
+
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ protected $withoutTag;
+
+ /**
* @param string $tag Tag name to switch upon
* @param HTMLPurifier_AttrDef $with_tag Call if token matches tag
* @param HTMLPurifier_AttrDef $without_tag Call if token doesn't match,
or there is no token
*/
- public function __construct($tag, $with_tag, $without_tag) {
+ public function __construct($tag, $with_tag, $without_tag)
+ {
$this->tag = $tag;
$this->withTag = $with_tag;
$this->withoutTag = $without_tag;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$token = $context->get('CurrentToken', true);
if (!$token || $token->name !== $this->tag) {
return $this->withoutTag->validate($string, $config, $context);
@@ -28,7 +48,6 @@
return $this->withTag->validate($string, $config, $context);
}
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Text.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Text.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/Text.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -6,10 +6,16 @@
class HTMLPurifier_AttrDef_Text extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
return $this->parseCDATA($string);
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -7,15 +7,23 @@
class HTMLPurifier_AttrDef_URI_Email_SimpleCheck extends
HTMLPurifier_AttrDef_URI_Email
{
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
// no support for named mailboxes i.e. "Bob <address@hidden>"
// that needs more percent encoding to be done
- if ($string == '') return false;
+ if ($string == '') {
+ return false;
+ }
$string = trim($string);
$result = preg_match('/address@hidden,4}$/i', $string);
return $result ? $string : false;
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Email.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Email.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Email.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -5,8 +5,11 @@
/**
* Unpacks a mailbox into its display-name and address
+ * @param string $string
+ * @return mixed
*/
- function unpack($string) {
+ public function unpack($string)
+ {
// needs to be implemented
}
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Host.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Host.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/Host.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -7,21 +7,31 @@
{
/**
- * Instance of HTMLPurifier_AttrDef_URI_IPv4 sub-validator
+ * IPv4 sub-validator.
+ * @type HTMLPurifier_AttrDef_URI_IPv4
*/
protected $ipv4;
/**
- * Instance of HTMLPurifier_AttrDef_URI_IPv6 sub-validator
+ * IPv6 sub-validator.
+ * @type HTMLPurifier_AttrDef_URI_IPv6
*/
protected $ipv6;
- public function __construct() {
+ public function __construct()
+ {
$this->ipv4 = new HTMLPurifier_AttrDef_URI_IPv4();
$this->ipv6 = new HTMLPurifier_AttrDef_URI_IPv6();
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$length = strlen($string);
// empty hostname is OK; it's usually semantically equivalent:
// the default host as defined by a URI scheme is used:
@@ -29,28 +39,47 @@
// If the URI scheme defines a default for host, then that
// default applies when the host subcomponent is undefined
// or when the registered name is empty (zero length).
- if ($string === '') return '';
- if ($length > 1 && $string[0] === '[' && $string[$length-1] === ']') {
+ if ($string === '') {
+ return '';
+ }
+ if ($length > 1 && $string[0] === '[' && $string[$length - 1] === ']')
{
//IPv6
$ip = substr($string, 1, $length - 2);
$valid = $this->ipv6->validate($ip, $config, $context);
- if ($valid === false) return false;
- return '['. $valid . ']';
+ if ($valid === false) {
+ return false;
+ }
+ return '[' . $valid . ']';
}
// need to do checks on unusual encodings too
$ipv4 = $this->ipv4->validate($string, $config, $context);
- if ($ipv4 !== false) return $ipv4;
+ if ($ipv4 !== false) {
+ return $ipv4;
+ }
// A regular domain name.
// This doesn't match I18N domain names, but we don't have proper IRI
support,
// so force users to insert Punycode.
+ // There is not a good sense in which underscores should be
+ // allowed, since it's technically not! (And if you go as
+ // far to allow everything as specified by the DNS spec...
+ // well, that's literally everything, modulo some space limits
+ // for the components and the overall name (which, by the way,
+ // we are NOT checking!). So we (arbitrarily) decide this:
+ // let's allow underscores wherever we would have allowed
+ // hyphens, if they are enabled. This is a pretty good match
+ // for browser behavior, for example, a large number of browsers
+ // cannot handle foo_.example.com, but foo_bar.example.com is
+ // fairly well supported.
+ $underscore = $config->get('Core.AllowHostnameUnderscore') ? '_' : '';
+
// The productions describing this are:
$a = '[a-z]'; // alpha
$an = '[a-z0-9]'; // alphanum
- $and = '[a-z0-9-]'; // alphanum | "-"
+ $and = "[a-z0-9-$underscore]"; // alphanum | "-"
// domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
$domainlabel = "$an($and*$an)?";
// toplabel = alpha | alpha *( alphanum | "-" ) alphanum
@@ -92,10 +121,8 @@
// XXX error reporting
}
}
-
return false;
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -8,32 +8,38 @@
{
/**
- * IPv4 regex, protected so that IPv6 can reuse it
+ * IPv4 regex, protected so that IPv6 can reuse it.
+ * @type string
*/
protected $ip4;
- public function validate($aIP, $config, $context) {
-
- if (!$this->ip4) $this->_loadRegex();
-
- if (preg_match('#^' . $this->ip4 . '$#s', $aIP))
+ /**
+ * @param string $aIP
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($aIP, $config, $context)
{
- return $aIP;
+ if (!$this->ip4) {
+ $this->_loadRegex();
}
+ if (preg_match('#^' . $this->ip4 . '$#s', $aIP)) {
+ return $aIP;
+ }
return false;
-
}
/**
* Lazy load function to prevent regex from being stuffed in
* cache.
*/
- protected function _loadRegex() {
+ protected function _loadRegex()
+ {
$oct = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])'; // 0-255
$this->ip4 = "(?:{$oct}\\.{$oct}\\.{$oct}\\.{$oct})";
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv6.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv6.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv6.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -9,10 +9,18 @@
class HTMLPurifier_AttrDef_URI_IPv6 extends HTMLPurifier_AttrDef_URI_IPv4
{
- public function validate($aIP, $config, $context) {
+ /**
+ * @param string $aIP
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($aIP, $config, $context)
+ {
+ if (!$this->ip4) {
+ $this->_loadRegex();
+ }
- if (!$this->ip4) $this->_loadRegex();
-
$original = $aIP;
$hex = '[0-9a-fA-F]';
@@ -20,23 +28,18 @@
$pre = '(?:/(?:12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))'; // /0 - /128
// prefix check
- if (strpos($aIP, '/') !== false)
- {
- if (preg_match('#' . $pre . '$#s', $aIP, $find))
- {
- $aIP = substr($aIP, 0, 0-strlen($find[0]));
+ if (strpos($aIP, '/') !== false) {
+ if (preg_match('#' . $pre . '$#s', $aIP, $find)) {
+ $aIP = substr($aIP, 0, 0 - strlen($find[0]));
unset($find);
- }
- else
- {
+ } else {
return false;
}
}
// IPv4-compatiblity check
- if (preg_match('#(?<=:'.')' . $this->ip4 . '$#s', $aIP, $find))
- {
- $aIP = substr($aIP, 0, 0-strlen($find[0]));
+ if (preg_match('#(?<=:' . ')' . $this->ip4 . '$#s', $aIP, $find)) {
+ $aIP = substr($aIP, 0, 0 - strlen($find[0]));
$ip = explode('.', $find[0]);
$ip = array_map('dechex', $ip);
$aIP .= $ip[0] . $ip[1] . ':' . $ip[2] . $ip[3];
@@ -46,54 +49,41 @@
// compression check
$aIP = explode('::', $aIP);
$c = count($aIP);
- if ($c > 2)
- {
+ if ($c > 2) {
return false;
- }
- elseif ($c == 2)
- {
+ } elseif ($c == 2) {
list($first, $second) = $aIP;
$first = explode(':', $first);
$second = explode(':', $second);
- if (count($first) + count($second) > 8)
- {
+ if (count($first) + count($second) > 8) {
return false;
}
- while(count($first) < 8)
- {
+ while (count($first) < 8) {
array_push($first, '0');
}
array_splice($first, 8 - count($second), 8, $second);
$aIP = $first;
- unset($first,$second);
- }
- else
- {
+ unset($first, $second);
+ } else {
$aIP = explode(':', $aIP[0]);
}
$c = count($aIP);
- if ($c != 8)
- {
+ if ($c != 8) {
return false;
}
// All the pieces should be 16-bit hex strings. Are they?
- foreach ($aIP as $piece)
- {
- if (!preg_match('#^[0-9a-fA-F]{4}$#s', sprintf('%04s',
$piece)))
- {
+ foreach ($aIP as $piece) {
+ if (!preg_match('#^[0-9a-fA-F]{4}$#s', sprintf('%04s', $piece))) {
return false;
}
}
-
return $original;
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI.php
===================================================================
---
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI.php
2015-06-03 23:04:00 UTC (rev 13344)
+++
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef/URI.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -7,31 +7,54 @@
class HTMLPurifier_AttrDef_URI extends HTMLPurifier_AttrDef
{
+ /**
+ * @type HTMLPurifier_URIParser
+ */
protected $parser;
+
+ /**
+ * @type bool
+ */
protected $embedsResource;
/**
- * @param $embeds_resource_resource Does the URI here result in an extra
HTTP request?
+ * @param bool $embeds_resource Does the URI here result in an extra HTTP
request?
*/
- public function __construct($embeds_resource = false) {
+ public function __construct($embeds_resource = false)
+ {
$this->parser = new HTMLPurifier_URIParser();
- $this->embedsResource = (bool) $embeds_resource;
+ $this->embedsResource = (bool)$embeds_resource;
}
- public function make($string) {
+ /**
+ * @param string $string
+ * @return HTMLPurifier_AttrDef_URI
+ */
+ public function make($string)
+ {
$embeds = ($string === 'embedded');
return new HTMLPurifier_AttrDef_URI($embeds);
}
- public function validate($uri, $config, $context) {
+ /**
+ * @param string $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($uri, $config, $context)
+ {
+ if ($config->get('URI.Disable')) {
+ return false;
+ }
- if ($config->get('URI.Disable')) return false;
-
$uri = $this->parseCDATA($uri);
// parse the URI
$uri = $this->parser->parse($uri);
- if ($uri === false) return false;
+ if ($uri === false) {
+ return false;
+ }
// add embedded flag to context for validators
$context->register('EmbeddedURI', $this->embedsResource);
@@ -41,23 +64,35 @@
// generic validation
$result = $uri->validate($config, $context);
- if (!$result) break;
+ if (!$result) {
+ break;
+ }
// chained filtering
$uri_def = $config->getDefinition('URI');
$result = $uri_def->filter($uri, $config, $context);
- if (!$result) break;
+ if (!$result) {
+ break;
+ }
// scheme-specific validation
$scheme_obj = $uri->getSchemeObj($config, $context);
- if (!$scheme_obj) break;
- if ($this->embedsResource && !$scheme_obj->browsable) break;
+ if (!$scheme_obj) {
+ break;
+ }
+ if ($this->embedsResource && !$scheme_obj->browsable) {
+ break;
+ }
$result = $scheme_obj->validate($uri, $config, $context);
- if (!$result) break;
+ if (!$result) {
+ break;
+ }
// Post chained filtering
$result = $uri_def->postFilter($uri, $config, $context);
- if (!$result) break;
+ if (!$result) {
+ break;
+ }
// survived gauntlet
$ok = true;
@@ -65,13 +100,12 @@
} while (false);
$context->destroy('EmbeddedURI');
- if (!$ok) return false;
-
+ if (!$ok) {
+ return false;
+ }
// back to string
return $uri->toString();
-
}
-
}
// vim: et sw=4 sts=4
Modified:
branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef.php
===================================================================
--- branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef.php
2015-06-03 23:04:00 UTC (rev 13344)
+++ branches/dev-syncromind/phpgwapi/inc/htmlpurifier/HTMLPurifier/AttrDef.php
2015-06-04 07:54:16 UTC (rev 13345)
@@ -14,23 +14,25 @@
{
/**
- * Tells us whether or not an HTML attribute is minimized. Has no
- * meaning in other contexts.
+ * Tells us whether or not an HTML attribute is minimized.
+ * Has no meaning in other contexts.
+ * @type bool
*/
public $minimized = false;
/**
- * Tells us whether or not an HTML attribute is required. Has no
- * meaning in other contexts
+ * Tells us whether or not an HTML attribute is required.
+ * Has no meaning in other contexts
+ * @type bool
*/
public $required = false;
/**
* Validates and cleans passed string according to a definition.
*
- * @param $string String to be validated and cleaned.
- * @param $config Mandatory HTMLPurifier_Config object.
- * @param $context Mandatory HTMLPurifier_AttrContext object.
+ * @param string $string String to be validated and cleaned.
+ * @param HTMLPurifier_Config $config Mandatory HTMLPurifier_Config object.
+ * @param HTMLPurifier_Context $context Mandatory HTMLPurifier_Context
object.
*/
abstract public function validate($string, $config, $context);
@@ -55,7 +57,8 @@
* parsing XML, thus, this behavior may still be correct. We
* assume that newlines have been normalized.
*/
- public function parseCDATA($string) {
+ public function parseCDATA($string)
+ {
$string = trim($string);
$string = str_replace(array("\n", "\t", "\r"), ' ', $string);
return $string;
@@ -63,10 +66,11 @@
/**
* Factory method for creating this class from a string.
- * @param $string String construction info
- * @return Created AttrDef object corresponding to $string
+ * @param string $string String construction info
+ * @return HTMLPurifier_AttrDef Created AttrDef object corresponding to
$string
*/
- public function make($string) {
+ public function make($string)
+ {
// default implementation, return a flyweight of this object.
// If $string has an effect on the returned object (i.e. you
// need to overload this method), it is best
@@ -77,8 +81,11 @@
/**
* Removes spaces from rgb(0, 0, 0) so that shorthand CSS properties work
* properly. THIS IS A HACK!
+ * @param string $string a CSS colour definition
+ * @return string
*/
- protected function mungeRgb($string) {
+ protected function mungeRgb($string)
+ {
return preg_replace('/rgb\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)\)/',
'rgb(\1,\2,\3)', $string);
}
@@ -86,7 +93,8 @@
* Parses a possibly escaped CSS string and returns the "pure"
* version of it.
*/
- protected function expandCSSEscape($string) {
+ protected function expandCSSEscape($string)
+ {
// flexibly parse it
$ret = '';
for ($i = 0, $c = strlen($string); $i < $c; $i++) {
@@ -99,25 +107,32 @@
if (ctype_xdigit($string[$i])) {
$code = $string[$i];
for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) {
- if (!ctype_xdigit($string[$i])) break;
+ if (!ctype_xdigit($string[$i])) {
+ break;
+ }
$code .= $string[$i];
}
// We have to be extremely careful when adding
// new characters, to make sure we're not breaking
// the encoding.
$char = HTMLPurifier_Encoder::unichr(hexdec($code));
- if (HTMLPurifier_Encoder::cleanUTF8($char) === '')
continue;
+ if (HTMLPurifier_Encoder::cleanUTF8($char) === '') {
+ continue;
+ }
$ret .= $char;
- if ($i < $c && trim($string[$i]) !== '') $i--;
+ if ($i < $c && trim($string[$i]) !== '') {
@@ Diff output truncated at 153600 characters. @@
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [13345] Syncromind: Merge 13178:13344 from trunk,
Sigurd Nes <=