fmsystem-commits
[Top][All Lists]
Advanced

[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']) : '&nbsp;';
-                       $service_time = $param['info']['service_time'] ? 
$param['info']['service_time'] : '&nbsp;';
-                       $controle_time = $param['info']['controle_time'] ? 
$param['info']['controle_time'] : '&nbsp;';
+                       $repeat_type = $param['repeat_type'];
+               //      $responsible = '---';
+                       $assigned_to = $param['info']['assigned_to'] > 0 ? 
$GLOBALS['phpgw']->accounts->id2lid($param['info']['assigned_to']) : '&nbsp;';
+               //      $service_time = $param['info']['service_time'] ? 
$param['info']['service_time'] : '&nbsp;';
+               //      $controle_time = $param['info']['controle_time'] ? 
$param['info']['controle_time'] : '&nbsp;';
+                       $time = $param['info']['service_time'] + 
$param['info']['controle_time'];
+                       $time = $time ? $time : '&nbsp;';
 
-                       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. @@



reply via email to

[Prev in Thread] Current Thread [Next in Thread]