Documentation

Markers

Table of Contents

core/adminNavigation.class.php 1
core/API.php 1
core/ClassLoader/ClassLoader.class.php 3
core/CompressedList.class.php 1
core/Config/Controller/Config.class.php 8
core/Config/Model/Entity/ConfigArray.class.php 1
core/ContentManager/Controller/ComponentController.class.php 1
core/ContentManager/Controller/ContentManager.class.php 2
core/ContentManager/Controller/JsonContentManager.class.php 1
core/ContentManager/Controller/JsonPage.class.php 4
core/ContentManager/Model/Entity/Page.class.php 7
core/ContentManager/Model/Repository/NodeRepository.class.php 2
core/ContentManager/Model/Repository/PageLogRepository.class.php 1
core/ContentManager/Model/Repository/PageRepository.class.php 5
core/ContentWorkflow/Controller/ContentWorkflow.class.php 1
core/Core/Controller/ComponentController.class.php 2
core/Core/Controller/ComponentHandler.class.php 1
core/Core/Controller/Cx.class.php 24
core/Core/Model/Entity/EntityBase.class.php 1
core/Core/Model/Entity/ReflectionComponent.class.php 9
core/Core/Model/Entity/SystemComponentBackendController.class.php 1
core/Core/Model/Entity/SystemComponentController.class.php 1
core/Core/Model/Repository/SystemComponentRepository.class.php 1
core/Country/Controller/Country.class.php 1
core/Creditcard.class.php 1
core/DataSource/Model/Entity/DoctrineRepository.class.php 1
core/DateTime/Controller/ComponentController.class.php 7
core/DateTime/Controller/EsiWidgetController.class.php 1
core/Error/Controller/Error.class.php 3
core/Filetype.class.php 1
core/Html/Controller/ComponentController.class.php 1
core/Html/Controller/FormGenerator.class.php 2
core/Html/Controller/ViewGenerator.class.php 5
core/Html/Controller/ViewGeneratorJsonController.class.php 2
core/Html.class.php 14
core/Image.class.php 6
core/ImageType/Controller/ImageType.class.php 2
core/Init.class.php 7
core/Json/JsonData.class.php 2
core/JsonData/Controller/ComponentController.class.php 4
core/LanguageManager/Controller/ComponentController.class.php 1
core/LinkSanitizer.class.php 1
core/Locale/Controller/BackendController.class.php 1
core/Locale/Controller/ComponentController.class.php 1
core/MailTemplate/Controller/MailTemplate.class.php 9
core/MailTemplate/Model/Entity/Mail.class.php 1
core/MediaSource/Model/Entity/FileSystem.interface.php 6
core/MediaSource/Model/Entity/LocalFileSystem.class.php 4
core/MediaSource/Model/Entity/MediaSource.class.php 1
core/MediaSource/Model/Entity/MediaSourceManager.class.php 2
core/MediaSource/Model/Entity/ThumbnailGenerator.class.php 1
core/Message/Controller/ComponentController.class.php 1
core/Message.class.php 5
core/Model/Controller/YamlDriver.class.php 1
core/Model/Controller/YamlRepository.class.php 3
core/Model/Model/Event/LoggableListener.class.php 1
core/ModuleChecker.class.php 2
core/Navigation.class.php 1
core/PageTree/NavigationPageTree.class.php 2
core/PageTree/PageTree.class.php 1
core/PageTree/XmlSitemapPageTree.class.php 1
core/paging.class.php 1
core/Routing/Controller/BackendController.class.php 1
core/Routing/Model/Entity/Request.class.php 5
core/Routing/Resolver.class.php 9
core/Routing/Url.class.php 8
core/Setting/Controller/Setting.class.php 11
core/Setting/Model/Entity/DbEngine.class.php 6
core/Setting/Model/Entity/Engine.class.php 1
core/Setting/Model/Entity/EngineInterface.interface.php 1
core/Setting/Model/Entity/FileSystem.class.php 6
core/Setting/Model/Entity/YamlEngine.class.php 6
core/SmtpSettings.class.php 1
core/Sorting.class.php 1
core/Tree.class.php 6
core/validator.inc.php 1
core/View/Controller/ComponentController.class.php 3
core/ViewManager/Controller/ViewManager.class.php 4
core/Wysiwyg/Controller/BackendController.class.php 1
core_modules/Access/Controller/Access.class.php 2
core_modules/Access/Controller/AccessBlocks.class.php 1
core_modules/Access/Controller/AccessLib.class.php 1
core_modules/Access/Controller/AccessManager.class.php 12
core_modules/Alias/Controller/AliasLib.class.php 1
core_modules/Alias/Controller/AliasManager.class.php 2
core_modules/Cache/Controller/CacheLib.class.php 6
core_modules/Cache/Controller/ComponentController.class.php 1
core_modules/Cache/Model/Event/CoreEntityBaseEventListener.class.php 1
core_modules/Contact/Controller/Contact.class.php 11
core_modules/Contact/Controller/ContactLib.class.php 3
core_modules/Contact/Controller/ContactManager.class.php 3
core_modules/DataAccess/Controller/CliOutputController.class.php 1
core_modules/DataAccess/Controller/ComponentController.class.php 2
core_modules/GeoIp/Controller/ComponentController.class.php 1
core_modules/Home/Controller/Home.class.php 1
core_modules/License/Controller/ComponentController.class.php 2
core_modules/License/License.class.php 1
core_modules/License/LicenseManager.class.php 1
core_modules/License/Version.class.php 2
core_modules/License/versioncheck.php 1
core_modules/Listing/Controller/ListingController.class.php 4
core_modules/Listing/Model/Entity/CsvInterface.class.php 4
core_modules/Listing/Model/Entity/DataSet.class.php 1
core_modules/Login/Controller/Login.class.php 1
core_modules/Login/Controller/LoginManager.class.php 3
core_modules/Media/Controller/MediaLibrary.class.php 1
core_modules/Media/Controller/MediaManager.class.php 2
core_modules/MediaBrowser/Controller/JsonMediaBrowser.class.php 1
core_modules/MediaBrowser/Model/Entity/MediaBrowserPageTree.class.php 9
core_modules/News/Controller/ComponentController.class.php 2
core_modules/News/Controller/EsiWidgetController.class.php 1
core_modules/News/Controller/News.class.php 6
core_modules/News/Controller/NewsLibrary.class.php 12
core_modules/News/Controller/NewsManager.class.php 9
core_modules/News/Controller/NewsRecentComments.class.php 2
core_modules/Privacy/Controller/BackendController.class.php 1
core_modules/Search/Controller/Search.class.php 1
core_modules/Stats/Controller/Stats.class.php 2
core_modules/Sync/Controller/ComponentController.class.php 4
core_modules/Uploader/Controller/JsonUploader.class.php 1
core_modules/Widget/Controller/ComponentController.class.php 1
core_modules/Widget/Controller/EsiWidgetController.class.php 1
core_modules/Widget/Controller/RandomEsiWidgetController.class.php 1
lib/FRAMEWORK/cxjs/ContrexxJavascript.class.php 2
lib/FRAMEWORK/DateTimeTools.class.php 3
lib/FRAMEWORK/DBG/DBG.php 4
lib/FRAMEWORK/DBG/DoctrineSQLLogger.class.php 1
lib/FRAMEWORK/FileSystem/FileSystem.class.php 5
lib/FRAMEWORK/FWUser.class.php 9
lib/FRAMEWORK/Image.class.php 9
lib/FRAMEWORK/Javascript.class.php 4
lib/FRAMEWORK/Language.class.php 3
lib/FRAMEWORK/MXLookup.class.php 1
lib/FRAMEWORK/Net/Model/Entity/Uri.class.php 2
lib/FRAMEWORK/Net/Model/Entity/Url.class.php 5
lib/FRAMEWORK/ReverseProxy/Model/Entity/SsiProcessor.class.php 1
lib/FRAMEWORK/System.class.php 1
lib/FRAMEWORK/UpdateUtil.class.php 4
lib/FRAMEWORK/User/User.class.php 10
lib/FRAMEWORK/User/User_Profile.class.php 1
lib/FRAMEWORK/User/User_Profile_Attribute.class.php 3
lib/FRAMEWORK/User/User_Setting.class.php 1
lib/FRAMEWORK/Validator.class.php 8
model/entities/Cx/Model/Base/EntityBase.class.php 1
modules/Block/Controller/BlockLibrary.class.php 2
modules/Block/Controller/ComponentController.class.php 1
modules/Block/Controller/JsonBlockController.class.php 1
modules/Calendar/Controller/Calendar.class.php 3
modules/Calendar/Controller/CalendarEvent.class.php 1
modules/Calendar/Controller/CalendarEventManager.class.php 1
modules/Calendar/Controller/CalendarHeadlines.class.php 1
modules/Calendar/Controller/CalendarLibrary.class.php 2
modules/Calendar/Controller/CalendarMailManager.class.php 1
modules/Calendar/Controller/CalendarRegistrationManager.class.php 1
modules/Calendar/Controller/ComponentController.class.php 1
modules/Calendar/Controller/EsiWidgetController.class.php 2
modules/Calendar/Controller/MailRecipient.class.php 1
modules/Calendar/Model/Entity/Category.class.php 4
modules/Calendar/Model/Entity/Event.class.php 6
modules/Crm/Controller/CrmLibrary.class.php 1
modules/Downloads/Controller/Category.class.php 1
modules/Downloads/Controller/Downloads.class.php 2
modules/Downloads/Controller/DownloadsLibrary.class.php 2
modules/Downloads/Controller/DownloadsManager.class.php 4
modules/Gallery/Controller/Gallery.class.php 1
modules/Gallery/Controller/GalleryManager.class.php 7
modules/MediaDir/Controller/ComponentController.class.php 3
modules/MediaDir/Controller/MediaDirectoryEntry.class.php 1
modules/MediaDir/Controller/MediaDirectoryInputfield.class.php 1
modules/MediaDir/Controller/MediaDirectoryLibrary.class.php 3
modules/MediaDir/Controller/MediaDirectoryManager.class.php 1
modules/MediaDir/Controller/MediaDirectoryPlaceholder.class.php 1
modules/MediaDir/Model/Entity/MediaDirectoryInputfieldFile.class.php 2
modules/MediaDir/Model/Entity/MediaDirectoryInputfieldImage.class.php 2
modules/MediaDir/Model/Entity/MediaDirectoryInputfieldLinkGroup.class.php 1
modules/MediaDir/Model/Entity/MediaDirectoryInputfieldText.class.php 1
modules/MediaDir/Model/Entity/MediaDirectoryInputfieldTextarea.class.php 1
modules/MediaDir/Model/Entity/MediaDirectoryInputfieldWysiwyg.class.php 3
modules/Newsletter/Controller/Newsletter.class.php 11
modules/Newsletter/Controller/NewsletterLib.class.php 10
modules/Newsletter/Controller/NewsletterManager.class.php 37
modules/Shop/Controller/Attribute.class.php 5
modules/Shop/Controller/Attributes.class.php 1
modules/Shop/Controller/Cart.class.php 7
modules/Shop/Controller/Coupon.class.php 2
modules/Shop/Controller/CsvImport.class.php 2
modules/Shop/Controller/Currency.class.php 6
modules/Shop/Controller/Customer.class.php 5
modules/Shop/Controller/Mail.class.php 7
modules/Shop/Controller/Manufacturer.class.php 5
modules/Shop/Controller/Order.class.php 3
modules/Shop/Controller/Orders.class.php 12
modules/Shop/Controller/PriceList.class.php 1
modules/Shop/Controller/Product.class.php 3
modules/Shop/Controller/Products.class.php 1
modules/Shop/Controller/Shipment.class.php 1
modules/Shop/Controller/Shop.class.php 32
modules/Shop/Controller/ShopLibrary.class.php 1
modules/Shop/Controller/ShopManager.class.php 25
modules/Shop/Controller/ShopSettings.class.php 2
modules/Shop/payments/dummy/Dummy.class.php 1
modules/Shop/payments/saferpay/Saferpay.class.php 2
modules/Shop/payments/yellowpay/Yellowpay.class.php 1

adminNavigation.class.php

Type Line Description
TODO 50 Edit PHP DocBlocks!

API.php

Type Line Description
TODO 128 Change the system to use the new, static class method, then remove this one.

ClassLoader.class.php

Type Line Description
TODO 745 $useCustomizing does not work correctly if legacy is enabled
TODO 86 Fix ClassCloader instantiation in:
TODO 259 Use Composer's class autoloading for libraries

CompressedList.class.php

Type Line Description
TODO 91 Add better Examples

Config.class.php

Type Line Description
TODO 61 Edit PHP DocBlocks!
TODO 555 instead of including the config section of Cache component directly,
TODO 1072 see CLX-3407
TODO 1094 add settings option as UDP would be better in general
TODO 1274 this should be done in the model-event-listener
TODO 1284 this should be done in the model-event-listener
TODO 1305 this should be done in the model-event-listener
TODO 1309 this should be done in the model-event-listener

ConfigArray.class.php

Type Line Description
TODO 68 This is a workaround for JSON-encoded values. See CLX-4345

ComponentController.class.php

Type Line Description
TODO 299 as the resolver does itself set his own headers

ContentManager.class.php

Type Line Description
TODO 413 move including of add'l JS dependencies to cx obj from /cadmin/index.html
TODO 422 move including of add'l JS dependencies to cx obj from /cadmin/index.html

JsonContentManager.class.php

Type Line Description
TODO 108 Move this method to the ContentManager class and use it everywhere

JsonPage.class.php

Type Line Description
TODO 133 Clean up usage of $param
TODO 203 Clean up usage of $param and $_GET
TODO 906 should we allow filter/callback fns in field processing above?
TODO 1074 add functionality for $page!=null (see below), DRY up #getFallbackPageArray

Page.class.php

Type Line Description
TODO 828 Move this method to CM!
TODO 1070 Drop $module verification here. Instead implement proper model association to {@see \Cx\Core\Core\Model\Entity\SystemComponent}
TODO 1070 Setting {static::$module} to an empty string is non-sense. This property must be migrated to a proper association. See CLX-4198
TODO 1093 Returning an empty string for non-application is non-sense. This must be migrated to a proper association that would return null. See CLX-4198
TODO 1730 Define what to do if destination lang is not the fallback of $this->getLang() (always follow fallbacks or do not copy content)
TODO 2149 do something more sensful than checking for module
TODO 903 this needs to be read-only; values are set through active/display setters

NodeRepository.class.php

Type Line Description
TODO 131 DO NOT use NestedTreeRepository->getRootNodes(), it needs a lot of RAM, implement own query to get all root nodes
TODO 147 This does only work for root node by now

PageLogRepository.class.php

Type Line Description
TODO 146 Fix wrong paging for action 'deleted'

PageRepository.class.php

Type Line Description
TODO 192 Instead of casting $cmd to string here, we must ensure that all method-calls do properly pass $cmd as string.
TODO 333 Remembering virtual pages is no longer necessary, rewrite method to create new virtual pages
TODO 576 remove this method
TODO 663 use this everywhere (resolver!)
TODO 668 basically the method \Cx\Core\ContentManager\Model\Entity\Page::cutTarget() would provide us a ready to use $crit array

ContentWorkflow.class.php

Type Line Description
TODO 61 Edit PHP DocBlocks!

ComponentController.class.php

Type Line Description
TODO 48 ' &' should not be here and instead be a flag for cx (i.e.: ./cx -async <params>)
TODO 48 we should allow overriding the call using event system (for cloud)

ComponentHandler.class.php

Type Line Description
TODO 105 Read component list from license (see $this->components for why we didn't do that yet)

Cx.class.php

Type Line Description
TODO 96 Remove all instances of "global" or at least move them to a single place
TODO 1095 Find a way to store configuration by avoiding global variables
TODO 1132 Throw exception instead of calling die()
TODO 1205 Move to \Cx\Core\Routing\Model\Entity\Request and convert into a non-static method
TODO 1600 Remove deprecated elements
TODO 1600 Remove usage of globals
TODO 1939 Avoid this! All this should be part of some components hook
TODO 2016 Implement resolver for backend
TODO 2016 Is this useful in CLI mode?
TODO 2074 Remove usage of globals
TODO 2089 Remove usage of globals
TODO 2144 Does this even make any sense? Couldn't simply everything be set after content parsing?
TODO 2144 Remove usage of globals
TODO 2162 Write a method, that only returns the content, in order to allow usage in CLI mode
TODO 2162 Remove usage of globals
TODO 2321 Remove usage of globals
TODO 2490 Remove usage of globals
TODO 286 Update FWSystem
TODO 1303 is this actually the cause of the CSRF missing issue?
TODO 1988 this constanst used to be located in config/set_constants.php, but needed to be relocated to this very place,
TODO 2108 Move template initialization to here instead
TODO 2129 Remove language selector for modules which require navigation but bring their own language management.
TODO 2535 The following code should be moved to ComponentController of Wysiwyg component.
TODO 2631 This function call returns the empty string -- always! What's the use?

EntityBase.class.php

Type Line Description
TODO 51 Implement virtual entity feature (as seen on ContentManager's Page)

ReflectionComponent.class.php

Type Line Description
TODO 323 DB stuff (structure and data)
TODO 323 check dependency versions
TODO 323 activate templates
TODO 577 Apparently unused; drop?
TODO 607 Backend navigation entry from meta.yml (rxqcmv1)
TODO 607 Pages from meta.yml (rxqcmv1)
TODO 1156 Test removing components tables (including doctrine schema)
TODO 66 Wouldn't it be better to move this to Component class?
TODO 365 templates need to be activated too!

SystemComponentBackendController.class.php

Type Line Description
TODO 91 $this->cx->getTemplate()->setVariable() should not be called here but in Cx class

SystemComponentController.class.php

Type Line Description
TODO 474 This is currently only available in "frontend" mode.

SystemComponentRepository.class.php

Type Line Description
TODO 352 Re-enable for all modes.

Country.class.php

Type Line Description
TODO 421 init country list

Creditcard.class.php

Type Line Description
TODO 51 Test!

DoctrineRepository.class.php

Type Line Description
TODO 521 Check relations

ComponentController.class.php

Type Line Description
TODO 222 Drop argument $locale. As soon as the Locale component does provide the ability to load language files, the argument $locale must be dropped. The Locale component must itself figure out which language files it must load.
TODO 222 Migrate code that loads the language files (InitCMS::loadLangFile()) to use the Locale component as soon as the Locale provides such a method.
TODO 279 implement
TODO 297 implement
TODO 303 implement
TODO 308 implement
TODO 312 implement

EsiWidgetController.class.php

Type Line Description
TODO 72 move the required language variables to component DateTime

Error.class.php

Type Line Description
TODO 52 Declare and document class variable 'pageContent'
TODO 79 Is this deprecated?
TODO 93 Handle more errors.

Filetype.class.php

Type Line Description
TODO 462 Add proper names for the file types

ComponentController.class.php

Type Line Description
TODO 90 It might make sense to add a scope param and move this to a more generic location.

FormGenerator.class.php

Type Line Description
TODO 1295 this only works with single valued identifiers
TODO 1235 Handle this case as we'll otherwise probably run out of memory

ViewGenerator.class.php

Type Line Description
TODO 43 Refactor
TODO 43 Currently, composite primary keys cannot be handled
TODO 2659 templating!
TODO 1298 This is quite a simple way of solving this
TODO 1338 Should keep params of other VG instances

ViewGeneratorJsonController.class.php

Type Line Description
TODO 413 This should trigger an async job
TODO 413 ViewGenerator config should be taken into account (exclude fields)

Html.class.php

Type Line Description
TODO 502 Maybe the optional attributes will never be used and can be removed?
TODO 2017 There should be an unchecked icon other than "pixel.gif"
TODO 92 Find a better icon for this
TODO 292 Add this exeption to other elements
TODO 327 Add this exeption to other elements
TODO 363 Add this exeption to other elements
TODO 616 Add this exeption to other elements
TODO 748 Add this exeption to other elements
TODO 1052 Implement...
TODO 1343 Add sensible defaults for mandatory options *only*
TODO 1492 Add an option to set the separator or to reposition the labels
TODO 1639 Find a suitable icon
TODO 1768 This loop is always the same for all jQuery stuff; create a method
TODO 2581 I should probably wrap this in contrexx_raw2xhtml()

Image.class.php

Type Line Description
TODO 457 Existing thumbnails are deleted along with them.
TODO 251 Use the inverse of self::getThumbnailPath()
TODO 392 Debug stuff, remove in release
TODO 947 Verify the correct operation:
TODO 1228 Records should not have to be deleted if the path is empty
TODO 1253 File type

ImageType.class.php

Type Line Description
TODO 644 Needed?
TODO 656 Add sorting

Init.class.php

Type Line Description
TODO 63 Any methods handling content or language should be moved away from here to a distinct class!
TODO 63 Most if not all of the properties and methods are potentially static.
TODO 131 what is this used for?
TODO 196 this is obsolete, isn't it?
TODO 1019 we must load the language specified by $path
TODO 1026 we must load the language specified by $path
TODO 1137 Add your case here if variant 1 is enabled, too

JsonData.class.php

Type Line Description
TODO 120 Adapter loading could be optimized
TODO 383 Support cookies (to allow login and similiar features)

ComponentController.class.php

Type Line Description
TODO 175 move this code to /core/Json/...
TODO 176 handle expired sessions in any xhr callers.
TODO 178 Verify that the arguments are actually present!
TODO 181 Replace arguments by something reasonable

ComponentController.class.php

Type Line Description
TODO 242 Does language list only for now. Update as soon as locales are available

LinkSanitizer.class.php

Type Line Description
TODO 261 this is basically wrong as question marks are valid

BackendController.class.php

Type Line Description
TODO 1111 this should be done dynamically

ComponentController.class.php

Type Line Description
TODO 76 Get rid of InitCMS class

MailTemplate.class.php

Type Line Description
TODO 58 Test!
TODO 361 Hard to decide which should be mandatory, as any of them may
TODO 571 Fix the regex to produce proper "CR/LF" in any case.
TODO 685 Comment for test only!
TODO 690 $objMail->Send() seems to sometimes return true on localhost where
TODO 923 Field verification
TODO 1051 TEMPORARY
TODO 1496 Wrong; might stripslashes() again later, yielding wrong results
TODO 1547 Primary keys with a length (like "key(32)") are not supported

Mail.class.php

Type Line Description
TODO 172 This could lead to false-positives {@inheritDoc}

FileSystem.interface.php

Type Line Description
TODO 53 Implement a driver structure to allow efficient cross FS operations
TODO 53 Create a path helper class to sanitize paths
TODO 96 Extension "Dir" could be ambiguous
TODO 96 Sanitize files named "datainfo"
TODO 114 Specify whether moving accross FS should be supported by this method
TODO 151 Reverse engineer or remove, seems to be unused

LocalFileSystem.class.php

Type Line Description
TODO 285 check whether $file is part of this FS
TODO 455 Sanitize $directory
TODO 525 This shouldn't be possible, drop this method
TODO 449 Implement getLink() method.

MediaSource.class.php

Type Line Description
TODO 442 Chunked upload is untested and will most likely not work

MediaSourceManager.class.php

Type Line Description
TODO 125 This is a dirty hack to allow the API control over permissions. As soon as DataSource can load the correct MediaSource instance directly, this should be removed.
TODO 278 The naming of this method is misleading as it does not return multiple paths as the method name woudl suggest.

ThumbnailGenerator.class.php

Type Line Description
TODO 300 there should be an option that lets the admin set which

ComponentController.class.php

Type Line Description
TODO 66 This would better be handled by the Message class

Message.class.php

Type Line Description
TODO 50 Distinguish between flash and deferred messages
TODO 300 Add the missing classes CLASS_INFO and CLASS_WARN to the backend views
TODO 300 Unify the placeholders, and add the message block
TODO 318 Unify this placeholder once the type is available:
TODO 329 Make this unconditional once the block is generally available

YamlDriver.class.php

Type Line Description
TODO 384 We should cache $enums, but this method is called before

YamlRepository.class.php

Type Line Description
TODO 70 Make thread safe. The current implementation of YamlRepository does not take the case into account if the repository gets modified by a parallel operation. Changes made by a parallel operation will be discarded,merged or overwritten. The behavior is unknown!
TODO 70 Either drop this class or convert its storage format from plain PHP objects to normalized data. See CLX-3825
TODO 189 this is potentially evil -> see CLX-3825

LoggableListener.class.php

Type Line Description
TODO 80 As metadata needs to be read for this we should cache the result

ModuleChecker.class.php

Type Line Description
TODO 164 what is the proper syntax for non-empty values?
TODO 165 add additional check for module != NULL

Navigation.class.php

Type Line Description
TODO 121 add comment to why the subnavigation will need the rootNode

NavigationPageTree.class.php

Type Line Description
TODO 125 invisible childs
TODO 129 navigation_id

PageTree.class.php

Type Line Description
TODO 133 Virtual pages!

XmlSitemapPageTree.class.php

Type Line Description
TODO 125 setting the proper protocol should be done in Url::fromPage()

paging.class.php

Type Line Description
TODO 178 This is a temporary solution for setting HEAD_INCLUDES.

BackendController.class.php

Type Line Description
TODO 71 This is used as a temporary workaround to set user titles of fieldnames If BackendTable and FormGenerator use a sensful format for getting the fieldname titles (/headers), this can be removed.

Request.class.php

Type Line Description
TODO 233 This should be based on a member variable instead of superglobal
TODO 244 This should be based on a member variable instead of superglobal
TODO 264 Code copied from Init.class.php, there might be a better way to detect this
TODO 331 Code copied from Init.class.php, there might be a better way to detect this
TODO 391 CLX-2537: add configuration GUI for $trustedReverseProxyCnt

Resolver.class.php

Type Line Description
TODO 1191 Remove this method as soon as legacy request are no longer possible
TODO 327 history (empty($history) ? )
TODO 342 should this check (for type 'application') moved to \Cx\Core\ContentManager\Model\Entity\Page::getCmd()|getModule() ?
TODO 372 question: what do we need this for? I think there is no need for this (had been added in r15026)
TODO 419 analyze those, take action.
TODO 429 history
TODO 431 refactor system to be able to remove this backward compatibility
TODO 496 this should be handled by the affected components themself
TODO 738 add check for endless/circular redirection (a -> b -> a -> b ... and more complex)

Url.class.php

Type Line Description
TODO 53 Edit PHP DocBlocks!
TODO 73 Edit PHP DocBlocks!
TODO 73 This class does not properly handle question marks in query strings. According to the RFC ( https://tools.ietf.org/html/rfc3986#section-3.4), question marks are valid characters within the query string. Therefore, all operations on the question mark '?' character in this class must be reviewed and where applicable being fixed. See CLX-1780 for associated issue in LinkSanitizer.
TODO 546 This method should return {@see \Cx\Core\Routing\Url::pathPart} instead.
TODO 563 Throw exception in case $path contains query or fragment part. See CLX-3931
TODO 898 There could be more than one page using the same module and cmd per lang
TODO 934 This method does what the constructor of a clean Url class should do!
TODO 98 Implement protocol support (at the moment only http is supported)

Setting.class.php

Type Line Description
TODO 55 Edit PHP DocBlocks!
TODO 71 Edit PHP DocBlocks!
TODO 499 Add functionality to handle arrays within arrays
TODO 499 Add functionality to handle special form elements
TODO 499 Verify special values like e-mail addresses in methods that store them, like add(), update(), and updateAll()
TODO 1255 Untested! May or may not work as described.
TODO 652 this might be dangerous! should be rewritten probably
TODO 931 You *MUST* call this yourself *before* in order to
TODO 974 Test if this works in all browsers:
TODO 984 Noop is not implemented in File::upload_file_http()
TODO 990 Add error message

DbEngine.class.php

Type Line Description
TODO 55 Edit PHP DocBlocks!
TODO 159 These messages are inapropriate when settings are stored by another piece of code, too.
TODO 197 Add error messages for individual errors
TODO 250 Error message
TODO 352 Error message
TODO 381 The index array structure is wrong here!

Engine.class.php

Type Line Description
TODO 55 Edit PHP DocBlocks!

EngineInterface.interface.php

Type Line Description
TODO 55 Edit PHP DocBlocks!

FileSystem.class.php

Type Line Description
TODO 55 Edit PHP DocBlocks!
TODO 185 These messages are inapropriate when settings are stored by another piece of code, too.
TODO 190 Add error messages for section errors
TODO 195 Add error messages for setting array errors
TODO 230 Add error messages for individual errors
TODO 275 Error message

YamlEngine.class.php

Type Line Description
TODO 55 Edit PHP DocBlocks!
TODO 189 These messages are inapropriate when settings are stored by another piece of code, too.
TODO 194 Add error messages for section errors
TODO 199 Add error messages for setting array errors
TODO 245 Add error messages for individual errors
TODO 301 Error message

SmtpSettings.class.php

Type Line Description
TODO 50 Edit PHP DocBlocks!

Sorting.class.php

Type Line Description
TODO 519 I guess that it's better to leave it to another piece of code

Tree.class.php

Type Line Description
TODO 83 this conversion is a hack. in the final dump, we'll have module names instead of ids in the module attribute.
TODO 84 this means we will need to do exactly the opposite conversion (module2id)
TODO 96 'catid' => $page->getId(),
TODO 98 'parcat' => 0,
TODO 110 'frontend_access_id' => 0,
TODO 112 'backend_access_id' => 0,

validator.inc.php

Type Line Description
TODO 373 Check for event handlers

ComponentController.class.php

Type Line Description
TODO 162 Replace Request and Page by Response once it's used in the system
TODO 215 Replace Request and Page by Response once it's used in the system
TODO 255 Replace Request and Page by Response once it's used in the system

ViewManager.class.php

Type Line Description
TODO 1555 remove this function -> migrate all pending themes in the update process
TODO 2066 This should get superseded by CLX-4610
TODO 2602 remove this function -> migrate all pending themes in the update process
TODO 2603 migrate to new filesystem \Cx\Lib\FileSystem

BackendController.class.php

Type Line Description
TODO 184 $this->cx->getTemplate()->setVariable() should not be called here but in Cx class

Access.class.php

Type Line Description
TODO 899 Migrate this code to an event listener as soon as User is a proper doctrine entity
TODO 940 Migrate this code to an event listener as soon as User is a proper doctrine event

AccessBlocks.class.php

Type Line Description
TODO 282 Implement feature to filter by filter group placeholder (see fetchGroupFilter())

AccessLib.class.php

Type Line Description
TODO 55 This is probably not meant to be public, but protected instead

AccessManager.class.php

Type Line Description
TODO 257 BETA-status
TODO 865 handle broken pages differently
TODO 1719 Never used
TODO 2020 BETA-status
TODO 2349 // if (\FWSystem::getBytesOfLiteralSizeFormat($_POST['accessMaxProfilePicSize']) != $arrSettings['max_profile_pic_size']['value']) {
TODO 2386 // if (\FWSystem::getBytesOfLiteralSizeFormat($_POST['accessMaxPicSize']) != $arrSettings['max_pic_size']['value']) {
TODO 2959 $objAttribute is never used
TODO 2962 $objAttribute is never used
TODO 3172 Do you really need to reinitialize that?
TODO 3273 I suppose that the imported file is ISO-8859-1 or so
TODO 3317 Make new Users active or inactive?
TODO 3353 Shall I do this?

AliasLib.class.php

Type Line Description
TODO 47 Edit PHP DocBlocks!

AliasManager.class.php

Type Line Description
TODO 47 Edit PHP DocBlocks!
TODO 285 Use param $page (to update a page without prividing an id per GET)

CacheLib.class.php

Type Line Description
TODO 55 Descriptions are wrong. What is it really?
TODO 1077 Only drop this specific content instead of complete cache
TODO 197 $dynVars needs to be built dynamically (via event handler)
TODO 252 $dynFuncs needs to be built dynamically (via event handler)
TODO 277 drop this code as soon as strftime of DateTime
TODO 1931 Somehow FRONTEND_LANG_ID is sometimes undefined here...

ComponentController.class.php

Type Line Description
TODO 136 This is a workaround for Doctrine's result query cache.

CoreEntityBaseEventListener.class.php

Type Line Description
TODO 53 This is a workaround for Doctrine's result query cache.

Contact.class.php

Type Line Description
TODO 49 Edit PHP DocBlocks!
TODO 248 check if _uploadFiles does something dangerous with $arrFormData['fields'] (this is raw data!)
TODO 296 implement browser option
TODO 428 this does not work for certain reloads - add cleanup routine
TODO 809 check if we have to excape $arrRecipients later in the code
TODO 814 check if the label of upload-fields are taken into account as well
TODO 894 parse TH row instead
TODO 896 add visual horizontal line
TODO 930 check for XSS
TODO 999 this is some fixed plaintext message data -> must be ported to html body
TODO 1166 $this->arrFormfields contains the labels of the form fields in raw format. That means that this array might contain some special characters that might brake the regular expression. Therefore, we must add a regular expression string sanitizer here.

ContactLib.class.php

Type Line Description
TODO 1468 The javascript code must be loaded using JS:registerCode()
TODO 1426 what is with legacyMode uploads??
TODO 1486 do we have to change FRONTEND_LANG_ID to selectedInterfaceLanguage ?

ContactManager.class.php

Type Line Description
TODO 876 this might be a bug. Shouldn't this be the MAX(of used IDs) when modifying a form
TODO 2166 Use octal notation for special characters in regexes!
TODO 2357 Delete empty nodes

CliOutputController.class.php

Type Line Description
TODO 205 add option to break long lines after some chars

ComponentController.class.php

Type Line Description
TODO 1219 Implement "older than"...
TODO 1283 Drop this method as soon as the OpenAPI parser does support multilines.

ComponentController.class.php

Type Line Description
TODO 199 ESI variable should be registered in another way

Home.class.php

Type Line Description
TODO 188 Unused

ComponentController.class.php

Type Line Description
TODO 121 reenable in CLX-4195
TODO 141 Deactivated license check for now. Implement new behavior.

License.class.php

Type Line Description
TODO 468 reenable in CLX-4195

LicenseManager.class.php

Type Line Description
TODO 73 reenable in CLX-4195

Version.class.php

Type Line Description
TODO 110 Update to current version, found in wiki
TODO 122 Update to current version, found in wiki

versioncheck.php

Type Line Description
TODO 29 reenable in CLX-4195

ListingController.class.php

Type Line Description
TODO 278 This does not work yet
TODO 279 JsonData->json() expects a Response object
TODO 459 If $this->searchFields is empty allow all
TODO 469 Since we don't know how related data is presented we

CsvInterface.class.php

Type Line Description
TODO 63 Add "" around values containing separator
TODO 63 Add support for different charsets, since CSV does not declare which one to use Please note that Excel uses tab as delimiter if charset is unicode and semikolon for ANSI charsets
TODO 84 Add "" around values containing separator
TODO 84 Add support for different charsets, since CSV does not declare which one to use Please note that Excel uses tab as delimiter if charset is unicode and semikolon for ANSI charsets

DataSet.class.php

Type Line Description
TODO 580 Rethink this method, DataSet is always iterable, this is a general helper method

Login.class.php

Type Line Description
TODO 313 loading the language data of component Access at this

LoginManager.class.php

Type Line Description
TODO 170 Why oh why isn't function resetPassword() located in the AccessLibrary?
TODO 226 implement error message
TODO 230 implement error message

MediaLibrary.class.php

Type Line Description
TODO 1117 this is probably an overhead, because the uploader might already to this. doesn't it?

MediaManager.class.php

Type Line Description
TODO 686 CLX-3822: Implement a proper solution for this purpose.
TODO 730 size of thumbnails not supported by ThumbnailGenerator

JsonMediaBrowser.class.php

Type Line Description
TODO 303 Implement getDefaultPermissions() method.

MediaBrowserPageTree.class.php

Type Line Description
TODO 42 Implement preRenderElement() method.
TODO 99 Implement postRenderElement() method.
TODO 103 Implement preRenderLevel() method.
TODO 107 Implement postRenderLevel() method.
TODO 111 Implement renderHeader() method.
TODO 115 Implement renderFooter() method.
TODO 119 Implement preRender() method.
TODO 123 Implement postRender() method.
TODO 134 Implement init() method.

ComponentController.class.php

Type Line Description
TODO 256 filter arguments as in adjustResponse()
TODO 273 migrate to use additional path arguments

EsiWidgetController.class.php

Type Line Description
TODO 154 migrate to MediaSource once CLX-1896 has been completed

News.class.php

Type Line Description
TODO 1895 Add proper docblock
TODO 201 add error handler to load the fallback-language version of the news message
TODO 708 fetch typename through a newly to be created separate methode
TODO 1057 create a method that can be used to parse the message-list of the methods news::getTopNews(), news::getHeadlines()
TODO 1243 fetch typename from a newly to be created separate methode
TODO 1825 add fail check

NewsLibrary.class.php

Type Line Description
TODO 2179 Handle issue
TODO 2196 Handle issue
TODO 2317 @ Throw execption or log error message
TODO 2368 @ Throw execption or log error message
TODO 2408 @ Throw execption or log error message
TODO 2449 @ Throw execption or log error message
TODO 2468 @ Throw execption or log error message
TODO 2485 @ Throw execption or log error message
TODO 2723 Add AJAX-based paging
TODO 3618 Check if those can be generated by query
TODO 3633 Check if those can be generated by query
TODO 3648 This could be calculated in query

NewsManager.class.php

Type Line Description
TODO 397 use SQL_CALC_FOUND_ROWS and drop 'n.validated' in where clause instead of calling same query four times
TODO 445 Not in use yet. From r8465@branches/contrexx_2_1
TODO 2117 Check and refactor if required
TODO 2241 Check and refactor if required
TODO 2278 Check and refactor if required
TODO 2305 Check and refactor if required
TODO 2341 Check and refactor if required
TODO 2394 Check and refactor if required
TODO 3315 setting the proper protocol should be done in Url::fromPage()

NewsRecentComments.class.php

Type Line Description
TODO 66 This does not respect scheduled publishing!
TODO 88 add permission access check

BackendController.class.php

Type Line Description
TODO 68 Drop cache more selectively as soon as this is possible

Search.class.php

Type Line Description
TODO 430 (*) I think these are actually bytes.

Stats.class.php

Type Line Description
TODO 1104 Remove unused argument $parser
TODO 1115 Remove unused argument $parser

ComponentController.class.php

Type Line Description
TODO 48 In order to respect permission layer, this should not make direct use of doctrine (except for handling \Cx\Core_Modules\Sync\Model\Entity\... entities)
TODO 293 pretending delete was successful does not work for other output methods than json
TODO 293 update ID fields does not work as expected
TODO 474 update ID fields does not work as expected

JsonUploader.class.php

Type Line Description
TODO 314 Implement getDefaultPermissions() method.

ComponentController.class.php

Type Line Description
TODO 232 Move the CATCH-logic to \Cx\Core\Model\Controller\EntityManager

EsiWidgetController.class.php

Type Line Description
TODO 123 We should check at least all ESI params of this widget

RandomEsiWidgetController.class.php

Type Line Description
TODO 129 This randomly picks some instead of randomizing all

ContrexxJavascript.class.php

Type Line Description
TODO 62 this can be cached
TODO 82 Unused

DateTimeTools.class.php

Type Line Description
TODO 107 Add more languages to the i18n folder!
TODO 110 Append the locale code ("-GB", "-US") as well!
TODO 321 Extend here

DBG.php

Type Line Description
TODO 672 The result of calling fopen should be verified and be reflected in the return value
TODO 940 implement own dump-method that is able to handle recursive references
TODO 1101 add option to enable/disable ip anonymization (CLX-4544)
TODO 1224 Add some flag to enable/disable timestamps

DoctrineSQLLogger.class.php

Type Line Description
TODO 53 Edit PHP DocBlocks!

FileSystem.class.php

Type Line Description
TODO 186 Drop this method is favor of {@see \Cx\Lib\FileSystem\static::copy_folder()}. Migrate logic of $ignoreExists to the usages of this method when migrating to {@see \Cx\Lib\FileSystem\static::copy_folder()}.
TODO 186 Migrate logic of 'prevent infinit copy loop' to {@see \Cx\Lib\FileSystem\static::copy_folder()}.
TODO 234 Drop this method is favor of {@see \Cx\Lib\FileSystem\File::copy()}. Migrate logic of $ignoreExists to the usages of this method when migrating to {@see \Cx\Lib\FileSystem\File::copy()}.
TODO 704 Test!
TODO 704 Replace non-ASCII charactes with octal values

FWUser.class.php

Type Line Description
TODO 202 Seems that this method returns zero at first when the Users' language is set to "default"!
TODO 503 START: WORKAROUND FOR ACCOUNTS SOLD IN THE SHOP
TODO 514 START: WORKAROUND FOR ACCOUNTS SOLD IN THE SHOP
TODO 523 START: WORKAROUND FOR ACCOUNTS SOLD IN THE SHOP
TODO 535 START: WORKAROUND FOR ACCOUNTS SOLD IN THE SHOP
TODO 544 START: WORKAROUND FOR ACCOUNTS SOLD IN THE SHOP
TODO 649 add verificationTimeout as configuration option
TODO 669 destroy session and create new one
TODO 671 add language variable

Image.class.php

Type Line Description
TODO 444 In case the PHP script has no write access to the location set by $this->newImageFile, the image shall be sent to the output buffer and then be put into the new file location using the FileSystemFile object.
TODO 444 Check for all usages of this method if argument $injectTransparency must be set to FALSE.
TODO 633 Reto asks: Who wrote this?
TODO 633 Reto asks: Why is 1 added to the original size?
TODO 633 The $webPath argument is not used. Remove.
TODO 633 It looks like this method isn't used at all. Remove.
TODO 813 This method is completely redundant. It does exactly the same as calling @getimagesize($file) directly! - Remove.
TODO 446 Add some sort of diagnostics (Message) here and elsewhere in this class
TODO 462 Unfortunately, the functions imagegif(), imagejpeg(), imagepng() and imagewebp() can't use the Cloudrexx FileSystem wrapper,

Javascript.class.php

Type Line Description
TODO 57 Edit PHP DocBlocks!
TODO 231 remove & replace by cx call
TODO 788 This makes including files starting with dynamic protocol (//) impossible,
TODO 911 Unused

Language.class.php

Type Line Description
TODO 393 Use the Html class instead
TODO 419 Use the Html class instead
TODO 441 Use the Html class instead

MXLookup.class.php

Type Line Description
TODO 49 Edit PHP DocBlocks!

Uri.class.php

Type Line Description
TODO 48 Add support for relative URI parsing
TODO 326 implement a (descendant) method for relative URI/Ls

Url.class.php

Type Line Description
TODO 58 Add query section parsing
TODO 302 Naming isn't consistent with RFC's expressions
TODO 316 Naming isn't consistent with RFC's expressions
TODO 332 Naming isn't consistent with RFC's expressions
TODO 344 Naming isn't consistent with RFC's expressions

SsiProcessor.class.php

Type Line Description
TODO 98 this should be a generic feature of \Cx\Core\Html\Sigma

System.class.php

Type Line Description
TODO 51 Edit PHP DocBlocks!

UpdateUtil.class.php

Type Line Description
TODO 830 Add proper docblock
TODO 503 maybe we should somehow notify the caller if
TODO 529 maybe we should check for the type of the
TODO 638 "INDEX" instead of "KEY" produces an error for type "PRIMARY"? -- RK

User.class.php

Type Line Description
TODO 3125 All affected customers *MUST* be migrated properly from the Shop to the User administration
TODO 3162 Implement a way to detect the real timezone
TODO 3162 Implement DateTime postResolve() to set $this->userTimezone again once the sign-in user has been loaded
TODO 332 Explain this method in plain english...
TODO 339 Provide default values here in case the settings are missing!
TODO 437 add verificationTimeout as configuration option
TODO 486 add verificationTimeout as configuration option
TODO 1284 I guess this is wrong, then.
TODO 1376 some conditions are not well enclosed, so there might be a more proper solution than adding more brackes at this point
TODO 3054 Maybe this should be restricted to MODULE_ID == 16 (Shop)?

User_Profile.class.php

Type Line Description
TODO 670 What is this good for?

User_Profile_Attribute.class.php

Type Line Description
TODO 1050 Hmmmm... No error message here? We just failed an "integrity check"!?
TODO 1356 I suppose the precedence is okay like this.
TODO 2213 check if this methods logic could be replaced by the following code

User_Setting.class.php

Type Line Description
TODO 84 This seems to be bogus

Validator.class.php

Type Line Description
TODO 107 Edit PHP DocBlocks!
TODO 107 Most, if not all, should be static
TODO 229 This function does not belong in here
TODO 250 This function does not belong in here
TODO 582 Possibly throw an Exception if an unknown/typoed constraint was provided
TODO 622 Translate messages
TODO 667 Translate messages
TODO 700 Translate messages

EntityBase.class.php

Type Line Description
TODO 286 Order the array by the fallback order (same as in ContentManager)

BlockLibrary.class.php

Type Line Description
TODO 966 This is legacy code and must be replaced by proper EsiWidget implementation through a EsiWidgetController.
TODO 1008 This is legacy code and must be replaced by proper EsiWidget implementation through a EsiWidgetController.

ComponentController.class.php

Type Line Description
TODO 93 this call in unhappy, becase the content/home template already gets parsed just the line above

JsonBlockController.class.php

Type Line Description
TODO 312 This is legacy code and must be replaced by proper EsiWidget implementation through a EsiWidgetController.

Calendar.class.php

Type Line Description
TODO 328 implement logic
TODO 763 create element using Html library
TODO 770 create element using Html library

CalendarEvent.class.php

Type Line Description
TODO 307 Better replace all Event properties with one single doctrine Event instance... ...and drop this class.

CalendarEventManager.class.php

Type Line Description
TODO 1051 implement with new Google Maps Embed API. see https://developers.google.com/maps/documentation/embed/guide

CalendarHeadlines.class.php

Type Line Description
TODO 109 implement logic

CalendarLibrary.class.php

Type Line Description
TODO 206 Implement behavior of this option
TODO 367 we have to manually load the language-data here, as it

CalendarMailManager.class.php

Type Line Description
TODO 913 this is a workaround

CalendarRegistrationManager.class.php

Type Line Description
TODO 756 This method's code is magic. Trying to document it is pointless. It makes more sense to refactor the whole method instead.

ComponentController.class.php

Type Line Description
TODO 181 this is required as CalendarEventManager::getEvent() depends on $_LANGID

EsiWidgetController.class.php

Type Line Description
TODO 157 implement logic
TODO 192 implement logic

MailRecipient.class.php

Type Line Description
TODO 47 Add DocBlocks

Category.class.php

Type Line Description
TODO 137 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$categoryNames}
TODO 149 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$categoryNames}
TODO 223 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$events}
TODO 235 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$events}

Event.class.php

Type Line Description
TODO 1966 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$eventFields}
TODO 1978 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$eventFields}
TODO 2092 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$registrations}
TODO 2104 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$registrations}
TODO 2197 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$categories}
TODO 2211 This method is most likely obsolete as the associated property is named {@see \Cx\Modules\Calendar\Model\Entity\static::$categories}

CrmLibrary.class.php

Type Line Description
TODO 869 $selectedCountry must be converted into an integer. See CLX-3968

Category.class.php

Type Line Description
TODO 440 Only load downloads of subcategories if we're not modifying a category

Downloads.class.php

Type Line Description
TODO 169 Algorithm for loading downloads has to be refactored
TODO 421 Rating system has to be implemented first!

DownloadsLibrary.class.php

Type Line Description
TODO 279 getVisibility() < should only be checked if the user isn't an admin or so
TODO 445 Use own methods instead of \FWUser::getValidityString() and \FWUser::getValidityMenuOptions()

DownloadsManager.class.php

Type Line Description
TODO 1847 Documentation
TODO 1757 WHY THAT?
TODO 1851 check subcategory manage access permission of $parentCategoryId
TODO 2027 rename

Gallery.class.php

Type Line Description
TODO 51 Edit PHP DocBlocks!

GalleryManager.class.php

Type Line Description
TODO 512 Unused
TODO 740 Unused
TODO 2525 Unused
TODO 2955 $strFileOld, $strFileNew are not initialized
TODO 3141 $strFileOld, $strFileNew are not initialized
TODO 3522 sometimes, strings are passed... this is a workaround
TODO 3542 Unfortunately, the functions imagegif(), imagejpeg() and imagepng() can't use the Cloudrexx FileSystem wrapper,

ComponentController.class.php

Type Line Description
TODO 414 we need an other method that does also load the additional infos (template, css, etc.)
TODO 421 this code snipped is taken from \Cx\Core\Routing\Resolver
TODO 441 the system should not access superglobals directly.

MediaDirectoryEntry.class.php

Type Line Description
TODO 814 break-statement is missing here. This enables the google-map

MediaDirectoryInputfield.class.php

Type Line Description
TODO 616 how can this happen?

MediaDirectoryLibrary.class.php

Type Line Description
TODO 2193 Move templates to /data/private/MediaDir (CLX-4442)
TODO 180 assignment will be obsolete once this component has been migrated to extend form SystemComponentController
TODO 1029 do we need the shadowbox every time?

MediaDirectoryManager.class.php

Type Line Description
TODO 1195 _FORM_ONSUBMIT not used?

MediaDirectoryPlaceholder.class.php

Type Line Description
TODO 56 seams not to be working in the frontend right now

MediaDirectoryInputfieldFile.class.php

Type Line Description
TODO 337 do fetch currently set file from database instead of
TODO 386 we must fetch the actual data from this field and not

MediaDirectoryInputfieldImage.class.php

Type Line Description
TODO 339 do actually delete the image in case of a frontend
TODO 390 we must fetch the actual data from this field and not

MediaDirectoryInputfieldLinkGroup.class.php

Type Line Description
TODO 47 Edit PHP DocBlocks!

MediaDirectoryInputfieldText.class.php

Type Line Description
TODO 48 Edit PHP DocBlocks!

MediaDirectoryInputfieldTextarea.class.php

Type Line Description
TODO 48 Edit PHP DocBlocks!

MediaDirectoryInputfieldWysiwyg.class.php

Type Line Description
TODO 48 Edit PHP DocBlocks!
TODO 92 What if the current language value is missing?
TODO 102 Bogus line

Newsletter.class.php

Type Line Description
TODO 54 Edit PHP DocBlocks!
TODO 246 use FWUSER
TODO 356 Mail should be sent on success only.
TODO 516 use FWUSER
TODO 621 implement feature
TODO 625 send notification e-mail about existing e-mail account
TODO 971 add validation CODE!!!
TODO 972 use FWUSER
TODO 1184 This used to return *nothing* when notifications were turned off.
TODO 1308 migrate to Country class
TODO 1325 migrate to Country class

NewsletterLib.class.php

Type Line Description
TODO 57 Edit PHP DocBlocks!
TODO 794 Refactor settings handling of component by migrating to \Cx\Setting
TODO 824 Refactor settings handling of component by migrating to \Cx\Setting
TODO 929 Merge with user_profile_attribute_title
TODO 938 add language variable
TODO 951 Merge with user_profile_attribute_title
TODO 961 Merge with user_profile_attribute_title
TODO 975 Merge with user_profile_attribute_title
TODO 996 refactor to use a proper single SQL DELETE statement
TODO 1286 This should not be used anymore. See {@see preg_quote()}!

NewsletterManager.class.php

Type Line Description
TODO 1134 Apparently parses one group too much
TODO 2668 I think this should be rewritten too
TODO 2724 Move the query parts of $accessUserRecipientsQuery and &userGroupRecipientsQuery into a separate method as they are almost identical except for different table aliases that have to be used.
TODO 5590 instead of just not linking the access users probably link to the access module in case the user has the appropriate rights
TODO 204 refactor and reactivate these extended statistics
TODO 1397 All calls to getPaging(): Shouldn't '&' be written as '&amp;'?
TODO 3043 check if there are any recipients left that were missed out in the send process (sendt=1).
TODO 3047 check if the delivery to any recipients failed (sendt=2).
TODO 3307 Unused
TODO 3447 Remove newsletter subscription for access_user
TODO 3468 Remove newsletter subscription for access_user
TODO 3619 replace with new methode $this->GetBrowserViewURL()
TODO 3669 migrate tracker to new URL-format
TODO 3977 use FWUser instead of _getRecipientTitles()
TODO 4016 Unused
TODO 4068 Unused
TODO 4247 use FWUSER
TODO 4262 $WhereStatement is not defined
TODO 4276 $count is never used
TODO 4279 $query is not defined, this has probably been superseeded by the
TODO 4495 Refactor this method
TODO 4496 $emailCount never used!!
TODO 4671 use FWUSER
TODO 4728 Undefined
TODO 4739 Unused
TODO 4972 Unused
TODO 4976 Unused
TODO 5155 use FWUSER
TODO 5256 Unused
TODO 6140 we consider, that attribute values are all included in double quotes (""): wysiwyg editor replaces them automatically
TODO 6162 wouldn't that
TODO 6259 This code should go into the library as a private method.
TODO 6265 These REs miserably fail when apostrophes (') are used
TODO 6266 What do they *really* do?
TODO 6270 The /s flag is probably unnecessary
TODO 6377 refactor method
TODO 6551 refactor method

Attribute.class.php

Type Line Description
TODO 59 Test!
TODO 117 Disabled FTTB. Feature for 3.1.0
TODO 118 Include upload path with corresponding backend setting
TODO 119 Set form type for multipart
TODO 804 Improve the regex for file names

Attributes.class.php

Type Line Description
TODO 54 Test!

Cart.class.php

Type Line Description
TODO 49 Test!
TODO 342 True? // $arrNewProduct['id'] may be undefined!
TODO 370 I suspect that this could be completely skipped when $new === false!?
TODO 692 Support products with different VAT rates
TODO 916 Handle missing or empty Template, load one
TODO 969 Move this to (global) language variables
TODO 1184 implement/test this

Coupon.class.php

Type Line Description
TODO 857 If the $active parameter value is set, limit the number to Coupons of the given status (not implemented yet)
TODO 910 Three umlauts in UTF-8 encoding might count as six characters here!

CsvImport.class.php

Type Line Description
TODO 47 Edit PHP DocBlocks!
TODO 62 Optional. Include it?

Currency.class.php

Type Line Description
TODO 332 In case that the {@link formatPrice()} function is localized, the returned value *MUST NOT* be treated as a number anymore!
TODO 354 In case that the {@link formatPrice()} function is localized, the returned value *MUST NOT* be treated as a number anymore!
TODO 391 Localize! Create language and country dependant settings in the database, and make this behave accordingly.
TODO 716 Add a symbol, symbol position, and other localization settings (decimal- and thousands separator, etc.) for each currency
TODO 960 Changed default increment to '0.01'. Apply to installation database!
TODO 999 I dunno if I'm just lucky, or if this will work with any charsets

Customer.class.php

Type Line Description
TODO 565 Add the Customer Usergroup to the filter and test that
TODO 60 Is that necessary?
TODO 760 Translate
TODO 791 Translate
TODO 916 See whether a User with that username (but different e-mail address) exists!

Mail.class.php

Type Line Description
TODO 226 Some valid addresses are rejected by this method, such as *%+@mymail.com. Valid (atom) characters are: "!#$%&'*+-/=?^_`{|}~" (without the double quotes), see {@link http://rfc.net/rfc2822.html} for details.
TODO 226 The rules applied to host names are not correct either, see {@link http://rfc.net/rfc1738.html} and {@link http://rfc.net/rfc3986.html}. Excerpt from RFC 1738: - hostport = host [ ":" port ] - host = hostname | hostnumber - hostname = *[ domainlabel "." ] toplabel - domainlabel = alphadigit | alphadigit *[ alphadigit | "-" ] alphadigit - toplabel = alpha | alpha *[ alphadigit | "-" ] alphadigit - alphadigit = alpha | digit Excerpt from RFC 3986: "Non-ASCII characters must first be encoded according to UTF-8 [STD63], and then each octet of the corresponding UTF-8 sequence must be percent- encoded to be represented as URI characters".
TODO 226 This doesn't really belong here. Should be placed into a proper core e-mail class as a static method.
TODO 376 Migrate the old template using the original IDs, make them unprotected
TODO 377 Add the new default templates with the new keys
TODO 411 utf8_encode() may not be necessary in all cases.
TODO 438 This is completely unreliable.

Manufacturer.class.php

Type Line Description
TODO 80 Order the Manufacturers by their name
TODO 313 Implement the filter
TODO 407 Move this to the Manufacturer class!
TODO 425 Move this to the Manufacturer class!
TODO 237 Message

Order.class.php

Type Line Description
TODO 2319 Let items be handled by their own class
TODO 1214 Should add verification for POSTed fields and ignore unset values!
TODO 2206 TEST

Orders.class.php

Type Line Description
TODO 543 Rewrite the statistics in a seperate class, extending Order
TODO 935 Should definitely use POST instead.
TODO 285 Better use a redirect after doing stuff!
TODO 407 Obsolete ASAP
TODO 448 For Order export
TODO 495 (still unused in the view)
TODO 500 Order export
TODO 509 Order export
TODO 991 It might be useful to move this to its own method:
TODO 1266 Use proper localized date formats
TODO 1350 Add individual VAT rates for Products
TODO 1392 Add proper formatting with sprintf() and language entries

PriceList.class.php

Type Line Description
TODO 52 Font, color and basic layout should be configurable in the backend

Product.class.php

Type Line Description
TODO 613 Unused DATETIME should be NULL
TODO 637 Unused DATETIME should be NULL
TODO 949 MUST NOT delete while the Product is part of any Order!

Products.class.php

Type Line Description
TODO 391 This is prolly somewhat slow. Could we use an "index" of sorts?

Shipment.class.php

Type Line Description
TODO 344 Because the value posted from the form is not currently verified,

Shop.class.php

Type Line Description
TODO 836 The cart info is not updated in time when the cart is destroyed and the product overview is shown again!
TODO 2751 Reimplement the $flagUpload parameter
TODO 3622 Make sure there are proper payment and shipment IDs set in the session!
TODO 4031 Fill in the order summary automatically.
TODO 4031 Problem: If the order is big enough, it may not fit into the visible text area, thus causing some order items to be cut off when printed. This issue should be resolved by replacing the <textarea> with a variable height element, such as a table, or a div.
TODO 296 This should be set up in a more elegant way
TODO 421 Add Order history view (see History.class.php)
TODO 428 Experimental
TODO 439 Set the Messages in the global template instead when that's ready
TODO 760 drop placeholder/feature as soon as placeholder-modification-
TODO 802 reactivate 'break' statement as soon as placeholder-modification-
TODO 884 Handle this properly!
TODO 1364 This probably breaks paging in search results!
TODO 1389 Use the alias, if any
TODO 1400 Add creation and/or change date to Products.
TODO 1475 There are other cases of flag combinations that are not indivuidually
TODO 1494 Use the alias, if any
TODO 1594 Use the alias, if any
TODO 1693 Test results for any combination of name and url
TODO 2759 Fix this bug in \ContrexxJavascript::setVariable():
TODO 2765 Also consider Customer type (reseller, final customer)
TODO 2867 Even though no one can register herself, there still might
TODO 2950 Use the slug
TODO 3830 This is not the solution. The value posted by the form should
TODO 4333 Implement a proper method
TODO 4918 Verify error message set by Order::insertItem()
TODO 4930 Do something if the Coupon does not work
TODO 4970 These arguments are no longer valid. Set them up later?
TODO 5009 Invert this flag, as it may no longer be present after paying
TODO 5358 Should be set by the calling view, if any
TODO 5413 Should be set by the calling view
TODO 5564 I don't see why this would be done here:

ShopLibrary.class.php

Type Line Description
TODO 51 Add a proper constructor that initializes the class with its various variables, and/or move the appropriate parts to a pure Shop class.

ShopManager.class.php

Type Line Description
TODO 4210 Seems that this is unused!?
TODO 110 Translate
TODO 148 Translate
TODO 185 Workaround for the language selection. Remove when the new UI
TODO 315 Implement the filter in the Manufacturer class
TODO 677 !!! CSV EXPORT IS OBSOLETE AND DYSFUNCT !!!
TODO 750 Use Customer class!
TODO 768 Use Customer class!
TODO 807 Use Customer class!
TODO 865 Add success message?
TODO 911 Set messages in there
TODO 923 Set messages in there
TODO 1461 TEMPORARY. Remove when a proper update is available.
TODO 1507 Temporary. Remove in release with working update
TODO 1570 Temporary. Remove in release with working update
TODO 1656 Use \Cx\Core\Setting\Controller\Setting::show(), and add a proper setting type!
TODO 1815 Add controls to fold parent categories
TODO 1854 Implement a folded hierarchy view
TODO 2369 Any attributes for the datepicker input?
TODO 2737 Add error message
TODO 2766 Strip what URI parameters?
TODO 2935 Messages *SHOULD* be set up by the User class
TODO 3023 TEST
TODO 3242 Use a common sendLogin() method
TODO 3331 Strip URL parameters: Which?

ShopSettings.class.php

Type Line Description
TODO 672 Add possibility to choose some products to change, and add a parameter for this list of IDs
TODO 121 Use

Dummy.class.php

Type Line Description
TODO 55 Edit PHP DocBlocks!

Saferpay.class.php

Type Line Description
TODO 60 Implement using this
TODO 586 Verify URLs

Yellowpay.class.php

Type Line Description
TODO 779 Currently, all fields present in the $fields array are added to the string with SHASIGN being the only exception that is skipped. It will probably be necessary to exclude further keys that are not used for computing the hash.

Search results