Markers
Table of Contents
api.php
| Type | Line | Description |
|---|---|---|
| TODO | 172 | other output modifiers include contact_type |
Attachment.php
| Type | Line | Description |
|---|---|---|
| FIXME | 314 | ACLs: Add any JOIN or WHERE clauses needed to enforce access-controls for the target entity. |
Case.php
| Type | Line | Description |
|---|---|---|
| FIXME | 60 | Some of this logic should move to the BAO object? |
| FIXME | 61 | Should we check if case with ID actually exists? |
| FIXME | 74 | Refactor as separate method to get contactId |
| FIXME | 619 | Historically we return a 1-based array. Changing that risks breaking API clients that |
Contribution.php
| Type | Line | Description |
|---|---|---|
| TODO | 480 | - most of this should live in the BAO layer but as we want it to be an addition to 4.3 which is already stable we should add it to the api layer & re-factor into the BAO layer later |
| TODO | 610 | - most of this should live in the BAO layer but as we want it to be an addition to 4.3 which is already stable we should add it to the api layer & re-factor into the BAO layer later |
| TODO | 610 | this needs a big refactor to use the CRM_Contribute_BAO_Contribution::repeatTransaction and Payment.create where currently it uses CRM_Contribute_BAO_Contribution::completeOrder and repeats a lot of work. See comments in https://github.com/civicrm/civicrm-core/pull/23928 |
CustomField.php
| Type | Line | Description |
|---|---|---|
| TODO | 220 | remove this function - not in use but need to review functionality before removing as it might be useful in wrapper layer |
Setvalue.php
| Type | Line | Description |
|---|---|---|
| TODO | 61 | create a utility for this since it's needed in many places |
Generic.php
| Type | Line | Description |
|---|---|---|
| TODO | 515 | - if may be we should define a 'resolve' key on the pseudoconstant for when these rules are not fine enough This function is only split out for the purpose of code clarity / comment block documentation |
GroupContact.php
| Type | Line | Description |
|---|---|---|
| TODO | 190 | behaviour is highly non-standard - need to figure out how to make this 'behave' & at the very least return IDs & details of the groups created / changed |
GroupNesting.php
| Type | Line | Description |
|---|---|---|
| TODO | 71 | Work out the return value. |
Job.php
| Type | Line | Description |
|---|---|---|
| TODO | 264 | - is this here by mistake or should it be added to _spec function :id - Integer - greetings option group. |
MailingAB.php
| Type | Line | Description |
|---|---|---|
| FIXME | 310 | doesn't make sense to get url_id mailing_id_(a|b) while getting start date in mailing_id_a |
MessageTemplate.php
| Type | Line | Description |
|---|---|---|
| FIXME | 155 | Type?? |
| FIXME | 186 | Type?? |
Participant.php
| Type | Line | Description |
|---|---|---|
| TODO | 62 | this should be done in the BAO not the api |
PledgePayment.php
| Type | Line | Description |
|---|---|---|
| TODO | 34 | possibly add ability to add payment if there are less payments than pledge installments |
| TODO | 34 | possibly add ability to recalculate dates if the schedule is changed |
Profile.php
| Type | Line | Description |
|---|---|---|
| TODO | 348 | add example |
| TODO | 348 | add test cases |
| TODO | 717 | this should be handled by the api wrapper using getfields info - need to check how we add a a pseudoconstant to this pseudo api to make that work |
Relationship.php
| Type | Line | Description |
|---|---|---|
| TODO | 79 | Result is inconsistent depending on whether contact_id is passed in : - if you pass in contact_id - it just returns all relationships for 'contact_id' - if you don't pass in contact_id then it does a filter on the relationship table (DAO based search) |
UFJoin.php
| Type | Line | Description |
|---|---|---|
| TODO | 42 | - suspect module, weight don't need to be required - need to test |
utils.php
| Type | Line | Description |
|---|---|---|
| TODO | 1002 | filter so only required fields are queried |
| TODO | 1136 | - we are probably skipping handling disabled options as presumably getoptions is not giving us them. This should be non-regressive but might be fixed in future |
| TODO | 1676 | - probably the unique field handling & the if exists handling is now done before this function is reached in the wrapper - can reduce this code down to assume we are only checking the passed in field It also checks against the RULE:date function. This is a centralisation of code that was scattered and may not be the best thing to do. There is no code level documentation on the existing functions to work off |
| TODO | 91 | create a utility for this since it's needed in many places. |
| TODO | 150 | This shouldn't be necessary but this fn sometimes gets called with lowercase entity |
| FIXME | 329 | DAO names should follow CamelCase convention |
| FIXME | 363 | DAO should be renamed CRM_Badge_DAO_BadgeLayout |
AngularLoader.php
| Type | Line | Description |
|---|---|---|
| TODO | 162 | optimization; client-side caching |
| FIXME | 182 | The `resetLocationProviderHashPrefix.js` has to stay in sync with `\Civi\Angular\Page\Modules::buildAngularModules()`. |
| FIXME | 203 | The following CSS aggregator doesn't currently handle path-adjustments - which can break icons. |
Manager.php
| Type | Line | Description |
|---|---|---|
| TODO | 275 | should we pass translation domain based on $module[ext] or $module[tsDomain]? |
Modules.php
| Type | Line | Description |
|---|---|---|
| FIXME | 91 | The `resetLocationProviderHashPrefix.js` has to stay in sync with `\Civi\Angular\AngularLoader::load()`. |
ExternalBatch.php
| Type | Line | Description |
|---|---|---|
| FIXME | 56 | If we upgrade to newer Symfony\Process and use the newer |
Kernel.php
| Type | Line | Description |
|---|---|---|
| FIXME | 436 | dispatch |
MagicFunctionProvider.php
| Type | Line | Description |
|---|---|---|
| FIXME | 197 | This has the affect of masking bugs in load order; this is |
ReflectionProvider.php
| Type | Line | Description |
|---|---|---|
| TODO | 28 | decide if we really want to override others |
| TODO | 32 | decide if we really want to override others |
| TODO | 77 | decide if we really want to override others |
SelectQuery.php
| Type | Line | Description |
|---|---|---|
| FIXME | 378 | Currently this only works 1 level deep, but tracking through multiple joins would increase complexity |
ChainSubscriber.php
| Type | Line | Description |
|---|---|---|
| TODO | 170 | - this might need the camel treatment |
DynamicFKAuthorization.php
| Type | Line | Description |
|---|---|---|
| TODO | 265 | no change in field_name? |
PermissionCheck.php
| Type | Line | Description |
|---|---|---|
| FIXME | 70 | Generating the exception ourselves allows for detailed error |
TransactionSubscriber.php
| Type | Line | Description |
|---|---|---|
| FIXME | 97 | When APIv3 uses better parsing, only one check will be needed. |
GroupSubscriptionProcessor.php
| Type | Line | Description |
|---|---|---|
| FIXME | 123 | Implement this in APIv4 |
ExampleData.php
| Type | Line | Description |
|---|---|---|
| FIXME | 92 | Perhaps use 'edit message templates' or similar? |
AbstractCreateAction.php
| Type | Line | Description |
|---|---|---|
| FIXME | 43 | There should be a protocol to report a full list of errors... Perhaps a subclass of CRM_Core_Exception? |
AbstractSaveAction.php
| Type | Line | Description |
|---|---|---|
| FIXME | 81 | There should be a protocol to report a full list of errors... Perhaps a subclass of CRM_Core_Exception? |
AbstractUpdateAction.php
| Type | Line | Description |
|---|---|---|
| FIXME | 116 | There should be a protocol to report a full list of errors... Perhaps a subclass of CRM_Core_Exception? |
EntityInterface.php
| Type | Line | Description |
|---|---|---|
| TODO | 20 | flesh out the interface |
DAOActionTrait.php
| Type | Line | Description |
|---|---|---|
| FIXME | 269 | handle arrays for multi-value contact reference fields, etc. |
Api4Query.php
| Type | Line | Description |
|---|---|---|
| FIXME | 373 | Use this instead of the above hack once MIN_INSTALL_MYSQL_VER is bumped to 5.7. |
Api4SelectQuery.php
| Type | Line | Description |
|---|---|---|
| FIXME | 341 | Currently this only works 1 level deep, but tracking through multiple joins would increase complexity |
| FIXME | 542 | This is just guessing. We ought to check the schema for all unique fields and foreign keys. |
| FIXME | 558 | This guesswork ought to emit a deprecation notice. SearchKit doesn't use it. |
ActivityLinksProvider.php
| Type | Line | Description |
|---|---|---|
| TODO | 87 | Code block was moved from CRM_Activity_Form_ActivityLinks and could use further cleanup |
FieldDomainIdSpecProvider.php
| Type | Line | Description |
|---|---|---|
| TODO | 28 | The WordReplacement entity should have domain_id required so this OR condition can be removed |
IsCurrentFieldSpecProvider.php
| Type | Line | Description |
|---|---|---|
| TODO | 70 | If we wanted this to not be a hard-coded list, we could always return TRUE here |
CoreUtil.php
| Type | Line | Description |
|---|---|---|
| TODO | 36 | It would be nice to just call self::getInfoItem($entityName, 'dao') |
FormattingUtil.php
| Type | Line | Description |
|---|---|---|
| TODO | 301 | Teach Civi::entity to return contact-type pseudo-entities |
| FIXME | 530 | decouple from v3 API |
Analyzer.php
| Type | Line | Description |
|---|---|---|
| TODO | 109 | find batch-oriented API for getting all activities in a case |
Container.php
| Type | Line | Description |
|---|---|---|
| TODO | 18 | use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; |
| TODO | 117 | Move configuration to an external file; define caching structure |
| FIXME | 424 | Automatically scan BasicServices for ProviderInterface. |
| TODO | 491 | We need a better code-convention for metadata about non-hook events. |
SettingsBag.php
| Type | Line | Description |
|---|---|---|
| TODO | 307 | provide equivalent component settings for CIVICRM_UF_DSN |
SettingsManager.php
| Type | Line | Description |
|---|---|---|
| TODO | 317 | should we warn if env var is overriding $civicrm_setting setting? |
| TODO | 487 | should we complain here if there are inconsistent defines |
SettingsMetadata.php
| Type | Line | Description |
|---|---|---|
| FIXME | 167 | This is a workaround for settingsBag::setDb() called by unit tests with settings names that don't exist |
SqlTriggers.php
| Type | Line | Description |
|---|---|---|
| TODO | 84 | malformed entries should raise errors or get logged. |
Url.php
| Type | Line | Description |
|---|---|---|
| TODO | 691 | decide if the current default is good enough for future |
CryptoJwt.php
| Type | Line | Description |
|---|---|---|
| TODO | 65 | Circa mid-2024, make a hard-requirement on firebase/php-jwt v5.5+. |
OutputHandlerBase.php
| Type | Line | Description |
|---|---|---|
| TODO | 142 | Couldn't it just always be absolute? |
OutputHandlerInterface.php
| Type | Line | Description |
|---|---|---|
| TODO | 119 | Couldn't it just always be absolute? |
SqlEntityStorage.php
| Type | Line | Description |
|---|---|---|
| TODO | 26 | Implement writeRecords() method. |
| TODO | 30 | Implement deleteRecords() method. |
WebEntrypoint.php
| Type | Line | Description |
|---|---|---|
| TODO | 86 | use AppSettings to get the configured core path |
Api4TestTrait.php
| Type | Line | Description |
|---|---|---|
| TODO | 251 | Fix these entities and delete this list |
LocalHttpClient.php
| Type | Line | Description |
|---|---|---|
| FIXME | 116 | There's probably a way to instrument CRM_Utils_System_UnitTests to do this better. |
| FIXME | 123 | There are some things which emit PrematureExitException but don't provide the $response object. |
TokenCompatSubscriber.php
| Type | Line | Description |
|---|---|---|
| TODO | 135 | We should reuse the filters from TokenProcessor::filterTokenValue() |
TokenProcessor.php
| Type | Line | Description |
|---|---|---|
| TODO | 491 | Move this to StandardFilters |
| TODO | 535 | Change the autogenerated stub |
Permissions.php
| Type | Line | Description |
|---|---|---|
| FIXME | 173 | // Changed the 'access_civicrm_nav_link' capability in civicrm.php file |
Activity.php
| Type | Line | Description |
|---|---|---|
| TODO | 2675 | Document what this is for. |
| TODO | 80 | at some stage we'll have to deal |
| TODO | 1904 | ideally we should retrieve all fields from xml, in this case since activity processing is done |
ICalendar.php
| Type | Line | Description |
|---|---|---|
| TODO | 108 | Is there a better way to do this? |
| TODO | 69 | Is there a better way to do this? |
Query.php
| Type | Line | Description |
|---|---|---|
| TODO | 415 | ideally this would be a trait included on the activity search & advanced search rather than a static function. |
Activity.php
| Type | Line | Description |
|---|---|---|
| FIXME | 254 | Overcomplicated 'context' causes push-pull between various use-cases for the form |
| FIXME | 255 | the solution is typically to ditch 'context' and just respond to the data |
| FIXME | 1231 | - it's not clear why the if line just above is needed here and why we can't just set this once above and re-use. What is interesting, but can't possibly be the reason, is that the first if block will fail if the label is the string '0', whereas this one won't. But who would have an activity type called '0'? |
Tab.php
| Type | Line | Description |
|---|---|---|
| FIXME | 124 | need to fix this conflict |
ContactType.php
| Type | Line | Description |
|---|---|---|
| TODO | 66 | Remove when dropping image_URL column |
Options.php
| Type | Line | Description |
|---|---|---|
| FIXME | 322 | Each component should define whether adding new activity types is allowed. |
ScheduleReminders.php
| Type | Line | Description |
|---|---|---|
| TODO | 238 | This snippet could be an api action e.g. `civicrm_api4('ActionSchedule', 'validate'...)` |
Setting.php
| Type | Line | Description |
|---|---|---|
| TODO | 95 | Document what I do. |
Extensions.php
| Type | Line | Description |
|---|---|---|
| TODO | 132 | Debate whether to immediately detect changes in underlying source tree |
| TODO | 209 | if extbrowser is enabled and extbrowser has newer version than extcontainer, |
Query.php
| Type | Line | Description |
|---|---|---|
| FIXME | 476 | Keyed by label because civicrm_activity.result unfortunately stores the option_value.label! |
Signature.php
| Type | Line | Description |
|---|---|---|
| TODO | 572 | contactID is never set (commented above) |
| TODO | 614 | error case when more than one signature found for this petition and this contact |
Questions.php
| Type | Line | Description |
|---|---|---|
| FIXME | 55 | Displays weird "/\ Array" message; doesn't work with tabs |
Case.php
| Type | Line | Description |
|---|---|---|
| FIXME | 67 | The EventScanner ought to skip over disabled components when registering HookInterface |
| FIXME | 802 | This query could be a lot more efficient if it used COUNT() instead of returning all rows and then counting them with php |
| FIXME | 1896 | : do check for permissions. |
Query.php
| Type | Line | Description |
|---|---|---|
| TODO | 649 | ideally this would be a trait included on the case search & advanced search rather than a static function. |
OpenCase.php
| Type | Line | Description |
|---|---|---|
| TODO | 101 | Not possible yet to set a default case type in the system |
Email.php
| Type | Line | Description |
|---|---|---|
| TODO | 44 | - this is not standard behaviour. We should either stop filtering case tokens by type and just remove this function (which would allow domain tokens to show up too) or resolve https://lab.civicrm.org/dev/core/-/issues/2788 |
PseudoConstant.php
| Type | Line | Description |
|---|---|---|
| FIXME | 85 | deprecated? |
Process.php
| Type | Line | Description |
|---|---|---|
| FIXME | 235 | The above api code would be better, but doesn't work |
Report.php
| Type | Line | Description |
|---|---|---|
| TODO | 369 | Why is this being escaped at this point in the flow? Should |
XMLRepository.php
| Type | Line | Description |
|---|---|---|
| TODO | 90 | In 4.6 or 5.0, remove support for weird machine-names |
| TODO | 124 | In 4.6 or 5.0, remove support for loading double-munged file names |
Permission.php
| Type | Line | Description |
|---|---|---|
| FIXME | 163 | push this somewhere below, to not give this permission so many rights |
| FIXME | 209 | maybe find a better way of keeping track of this. @eileen pointed out |
| FIXME | 435 | secondDegRelPermissions should be a setting |
Utils.php
| Type | Line | Description |
|---|---|---|
| FIXME | 958 | : apiQuery should handle these clause. |
Contact.php
| Type | Line | Description |
|---|---|---|
| FIXME | 1112 | additional support for fatal, bounce etc could be added. |
| TODO | 2577 | Fix LineItemEditor extension to not use this function, then enable warning |
| FIXME | 3311 | Search builder does not |
ContactType.php
| Type | Line | Description |
|---|---|---|
| TODO | 182 | deprecate calling this with $all = TRUE in favour of getAllContactTypes & ideally add getActiveContactTypes & call that from this fully deprecated function. |
| TODO | 606 | what does this function do? |
| TODO | 638 | what does this function do? |
| TODO | 672 | what does this function do? |
Group.php
| Type | Line | Description |
|---|---|---|
| TODO | 207 | other BAO functions that use returnProperties (e.g. Query Objects) receive the array flipped & filled with 1s and add in essential fields (e.g. id). This should follow a regular pattern like the others |
| TODO | 565 | there seems little reason for the small number of functions that call this to pass in params that then need to be translated in this function since they are coding them when calling |
| FIXME | 702 | CRM-4418, now we are handling delete separately |
GroupContact.php
| Type | Line | Description |
|---|---|---|
| TODO | 751 | Do any forms still use this? If not, remove this function. |
Query.php
| Type | Line | Description |
|---|---|---|
| TODO | 4703 | use metadata rather than convention to do this. |
| TODO | 6937 | - so far this applies to a narrow range of pseudocontants. We are adding them carefully with test coverage but aim to extend. |
| FIXME | 1217 | hack to fix CRM-1900 |
| FIXME | 4518 | should we use defaultHierReturnProperties() for the below? |
| TODO | 5099 | Why only activities and contributions?. Not likely to change now as we move away from this. |
Relationship.php
| Type | Line | Description |
|---|---|---|
| TODO | 2077 | - this could use cached pseudoconstant lookups. |
| TODO | 1362 | handle edge-case of updating start_date of an existing relationship |
DedupeFind.php
| Type | Line | Description |
|---|---|---|
| TODO | 116 | - could this ever really be NULL - the retrieveValue does not use $abort so maybe. |
DedupeRules.php
| Type | Line | Description |
|---|---|---|
| FIXME | 201 | Handle logic to replace is_default column by usage |
Email.php
| Type | Line | Description |
|---|---|---|
| TODO | 56 | Refactor on_hold field to select. |
EmailBlockTrait.php
| Type | Line | Description |
|---|---|---|
| TODO | 82 | Refactor on_hold field to select. |
Phone.php
| Type | Line | Description |
|---|---|---|
| TODO | 77 | set this up as a group, we need a valid phone_type_id if we have a phone number |
Advanced.php
| Type | Line | Description |
|---|---|---|
| FIXME | 111 | we should change the use of $name here to keyword |
| FIXME | 249 | couldn't figure out a good place to do this, |
| FIXME | 250 | so leaving this as a dependency for now |
Builder.php
| Type | Line | Description |
|---|---|---|
| FIXME | 192 | no idea at this point what to do with this, |
| FIXME | 193 | but definitely needs fixing. |
| FIXME | 600 | dirty hack to make the default option show up first. This |
Criteria.php
| Type | Line | Description |
|---|---|---|
| FIXME | 119 | This is probably a part of profiles - need to be |
| FIXME | 120 | eradicated from here when profiles are reworked. |
Search.php
| Type | Line | Description |
|---|---|---|
| FIXME | 637 | we should generalise in a way that components could inject url-filters |
Email.php
| Type | Line | Description |
|---|---|---|
| TODO | 82 | move some code from preProcess into here. |
PDF.php
| Type | Line | Description |
|---|---|---|
| TODO | 154 | the case handling should be in the case pdf task. It needs fixing to support standalone & some url fixes similar to https://github.com/civicrm/civicrm-core/pull/21688 |
Contact.php
| Type | Line | Description |
|---|---|---|
| TODO | 232 | - deprecate more aggressively - will involve copying to the import class, adding a deprecation notice here & removing from tests. Takes an associative array and creates a relationship object. |
| TODO | 459 | just say no! |
| TODO | 1028 | this function needs re-writing & re-merging into the main function. Here be dragons. |
DashBoard.php
| Type | Line | Description |
|---|---|---|
| FIXME | 73 | Wrapping each directive in <div id='bootstrap-theme'> produces invalid html (duplicate ids in the dom) |
ImageFile.php
| Type | Line | Description |
|---|---|---|
| FIXME | 37 | Optimize performance of image_url query |
Relationship.php
| Type | Line | Description |
|---|---|---|
| FIXME | 273 | Not sure what to put as the key. |
Summary.php
| Type | Line | Description |
|---|---|---|
| FIXME | 276 | when we sort out TZ isssues with DATETIME/TIMESTAMP, we can skip next query |
| FIXME | 379 | not very elegant, probably needs better approach |
| FIXME | 385 | hack ajax url. |
UserDashBoard.php
| Type | Line | Description |
|---|---|---|
| FIXME | 130 | - this used to share code with the contact summary "Relationships" tab |
Vcard.php
| Type | Line | Description |
|---|---|---|
| TODO | 42 | non-US-ASCII support (requires changes to the Contact_Vcard_Build class) |
| TODO | 83 | $vcard->setGeo($lat, $lon); |
Selector.php
| Type | Line | Description |
|---|---|---|
| TODO | 1049 | - use test cover in CRM_Contact_Form_Search_BasicTest to to remove the extraneous logging that happens in the tested scenario (It does the catch & then write to the log - I was going to fix but got stalled on getting https://github.com/civicrm/civicrm-core/pull/25392 merged - this comment won't conflict with that PR :-) |
Contribution.php
| Type | Line | Description |
|---|---|---|
| TODO | 898 | this is intended to be moved to payment BAO class as a protected function on that class. Currently being cleaned up. The addActivityForPayment doesn't really merit it's own function as it makes the code less rather than more readable. |
| TODO | 1482 | - this is a confusing function called from one place. It has a test. It would be nice to deprecate it. |
| TODO | 3290 | Legacy APIv3 support. Could be moved to Api3 & out of the BAO. |
| TODO | 3305 | Legacy APIv3 support. Could be moved to Api3 & out of the BAO. |
Query.php
| Type | Line | Description |
|---|---|---|
| TODO | 1046 | better function comment needed - what IS the point of this? |
AbstractEditPayment.php
| Type | Line | Description |
|---|---|---|
| TODO | 595 | this function still replicates code in several other places in the code. Also - the call to getProfileDefaults possibly covers the state_province & country already. |
Confirm.php
| Type | Line | Description |
|---|---|---|
| TODO | 661 | this was shared on CRM_Contribute_Form_ContributionBase but we are refactoring and simplifying for each step (main/confirm/thankyou) |
| TODO | 986 | - this code was previously shared with the backoffice form - some parts of this function may relate to that form, not this one. |
| TODO | 1762 | - this is confusing - does isSeparateMembershipPayment need to check both conditions, making this redundant, or are there 2 legit variations here? |
| FIXME | 469 | Some of this code is identical to Thankyou.php and should be broken out into a shared function |
| FIXME | 693 | If any of the payment processors do NOT support recurring you cannot setup an |
Main.php
| Type | Line | Description |
|---|---|---|
| TODO | 642 | this was shared on CRM_Contribute_Form_ContributionBase but we are refactoring and simplifying for each step (main/confirm/thankyou) |
| FIXME | 749 | Ideally we should freeze select box if there is only |
ThankYou.php
| Type | Line | Description |
|---|---|---|
| TODO | 312 | this was shared on CRM_Contribute_Form_ContributionBase but we are refactoring and simplifying for each step (main/confirm/thankyou) |
| FIXME | 96 | Some of this code is identical to Confirm.php and should be broken out into a shared function |
| FIXME | 345 | If any of the payment processors do NOT support recurring you cannot setup an |
Contribution.php
| Type | Line | Description |
|---|---|---|
| TODO | 1400 | - this form is a copy of the previously shared code on the front end form - not all aspects of the code will be relevant to this form. |
| TODO | 2474 | - this needs work - some returned options are invalid or do not create good financial entities. Probably the only reason we don't just return CRM_Contribute_BAO_Contribution_Utils::getPendingCompleteFailedAndCancelledStatuses(); is that it might exclude the current status of the contribution. |
| TODO | 2562 | - this function is a long way, non standard of saying $dao = new CRM_Contribute_DAO_ContributionProduct(); $dao->id = $id; $dao->find(); |
| TODO | 107 | what is it? |
| TODO | 135 | explain why we use lineItem & lineItems |
| FIXME | 1072 | FOR NEW DATA FLOW http://wiki.civicrm.org/confluence/display/CRM/CiviAccounts+4.3+Data+Flow |
| FIXME | 2203 | 'payment.create' could send a receipt. |
| FIXME | 2634 | Ideally we should freeze select box if there is only |
ContributionBase.php
| Type | Line | Description |
|---|---|---|
| TODO | 658 | - removed unneeded code from previously-shared function |
ContributionView.php
| Type | Line | Description |
|---|---|---|
| TODO | 371 | - this is a bit too much copy & paste from AbstractEditPayment (justifying on the basis it's 'pretty short' and in a different inheritance tree. I feel like traits are probably the longer term answer). |
Contribution.php
| Type | Line | Description |
|---|---|---|
| TODO | 219 | - make this the parent method... |
UserDashboard.php
| Type | Line | Description |
|---|---|---|
| TODO | 125 | This should be moved to a hook-like structure on the invoicing class (currently CRM_Utils_Invoicing) with a view to possible removal from core. |
ActionSchedule.php
| Type | Line | Description |
|---|---|---|
| TODO | 39 | we could move the mapping classes into their respective |
| FIXME | 391 | This can't be right: "If mode is User Preference, send sms unconditionally without checking user preference"! |
| FIXME | 395 | This can't be right: "If mode is User Preference, send email unconditionally without checking user preference"! |
ConfigSetting.php
| Type | Line | Description |
|---|---|---|
| FIXME | 233 | an ugly hack to fix CRM-4041. |
CustomField.php
| Type | Line | Description |
|---|---|---|
| TODO | 498 | Trigger deprecation notice for passing TRUE |
| TODO | 807 | I'm not sure if this is supposed to exclude whatever might be |
| FIXME | 1105 | Are there any legitimate reasons why $value would be an array? |
CustomGroup.php
| Type | Line | Description |
|---|---|---|
| FIXME | 182 | This is needed by the form parsing code below |
| TODO | 2163 | Move to civi_contribute extension (example: OptionValue_cg_extends_objects_grant.mgd.php) |
| TODO | 2185 | Move to civi_member extension (example: OptionValue_cg_extends_objects_grant.mgd.php) |
| TODO | 2193 | Move to civi_event extension (example: OptionValue_cg_extends_objects_grant.mgd.php) |
| TODO | 2208 | Move to civi_pledge extension (example: OptionValue_cg_extends_objects_grant.mgd.php) |
| TODO | 2223 | Move to civi_campaign extension (example: OptionValue_cg_extends_objects_grant.mgd.php) |
Email.php
| Type | Line | Description |
|---|---|---|
| FIXME | 34 | switch CRM_Core_BAO_Block::create to call writeRecord (once Address, IM, Phone create functions go through it) |
EntityTag.php
| Type | Line | Description |
|---|---|---|
| TODO | 445 | Do any forms still use this? If not, remove this function. |
| TODO | 450 | This will only work when api.entity is "entity_tag". What about others? |
File.php
| Type | Line | Description |
|---|---|---|
| TODO | 805 | This seemded like a good idea... piggybacking off the ACL clause of EntityFile |
MessageTemplate.php
| Type | Line | Description |
|---|---|---|
| TODO | 490 | move this definition to the metadata. |
| FIXME | 435 | $params['contributionId'] is not modeled in the parameter list. When is it supplied? Should probably move to tokenContext.contributionId. |
OptionGroup.php
| Type | Line | Description |
|---|---|---|
| TODO | 51 | Check if the differences matter, then deprecate this function and switch to writeRecord. |
OptionValue.php
| Type | Line | Description |
|---|---|---|
| FIXME | 176 | The extra CRM_Utils_System::isNull is because the API will pass the string 'null' |
| FIXME | 177 | It would help to make this column NOT NULL DEFAULT 0 |
PrevNextCache.php
| Type | Line | Description |
|---|---|---|
| FIXME | 360 | we need to start using temp tables / queries here instead of arrays. |
RecurringEntity.php
| Type | Line | Description |
|---|---|---|
| FIXME | 418 | change to order by dates |
SchemaHandler.php
| Type | Line | Description |
|---|---|---|
| TODO | 366 | add support for length & multilingual on combined keys. |
Setting.php
| Type | Line | Description |
|---|---|---|
| FIXME | 181 | redundant validation |
| FIXME | 182 | this whole thing should just be a loop to call $settings->add() on each domain. |
Tag.php
| Type | Line | Description |
|---|---|---|
| FIXME | 380 | Throw exception |
UFGroup.php
| Type | Line | Description |
|---|---|---|
| TODO | 3408 | what do I do? |
| TODO | 2748 | prefix, suffix and gender translation may no longer be necessary - check inputs |
WordReplacement.php
| Type | Line | Description |
|---|---|---|
| TODO | 278 | Would it be worthwhile using memcache here? |
ClassLoader.php
| Type | Line | Description |
|---|---|---|
| TODO | 120 | Remove this autoloader. For civicrm-core and civicrm-packages, the composer autoloader works fine. |
Config.php
| Type | Line | Description |
|---|---|---|
| FIXME | 50 | !!!! |
Specification.php
| Type | Line | Description |
|---|---|---|
| TODO | 40 | peel DAO-specific stuff out of getTables, and spec reading into its own class |
Template.php
| Type | Line | Description |
|---|---|---|
| FIXME | 58 | does not beautify. Document. |
CommunityMessages.php
| Type | Line | Description |
|---|---|---|
| TODO | 227 | validate $message['markup'] |
Config.php
| Type | Line | Description |
|---|---|---|
| FIXME | 315 | Setting a session status message here is probably wrong. |
| TODO | 400 | Circa v5.60+, consider a more precise cleanup. Discussion: https://github.com/civicrm/civicrm-core/pull/24538 |
permissions.php
| Type | Line | Description |
|---|---|---|
| FIXME | 23 | Lowercase entity_names are nonstandard but difficult to fix here |
DAO.php
| Type | Line | Description |
|---|---|---|
| TODO | 2156 | the goal here is to clean this up so that it works for any entity. Copy Generic already DOES some custom field stuff but it seems to be bypassed & perhaps less good than this (or this just duplicates it...) |
| FIXME | 319 | the fields() metadata is not specific enough |
| TODO | 417 | see if this works with all pseudoconstants |
| FIXME | 1388 | Check extension tables |
EntityTokens.php
| Type | Line | Description |
|---|---|---|
| TODO | 206 | this function should look up tokenMetadata that is already loaded. |
| TODO | 404 | remove this function & use the metadata that is loaded. |
Log.php
| Type | Line | Description |
|---|---|---|
| FIXME | 56 | This flattens a $context a bit prematurely. When integrating |
Error.php
| Type | Line | Description |
|---|---|---|
| FIXME | 166 | Polymorphism for the win. |
| FIXME | 341 | Why doesn't this call abend()? |
| FIXME | 421 | Why doesn't this call abend()? |
RecurringEntity.php
| Type | Line | Description |
|---|---|---|
| FIXME | 167 | this is using the following as keys rather than the standard numeric keys returned by CRM_Utils_Date |
Search.php
| Type | Line | Description |
|---|---|---|
| TODO | 539 | consolidate with loadFormValues() |
Task.php
| Type | Line | Description |
|---|---|---|
| TODO | 261 | At the moment this duplicates a similar function in CRM_Core_DAO because right now only the case component is using this. Since the default $orderBy is '' which is what the original does, others should be easily convertable as NFC. |
| TODO | 261 | The passed in variables should be class member variables. Shouldn't need to have passed in vars. |
| FIXME | 193 | This is really to handle legacy code that should probably be updated to use $form->_entityIds |
Form.php
| Type | Line | Description |
|---|---|---|
| TODO | 2696 | add data attributes so we can deal with multiple instances on a form |
| TODO | 2739 | there is considerable code duplication between the contribution forms & event forms. It is apparent that small pieces of duplication are not being refactored into separate functions because their only shared parent is this form. Inserting a class FrontEndForm.php between the contribution & event & this class would allow functions like this and a dozen other small ones to be refactored into a shared parent with the reduction of much code duplication |
| TODO | 1957 | refactor switch statement, to separate methods. |
| TODO | 1963 | Autodetect ranges |
| TODO | 1983 | add range support |
| TODO | 1984 | Add date formats |
| TODO | 1985 | Add javascript template for dates. |
| TODO | 2013 | Add and/or option for fields that store multiple values |
| FIXME | 2088 | Instead of adhoc serialization, use a single json_encode() |
Schema.php
| Type | Line | Description |
|---|---|---|
| FIXME | 363 | Doing require_once is a must here because a call like CRM_Core_I18n_SchemaStructure_4_1_0 makes |
I18n.php
| Type | Line | Description |
|---|---|---|
| FIXME | 182 | How is this not duplicative of the lines above? |
| FIXME | 780 | Is there a constant we can reference instead of hardcoding en_US? |
Lock.php
| Type | Line | Description |
|---|---|---|
| TODO | 172 | bypass hackyHandleBrokenCode for mysql version 5.7.5+ If a second function in a separate process attempts to grab the lock already in use it should be rejected, but it appears it IS allowed to grab a different lock & unlike in the same process the first lock won't be released. All this means CiviMail locks are first class citizens & any other process gets a 'best effort lock'. |
| TODO | 172 | document naming convention for CiviMail locks as this is key to ensuring they work properly. |
ManagedEntities.php
| Type | Line | Description |
|---|---|---|
| FIXME | 306 | cascading for payproc types? |
| FIXME | 355 | This extra counting should be unnecessary, because getRefCount only returns values if count > 0 |
| FIXME | 517 | Some well-meaning developer added this a long time ago to support associative arrays |
Menu.php
| Type | Line | Description |
|---|---|---|
| FIXME | 136 | Remove the rewrite at this level. Instead, change downstream call_user_func*($value) |
| FIXME | 141 | Move the permission parser to its own class (or *maybe* CRM_Core_Permission). |
AJAX.php
| Type | Line | Description |
|---|---|---|
| FIXME | 55 | This is done to maintain current wire protocol, but it might be |
Page.php
| Type | Line | Description |
|---|---|---|
| FIXME | 182 | - why are we messing with 'snippet'? Why not just pass it directly into $this->_print? |
| FIXME | 187 | - why does this number not match the constant? |
AuthorizeNet.php
| Type | Line | Description |
|---|---|---|
| TODO | 186 | // AVS, CVV2, CAVV, and other verification results |
BaseIPN.php
| Type | Line | Description |
|---|---|---|
| TODO | 226 | This is part of a bigger refactor for dev/core/issues/927 - "duplicate" functionality exists in CRM_Contribute_BAO_Contribution::cancel() |
| TODO | 243 | This is part of a bigger refactor for dev/core/issues/927 - "duplicate" functionality exists in CRM_Contribute_BAO_Contribution::cancel() |
| TODO | 363 | confirm this function is not being used by any payment processor outside core & remove. Note that the compose message part has been moved to contribution In general LoadObjects is called first to get the objects but the composeMessageArray function now calls it |
Form.php
| Type | Line | Description |
|---|---|---|
| TODO | 133 | sometimes things like the country alter the required fields (e.g direct debit fields). We should possibly set these before calling getPaymentFormFields (as we identify them). |
| TODO | 156 | sometimes things like the country alter the required fields (e.g postal code). We should possibly set these before calling getPaymentFormFields (as we identify them). |
PayPalProIPN.php
| Type | Line | Description |
|---|---|---|
| TODO | 378 | the references to POST throughout this class need to be removed |
Realex.php
| Type | Line | Description |
|---|---|---|
| FIXME | 178 | We are using the trxn_result_code column to store all these extra details since there |
Payment.php
| Type | Line | Description |
|---|---|---|
| TODO | 166 | Ideally this exception-to-the-rule should be handled outside of this class i.e. this class's getPaymentInstrumentID method should return it from the payment processor and CRM_Core_Payment_Manual could override it to provide 0. |
| TODO | 275 | move to factory class \Civi\Payment\System (or similar) |
| TODO | 701 | believe this is unused |
| TODO | 710 | - use option group + name field (like Omnipay does) |
| TODO | 719 | - use option group + labels (like Omnipay does) |
| TODO | 1572 | move to paypal class or remove |
| TODO | 1592 | move to0 \Civi\Payment\System factory method Page callback for civicrm/payment/ipn |
| TODO | 1631 | move to \Civi\Payment\System factory method |
| TODO | 57 | create option group - nb omnipay uses a 3rd type - transparent redirect cc |
| TODO | 57 | create option group - nb omnipay uses a 3rd type - transparent redirect cc |
Backdrop.php
| Type | Line | Description |
|---|---|---|
| FIXME | 140 | !!!! |
| FIXME | 165 | !!!! |
Joomla.php
| Type | Line | Description |
|---|---|---|
| FIXME | 95 | This needn't be DENY, but we don't currently have any translations. |
Permission.php
| Type | Line | Description |
|---|---|---|
| TODO | 199 | Consider moving similar checks for 'ALWAYS_ALLOW' and 'ALWAYS_DENY' from CRM_Core_Permission_{UF}::check() to here.. |
| FIXME | 565 | this should be integrated into ACLs proper |
Jump.php
| Type | Line | Description |
|---|---|---|
| FIXME | 61 | this should be passed through CRM_Utils_System::url() |
Upload.php
| Type | Line | Description |
|---|---|---|
| TODO | 133 | document what I do. |
CollectionAdderInterface.php
| Type | Line | Description |
|---|---|---|
| TODO | 29 | public function addBundle($bundle); |
CollectionAdderTrait.php
| Type | Line | Description |
|---|---|---|
| TODO | 146 | Maybe this should be its own resource type to allow smarter management? |
| TODO | 260 | Maybe this should be its own resource type to allow smarter management? |
Common.php
| Type | Line | Description |
|---|---|---|
| FIXME | 183 | This is too long; list needs finer-grained segmentation |
Resources.php
| Type | Line | Description |
|---|---|---|
| TODO | 258 | consider caching results |
| TODO | 290 | consider caching results |
ScheduledJob.php
| Type | Line | Description |
|---|---|---|
| TODO | 115 | This seems to only ever be set to an empty string and passed through to job.tpl, where it is used a HTML `class`. Can this be removed? |
Field.php
| Type | Line | Description |
|---|---|---|
| FIXME | 215 | Switch addField to use APIv4 so we don't get those legacy options from v3 |
Group.php
| Type | Line | Description |
|---|---|---|
| FIXME | 142 | This hardcoded array is mostly redundant with CRM_Core_BAO_CustomGroup::getSubTypes |
ApiRouter.php
| Type | Line | Description |
|---|---|---|
| FIXME | 32 | Shouldn't the X-Forwarded-Proto check be part of CRM_Utils_System::isSSL()? |
DedupeRuleGroup.php
| Type | Line | Description |
|---|---|---|
| FIXME | 241 | we need to be more accurate with affected rows, especially for insert vs duplicate insert. |
Finder.php
| Type | Line | Description |
|---|---|---|
| FIXME | 200 | This may no longer be necessary - check inputs |
| FIXME | 257 | CRM-5026 should be fixed here; the below clobbers all address info; we should split off address fields and match |
| FIXME | 275 | we also need to do some hacking for id and name fields, see CRM-3902’s comments |
Merger.php
| Type | Line | Description |
|---|---|---|
| TODO | 1424 | review permissions issue! |
| TODO | 1424 | review permissions issue! |
| TODO | 2048 | - on the slim chance this is still relevant it should be moved to the form layer. Details about this bug are somewhat obscured by the move from svn but perhaps JIRA can still help. |
| FIXME | 245 | this should be generated dynamically from the schema |
ActionMapping.php
| Type | Line | Description |
|---|---|---|
| FIXME | 166 | This handles scheduled reminder of type "Event Name" and "Event Type", gives incorrect result on "Event Template". |
Event.php
| Type | Line | Description |
|---|---|---|
| FIXME | 355 | in a future release |
| FIXME | 517 | : selector fail to search w/ OR operator. |
| FIXME | 1512 | in 2.3 using crmIsEmptyArray() |
EventFees.php
| Type | Line | Description |
|---|---|---|
| TODO | 293 | resolve relationship between this form & abstractEdit -which should be it's parent. |
Participant.php
| Type | Line | Description |
|---|---|---|
| TODO | 187 | add explanatory note about this |
Confirm.php
| Type | Line | Description |
|---|---|---|
| TODO | 148 | this is just a step in refactor as payment processor specific code does not belong in generic forms |
| TODO | 998 | Reconcile with the contribution method formatParamsForPaymentProcessor rather than adding different logic to check when to keep the billing fields. There might be a difference in handling guest/multiple participants though. |
ThankYou.php
| Type | Line | Description |
|---|---|---|
| TODO | 253 | - this should probably be on a trait & made public like similar getValue functions. |
Registration.php
| Type | Line | Description |
|---|---|---|
| TODO | 1595 | support AdditionalParticipant forms too. |
| TODO | 1654 | - combine this with CRM_Event_BAO_Event::validRegistrationRequest (probably extract relevant values here & call that with them & handle bounces & redirects here -as those belong in the form layer) |
MapField.php
| Type | Line | Description |
|---|---|---|
| FIXME | 87 | should use the schema titles, not redeclare them |
Select.php
| Type | Line | Description |
|---|---|---|
| FIXME | 94 | This should use a modified version of CRM_Contact_Form_Search::getModeValue but it doesn't have all the contexts |
| FIXME | 95 | Or better still, use CRM_Core_DAO_AllCoreTables::getEntityNameForClass($daoName) to get the $entityShortName |
Standalone.php
| Type | Line | Description |
|---|---|---|
| TODO | 44 | So far does nothing. |
| TODO | 51 | not sure if this is needed |
Browser.php
| Type | Line | Description |
|---|---|---|
| TODO | 149 | optimize performance -- we don't need to fetch/cache the entire repo |
Manager.php
| Type | Line | Description |
|---|---|---|
| TODO | 246 | to mitigate the risk of crashing during installation, scan |
| TODO | 376 | to mitigate the risk of crashing during installation, scan |
| TODO | 455 | to mitigate the risk of crashing during installation, scan |
Mapper.php
| Type | Line | Description |
|---|---|---|
| TODO | 529 | consider multiple templates, support for one template for now |
| TODO | 555 | We should improve this to return more appropriate text. eg. when an extension is not installed it should not say "version xx is installed". |
| TODO | 355 | optimization/caching |
| FIXME | 540 | How can code so code wrong be so right? |
System.php
| Type | Line | Description |
|---|---|---|
| TODO | 129 | CRM_Extension_Container_Basic( /sites/all/modules ) |
| TODO | 130 | CRM_Extension_Container_Basic( /sites/$domain/modules |
| TODO | 131 | CRM_Extension_Container_Basic( /modules ) |
| TODO | 132 | CRM_Extension_Container_Basic( /vendors ) |
TasksTrait.php
| Type | Line | Description |
|---|---|---|
| FIXME | 95 | verify that we raise an exception on error |
EntityFinancialAccount.php
| Type | Line | Description |
|---|---|---|
| FIXME | 103 | hardcoded list = bad |
FinancialAccount.php
| Type | Line | Description |
|---|---|---|
| TODO | 203 | Not sure what the above comment means, and the function uses the PseudoConstant twice. Three times if you count the for loop. |
| FIXME | 74 | Setting status messages within a BAO CRUD function is bad bad bad. But this fn is deprecated so who cares. |
FinancialType.php
| Type | Line | Description |
|---|---|---|
| TODO | 399 | it is currently not possible to edit disabled types if you have ACLs on. Do ACLs still apply once disabled? That question should be resolved if tackling that gap. |
PaymentProcessor.php
| Type | Line | Description |
|---|---|---|
| TODO | 473 | function needs revisiting. The whole 'info / obj' thing is an overload. Recommend creating new functions that are entity specific as there is little shared code specific to obj or info Also, it does not accurately derive the processor - for a completed contribution the best place to look is in the relevant financial_trxn record. For a recurring contribution it is in the contribution_recur table. For a membership the relevant contribution_recur should be derived & then resolved as above. The contribution page is never a reliable place to look as there can be more than one configured. For a pending contribution there is no way to derive the processor - but hey - what processor? it didn't go through! Query for membership might look something like: SELECT fte.payment_processor_id FROM civicrm_membership mem INNER JOIN civicrm_line_item li ON ( mem.id = li.entity_id AND li.entity_table = 'civicrm_membership') INNER JOIN civicrm_contribution con ON ( li.contribution_id = con.id ) LEFT JOIN civicrm_entity_financial_trxn ft ON ft.entity_id = con.id AND ft.entity_table = 'civicrm_contribution' LEFT JOIN civicrm_financial_trxn fte ON fte.id = ft.financial_trxn_id |
PaymentProcessorType.php
| Type | Line | Description |
|---|---|---|
| FIXME | 116 | handle is_default |
Search.php
| Type | Line | Description |
|---|---|---|
| TODO | 21 | Add comments if possible. |
DataSource.php
| Type | Line | Description |
|---|---|---|
| TODO | 348 | change to _status_message |
Preview.php
| Type | Line | Description |
|---|---|---|
| FIXME | 130 | This is a hack... |
Differ.php
| Type | Line | Description |
|---|---|---|
| FIXME | 271 | these should be populated with pseudo constants as they |
| FIXME | 273 | Use *_BAO:buildOptions() method rather than pseudoconstants & fetch programmatically |
Schema.php
| Type | Line | Description |
|---|---|---|
| FIXME | 934 | probably should be a bit more thorough… |
ActionTokens.php
| Type | Line | Description |
|---|---|---|
| TODO | 33 | Think about supporting dynamic tokens like "{action.subscribe.\d+}" |
Mailing.php
| Type | Line | Description |
|---|---|---|
| TODO | 1171 | - this just does an sms has-body-text check now - it would be clearer just to do this in the sms function that calls this & remove it. |
Query.php
| Type | Line | Description |
|---|---|---|
| TODO | 124 | ideally this would be a trait included on the mailing search & advanced search rather than a static function. |
MailingEventBounce.php
| Type | Line | Description |
|---|---|---|
| FIXME | 230 | translate this |
MailingEventQueue.php
| Type | Line | Description |
|---|---|---|
| FIXME | 314 | This (non)escaping is valid as currently used but is not robust to change. This should use CRM_Utils_SQL_Insert... |
MailingEventReply.php
| Type | Line | Description |
|---|---|---|
| FIXME | 145 | ugly hack - find the first MIME boundary in |
Mbox.php
| Type | Line | Description |
|---|---|---|
| FIXME | 77 | the ftruncate() call does not work for some reason |
ListUnsubscribe.php
| Type | Line | Description |
|---|---|---|
| FIXME | 31 | Flexmailer (BasicHeaders) and BAO (getVerpAndUrlsAndHeaders) separately define |
ActionMapping.php
| Type | Line | Description |
|---|---|---|
| FIXME | 104 | Numbers should be constants. |
| FIXME | 126 | The membership type is never null, so nobody will ever get a |
| FIXME | 133 | This makes a lot of sense for renewal reminders, but a user |
| FIXME | 139 | Similarly to overrides, excluding contacts who can't edit the |
| FIXME | 144 | A lot of undocumented stuff happens with regard to |
Membership.php
| Type | Line | Description |
|---|---|---|
| TODO | 1959 | we should get this off the line item |
| TODO | 1959 | we should get this off the line item |
| TODO | 2275 | document me - I seem a bit out of date.... |
| FIXME | 1339 | : While updating/ renewing the |
| FIXME | 1926 | : need to move this too |
Membership.php
| Type | Line | Description |
|---|---|---|
| TODO | 1615 | move this to the WorkFlowMessageTrait. |
| TODO | 1017 | set memberships, fixme |
PDFLetter.php
| Type | Line | Description |
|---|---|---|
| TODO | 86 | this is horrible copy & paste code because there is so much risk of breakage in fixing the existing pdfLetter classes to be suitably generic |
MapField.php
| Type | Line | Description |
|---|---|---|
| FIXME | 61 | should use the schema titles, not redeclare them |
PCP.php
| Type | Line | Description |
|---|---|---|
| FIXME | 45 | Why? |
Pledge.php
| Type | Line | Description |
|---|---|---|
| FIXME | 607 | Translate |
PledgeBlock.php
| Type | Line | Description |
|---|---|---|
| FIXME | 61 | This is assuming checkbox input like ['foo' => 1, 'bar' => 0, 'baz' => 1]. Not API friendly. |
Query.php
| Type | Line | Description |
|---|---|---|
| TODO | 241 | most of this could be replaced by using metadata. |
Tokens.php
| Type | Line | Description |
|---|---|---|
| TODO | 42 | - add more pseudo-fields like 'paid_amount', 'balance_amount' to v4 api - see the ContributionGetSpecProvider for how. |
LineItem.php
| Type | Line | Description |
|---|---|---|
| TODO | 286 | - this parameter is only used for partial payments. It's unclear why a partial payment would change the line item price. |
PriceSet.php
| Type | Line | Description |
|---|---|---|
| TODO | 572 | $priceSetID is a pseudoparam for permit override - we should stop passing it where we don't specifically need it & find a better way where we do. |
MultipleRecordFieldsListing.php
| Type | Line | Description |
|---|---|---|
| TODO | 357 | Not all widget types and validation rules are supported by crmEditable so some fields will not be in-place editable |
| FIXME | 365 | crmEditable currently does not support any validation rules :( |
Listings.php
| Type | Line | Description |
|---|---|---|
| FIXME | 476 | : make sure to handle delete separately. CRM-4418 |
SqlParallel.php
| Type | Line | Description |
|---|---|---|
| FIXME | 67 | - Adding code to allow tests to pass |
Service.php
| Type | Line | Description |
|---|---|---|
| FIXME | 208 | when used with class-autoloader, this may be unnecessary |
ReportInstance.php
| Type | Line | Description |
|---|---|---|
| FIXME | 42 | This probably belongs in the form layer |
Activity.php
| Type | Line | Description |
|---|---|---|
| TODO | 459 | get rid of $recordType param. It's only because 3 separate contact tables are mis-declared as one that we need it. |
| TODO | 577 | remove this function & declare the 3 contact tables separately |
| TODO | 589 | get rid of $recordType param. It's only because 3 separate contact tables are mis-declared as one that we need it. |
| TODO | 1244 | remove this function & declare the 3 contact tables separately (Currently the construct method incorrectly melds them - this is an interim refactor in order to get this under ReportTemplateTests) |
| TODO | 1254 | remove this function & declare the 3 contact tables separately (Currently the construct method incorrectly melds them - this is an interim refactor in order to get this under ReportTemplateTests) |
History.php
| Type | Line | Description |
|---|---|---|
| TODO | 849 | It later tries to format this as money which then gives a warning. One option is to instead set something like $row[$key]['classes'] and then use that in the template, but I don't think the stock template supports something like that. |
Lybunt.php
| Type | Line | Description |
|---|---|---|
| TODO | 401 | must be possible to re-use relative dates stuff. |
| TODO | 415 | must be possible to re-use relative dates stuff. |
Repeat.php
| Type | Line | Description |
|---|---|---|
| FIXME | 272 | dirty hack for setting columnHeaders |
| FIXME | 845 | calculate % using query |
Summary.php
| Type | Line | Description |
|---|---|---|
| TODO | 502 | fix function signature to match parent. Remove hacky passing of $entity to acheive unclear results. |
Instance.php
| Type | Line | Description |
|---|---|---|
| FIXME | 113 | Historically, CiviReport hard-coded an extra '0' option. This should change to the more general ALWAYS_ALLOW_PERMISSION (but may require testing/migration). |
Summary.php
| Type | Line | Description |
|---|---|---|
| TODO | 180 | this looks like it duplicates the parent & could go. |
| TODO | 243 | looks like a broken duplicate of the parent. |
Form.php
| Type | Line | Description |
|---|---|---|
| TODO | 1711 | call this tab into the report template in the same way as OrderBy etc, ie by adding a description of the tab to $this->tabs, causing the tab to be added in Criteria.tpl. |
| FIXME | 651 | Note setting it in $_GET doesn't work, since pager generates link based on QUERY_STRING |
| FIXME | 976 | generalizing form field naming conventions would reduce |
| FIXME | 1568 | For now lets build all elements as checkboxes. |
| FIXME | 1871 | At some point we should move these key-val pairs |
| FIXME | 2208 | we not doing escape here. Better solution is to use two |
Field.php
| Type | Line | Description |
|---|---|---|
| FIXME | 682 | This may need to also apply to website fields if they are refactored to allow more than one per profile |
ProfileEditor.php
| Type | Line | Description |
|---|---|---|
| TODO | 91 | in cases where registerSchemas is called multiple times for same entity, be more efficient |
| FIXME | 119 | Depending on context (eg civicrm/profile/create vs search-columns), it may be appropriate to |
| FIXME | 279 | type set to "Text" |
| FIXME | 292 | what about phone_ext? |
Headless.php
| Type | Line | Description |
|---|---|---|
| FIXME | 66 | test |
MessageTemplates.php
| Type | Line | Description |
|---|---|---|
| TODO | 595 | - do we still need those earlier per-version runs? e.g. the token replacement functions should still work as-is? |
Upgrade.php
| Type | Line | Description |
|---|---|---|
| TODO | 166 | Use structured message store |
APCcache.php
| Type | Line | Description |
|---|---|---|
| TODO | 19 | Consider native implementation. |
| TODO | 21 | Native implementation |
APCucache.php
| Type | Line | Description |
|---|---|---|
| TODO | 19 | Consider native implementation. |
| TODO | 21 | Native implementation |
ArrayCache.php
| Type | Line | Description |
|---|---|---|
| TODO | 24 | Native implementation |
ArrayDecorator.php
| Type | Line | Description |
|---|---|---|
| TODO | 28 | Consider native implementation. |
CacheWrapper.php
| Type | Line | Description |
|---|---|---|
| FIXME | 95 | When would name ever be empty? |
FastArrayDecorator.php
| Type | Line | Description |
|---|---|---|
| TODO | 41 | Consider native implementation. |
Memcache.php
| Type | Line | Description |
|---|---|---|
| TODO | 19 | Consider native implementation. |
Memcached.php
| Type | Line | Description |
|---|---|---|
| TODO | 19 | Consider native implementation. |
NoCache.php
| Type | Line | Description |
|---|---|---|
| TODO | 19 | Consider native implementation. |
| TODO | 21 | Native implementation |
Redis.php
| Type | Line | Description |
|---|---|---|
| TODO | 19 | Consider native implementation. |
| TODO | 21 | Native implementation |
| FIXME | 159 | Ideally, we'd map each prefix to a different 'hash' object in Redis, |
SqlGroup.php
| Type | Line | Description |
|---|---|---|
| TODO | 29 | Consider native implementation. |
Tiered.php
| Type | Line | Description |
|---|---|---|
| TODO | 49 | Consider native implementation. |
Cache.php
| Type | Line | Description |
|---|---|---|
| FIXME | 171 | When would name ever be empty? |
Env.php
| Type | Line | Description |
|---|---|---|
| TODO | 285 | Remove this check when MINIMUM_UPGRADABLE_VERSION goes to 4.7. |
Security.php
| Type | Line | Description |
|---|---|---|
| TODO | 25 | Use Civi::paths instead? |
| TODO | 111 | Test with WordPress, Joomla. |
| TODO | 185 | Test with WordPress, Joomla. |
File.php
| Type | Line | Description |
|---|---|---|
| TODO | 734 | Automatic file cleanup using, eg, TTL policy |
| TODO | 752 | Automatic file cleanup using, eg, TTL policy |
| FIXME | 271 | Defaulting to backslash on windows systems can produce |
| FIXME | 553 | we should do more checks here - |
EmailProcessor.php
| Type | Line | Description |
|---|---|---|
| FIXME | 241 | make sure it works with Reply-Tos containing non-email stuff |
Mail.php
| Type | Line | Description |
|---|---|---|
| TODO | 191 | Refactor this quirk-handler as another filter in FilteredPearMailer. But that would merit review of impact on universe. |
| FIXME | 591 | : CRM-7894 |
ExportJSON.php
| Type | Line | Description |
|---|---|---|
| TODO | 296 | support group inheritance Parent child group ids are encoded in a text string |
| TODO | 326 | support search builder and custom saved searches |
Recent.php
| Type | Line | Description |
|---|---|---|
| TODO | 146 | deprecate & remove "url" in favor of "view_url" |
| TODO | 149 | deprecate & remove "id" in favor of "entity_id" |
| TODO | 152 | deprecate & remove "type" in favor of "entity_type" |
| TODO | 160 | deprecate & remove "isDeleted" in favor of "is_deleted" |
BaseParamQuery.php
| Type | Line | Description |
|---|---|---|
| TODO | 118 | ensure all uses of this un-escaped literal are safe |
Select.php
| Type | Line | Description |
|---|---|---|
| TODO | 387 | Support more ops like 'INTERSECT' & 'EXCEPT' |
String.php
| Type | Line | Description |
|---|---|---|
| FIXME | 46 | nothing below this line makes sense. The above call to self::munge will always |
| FIXME | 53 | When would this ever be reachable? |
| FIXME | 218 | This is a pretty brutal hack to make utf8 and 8859-1 work. |
Backdrop.php
| Type | Line | Description |
|---|---|---|
| FIXME | 645 | This call looks redundant with the earlier call in the same function. Consider removing it. |
| TODO | 873 | Find a more solid way to make this test |
| FIXME | 982 | !!!! |
Base.php
| Type | Line | Description |
|---|---|---|
| TODO | 355 | The return value is inconsistent. |
| TODO | 355 | Better to always return, and never print. |
| TODO | 514 | Drupal uses the is_public setting - clarify & rationalise. See https://github.com/civicrm/civicrm-drupal/pull/546/files |
| TODO | 45 | - we should think about offering up logging mechanisms in a way that is also extensible by extensions |
Drupal.php
| Type | Line | Description |
|---|---|---|
| FIXME | 559 | This call looks redundant with the earlier call in the same function. Consider removing it. |
| TODO | 767 | Find a more solid way to make this test |
Drupal8.php
| Type | Line | Description |
|---|---|---|
| FIXME | 272 | Should not unconditionally return true |
DrupalBase.php
| Type | Line | Description |
|---|---|---|
| TODO | 145 | - this only provides a limited amount of flexiblity - it still expects a 'civicrm' folder with a 'drupal' folder and is only flexible as to the name of the civicrm folder. |
| TODO | 28 | - we should think about offering up logging mechanisms in a way that is also extensible by extensions |
Joomla.php
| Type | Line | Description |
|---|---|---|
| TODO | 536 | return TRUE; |
| FIXME | 1049 | (CRM-3587) hack to make standalone profile work |
Standalone.php
| Type | Line | Description |
|---|---|---|
| TODO | 566 | implement language negotiation for Standalone? |
| TODO | 49 | the following would be be a better check, as sometimes during |
| TODO | 231 | Add type hints |
UnitTests.php
| Type | Line | Description |
|---|---|---|
| FIXME | 186 | look here a bit closer when testing UFMatch |
WordPress.php
| Type | Line | Description |
|---|---|---|
| FIXME | 163 | Why is this global? |
| FIXME | 308 | Why bootstrap in url()? |
| TODO | 536 | need to change this to make sure we matched only one row |
| TODO | 676 | (probably not possible with WPML?) |
| FIXME | 1692 | we need to figure out to replace civicrm content on the frontend pages |
System.php
| Type | Line | Description |
|---|---|---|
| FIXME | 789 | remove $value = 'null' string test when we upgrade our DAO code to handle passing null in a better way. |
| FIXME | 1268 | Shouldn't the X-Forwarded-Proto check be part of CRM_Utils_System::isSSL()? |
| FIXME | 1343 | move this to configuration at some stage |
| FIXME | 1354 | move this to configuration at some stage |
Token.php
| Type | Line | Description |
|---|---|---|
| FIXME | 801 | an ugly hack for CRM-2035, to be dropped once CRM-1799 is implemented |
| FIXME | 1537 | Is this ever a multi-dimensional array? Why use retrieveValueRecursive()? |
VersionCheck.php
| Type | Line | Description |
|---|---|---|
| FIXME | 171 | This should probably be getName, but it has always returned translated label so we stick with that for now as it would affect stats |
| FIXME | 184 | hardcoded list = bad |
afform.php
| Type | Line | Description |
|---|---|---|
| TODO | 321 | Allow afforms to declare their own theming requirements |
Submit.php
| Type | Line | Description |
|---|---|---|
| TODO | 482 | REPLACE works for creating or updating contacts, but different logic would be needed if |
| TODO | 523 | Somehow check if a file has actually been selected for upload |
AfformSaveTrait.php
| Type | Line | Description |
|---|---|---|
| FIXME | 44 | validate all field data. |
| FIXME | 52 | check for writability then success. Report errors. |
| FIXME | 65 | check for writability then success. Report errors. |
AfformScanner.php
| Type | Line | Description |
|---|---|---|
| TODO | 278 | Allow a setting override. |
ArrayHtml.php
| Type | Line | Description |
|---|---|---|
| FIXME | 209 | Validate expected number of child nodes |
AfformContactSummaryTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 149 | Be more flexible |
Authenticator.php
| Type | Line | Description |
|---|---|---|
| TODO | 220 | Consider splitting these checks into late-priority listeners. |
CheckCredential.php
| Type | Line | Description |
|---|---|---|
| TODO | 111 | Is responding that its expired a security risk? |
StatefulFlowsTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 105 | Assert that re-using cookies yields correct result. |
ContributionTasksProvider.php
| Type | Line | Description |
|---|---|---|
| FIXME | 33 | CRM_Contribute_Task::tasks() should respect `$this->checkPermissions` |
FinancialItemCreationSpecProvider.php
| Type | Line | Description |
|---|---|---|
| TODO | 27 | These fields ought to be required in the schema. |
ParticipantsAndPrices.php
| Type | Line | Description |
|---|---|---|
| TODO | 197 | $priceSetID is a pseudoparam for permit override - we should stop passing it where we don't specifically need it & find a better way where we do. |
| TODO | 154 | what to do when profile responses differ for the same contact? |
| TODO | 317 | security check that participant ids are already in this cart |
financialacls.php
| Type | Line | Description |
|---|---|---|
| FIXME | 413 | Translated labels as names === very bad. See https://lab.civicrm.org/dev/core/-/issues/5419 |
DefaultBatcher.php
| Type | Line | Description |
|---|---|---|
| FIXME | 63 | To support SMS, the address should be $eq->phone instead of $eq->email |
DefaultComposer.php
| Type | Line | Description |
|---|---|---|
| FIXME | 34 | This probably doesn't belong here... |
| FIXME | 106 | Use template_type, template_options |
Services.php
| Type | Line | Description |
|---|---|---|
| FIXME | 82 | stay in sync with upstream perms |
Cosession.php
| Type | Line | Description |
|---|---|---|
| TODO | 60 | Accept _cosession if one of these criteria are met: |
| TODO | 71 | In non-debug mode, perhaps we catch JWT exceptions, log them, and redirect/restart - like when you have invalid qfKey. |
| TODO | 190 | we should probably clean-up the CMS session to avoid leaks. |
Router.php
| Type | Line | Description |
|---|---|---|
| FIXME | 105 | ^^^ should be handled by civicrm_html_head(), but the arg(0) guard misfires. |
InnoDBIndexer.php
| Type | Line | Description |
|---|---|---|
| TODO | 143 | determine if $idxFields must be exact match or merely a subset |
ActionMapping.php
| Type | Line | Description |
|---|---|---|
| FIXME | 69 | Matching `api_params LIKE %contact%` is a cheap trick with no real understanding of the appropriateness of the SavedSearch for use as a Scheduled Reminder. |
| TODO | 85 | It would be nice to return only fields with an FK to contact.id |
AbstractRunAction.php
| Type | Line | Description |
|---|---|---|
| TODO | 1136 | Load options if pseudoconstant is dynamic (`ControlField` present) |
| TODO | 1691 | This just uses the first fieldset, but there could be multiple. Potentially could use filters to match it. |
SKEntitySpecProvider.php
| Type | Line | Description |
|---|---|---|
| TODO | 38 | This could probably be handled in SkEntityMetaProvider |
Admin.php
| Type | Line | Description |
|---|---|---|
| FIXME | 286 | At this point DAO entities have enough metadata that using getReferenceColumns() |
| FIXME | 403 | See comment above: this loop should be able to handle every entity. |
SearchRunTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 388 | This test may need to be updated as core tasks evolve |
| FIXME | 2742 | Use api4 when available |
widget.php
| Type | Line | Description |
|---|---|---|
| FIXME | 42 | Not using CRM_Core_Page_AJAX::setJsHeaders because CMS is not bootstrapped |
CaseTypeTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 27 | This flush should be unnecessary. The fact that we need it indicates a bug during activation. |
SchemaHelper.php
| Type | Line | Description |
|---|---|---|
| FIXME | 50 | You can add more utility methods here |
SqlGenerator.php
| Type | Line | Description |
|---|---|---|
| FIXME | 163 | For legacy support this doesn't force boolean fields to be NOT NULL... but it really should. |
SettingsTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 50 | // $value = cv('ev \'return Civi::settings()->get("shimmy_example");\'', 'raw'); |
| FIXME | 51 | // $this->assertEquals('null', trim($value)); |
Multisite.setting.php
| Type | Line | Description |
|---|---|---|
| FIXME | 23 | This is arguably the worst name for a setting ever |
opt-in.disabled.php
| Type | Line | Description |
|---|---|---|
| FIXME | 21 | 'is_active' => TRUE, |
Standalone.civi-setup.php
| Type | Line | Description |
|---|---|---|
| TODO | 79 | // a) this won't work if we are installing in a subdirectory of the webroot |
| TODO | 86 | at the moment the installer will only work when app root = web root |
StandaloneCivicrmFilesPath.civi-setup.php
| Type | Line | Description |
|---|---|---|
| TODO | 19 | Maybe they should? It would probably be good for all UF's to follow same codepaths for setting up the folder. |
UninstallSchema.civi-setup.php
| Type | Line | Description |
|---|---|---|
| TODO | 32 | Perhaps we should also remove stored-procedures/functions? |
PackageUtil.php
| Type | Line | Description |
|---|---|---|
| TODO | 18 | Trace the code-path and allow reading $model for packages dir? |
SettingsUtil.php
| Type | Line | Description |
|---|---|---|
| FIXME | 57 | $m->defaultSettings, $m->components, $m->extensions, $m->callbacks |
Template.php
| Type | Line | Description |
|---|---|---|
| FIXME | 71 | does not beautify. Document. |
Host.sqldata.php
| Type | Line | Description |
|---|---|---|
| FIXME | 4 | Typo |
Inactive.sqldata.php
| Type | Line | Description |
|---|---|---|
| FIXME | 12 | In the old SQL, the "\" in "\w" didn't get through. We're probably loading the wrong data. |
Invalid.sqldata.php
| Type | Line | Description |
|---|---|---|
| FIXME | 46 | In the old SQL, the "\" in "\w" didn't get through. We're probably loading the wrong data. |
Spam.sqldata.php
| Type | Line | Description |
|---|---|---|
| FIXME | 12 | In the old SQL, the "\" in "\w" didn't get through. We're probably loading the wrong data. |
activity_type.sqldata.php
| Type | Line | Description |
|---|---|---|
| FIXME | 259 | Weird weight |
| FIXME | 270 | Weird weight |
| FIXME | 280 | Weird weight |
| FIXME | 290 | Weird weight |
| FIXME | 300 | Weird weight |
| FIXME | 310 | Weird weight |
batch_mode.sqldata.php
| Type | Line | Description |
|---|---|---|
| TODO | 8 | Shouldn't we have ts() for these descriptions? |
encounter_medium.sqldata.php
| Type | Line | Description |
|---|---|---|
| FIXME | 6 | Shouldn't these be translated? |
civicrm_uf_field.sqldata.php
| Type | Line | Description |
|---|---|---|
| FIXME | 307 | Space |
| FIXME | 318 | Space |
GenerateReportData.php
| Type | Line | Description |
|---|---|---|
| FIXME | 636 | FOR NEW LOCATION BLOCK STRUCTURE |
| FIXME | 648 | FOR NEW LOCATION BLOCK STRUCTURE |
ContributionSoftTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 76 | - this might be better broken down into more smaller tests |
ContributionTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 4000 | break this down into sensible functions - most calls to it only use a few lines out of the big if. |
| TODO | 3224 | the latest payment transaction date (and maybe other details, |
EmailTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 43 | email_type_id |
| TODO | 174 | email_type_id |
GroupContactTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 50 | set up calls function that doesn't work @ the moment |
JobProcessMailingTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 333 | lockHold is unrealistic/unrepresentative. In reality, this situation fails because |
| FIXME | 356 | lockHold is unrealistic/unrepresentative. In reality, this situation fails because |
LineItemTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 89 | move to a trait, share. |
ParticipantTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 507 | These assertions depend on the order of the line items, which is |
| TODO | 537 | These assertions depend on the order of the line items, which is |
SyntaxConformanceTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 441 | add metadata for ALL these entities |
| FIXME | 936 | // the below function returns different values and hence an early return |
| FIXME | 1471 | Why doesn't creating a campaign clear caches? |
UFGroupTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 19 | Split UFGroup and UFJoin tests |
UFJoinTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 19 | Split UFGroup and UFJoin tests |
EntityFileTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 51 | Use api4 when available |
| FIXME | 106 | Use api4 when available |
FkJoinTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 487 | Currently returning 2 |
KernelTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 98 | testAuthorizeException, testPrepareException, testRespondException |
CiviReportTestCase.php
| Type | Line | Description |
|---|---|---|
| TODO | 18 | Figure out how to automatically drop all temporary tables. |
| TODO | 117 | provide better debug output |
CiviUnitTestCase.php
| Type | Line | Description |
|---|---|---|
| TODO | 2200 | this isn't a great place to put it - but really it belongs on a class that extends this parent class & we don't have a structure for that yet There is another function to this effect on the PaypalPro test but it appears to be silently failing & the best protection against that is the functions this class affords |
| FIXME | 245 | loosen coupling |
| FIXME | 352 | look at it closer in second stage |
ActionMappingTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 58 | CRM-19415: This test should pass... |
ActivityTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 1213 | Case 4 about checking the $formAddress on basis of logged contact ID respectively needs, |
GroupTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 250 | - for some reason the data was getting truncated from the group table using dataprovider - would be preferable to get that working //@notdataProvider dataProviderSavedSearch //@notparam integer $groupID To add to this dataset do SET @groupID = x; SELECT mapping_id FROM civicrm_group g LEFT JOIN civicrm_saved_search s ON saved_search_id = s.id WHERE g.id = @groupID INTO @mappingID; SELECT * FROM civicrm_mapping WHERE id = @mappingID; SELECT * FROM civicrm_mapping_field WHERE mapping_id = @mappingID; SELECT * FROM civicrm_saved_search WHERE mapping_id = @mappingID; SELECT g.* FROM civicrm_saved_search s LEFT JOIN civicrm_group g ON g.saved_search_id = s.id WHERE mapping_id = @mappingID; Copy the output to a single sql file and place in the SavedSearchDataSets folder - use the group number as the prefix. Try to keep as much of the real world irregular glory as you can! Don't change the table ids to be number 1 as this can hide errors |
BasicTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 28 | - this test passes but it tests a scenario we would ideally deprecate - ie coming up with a search that won't work, trying it, logging an error, and then trying something that does work. |
AjaxTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 264 | EntityTag.create API is not working |
JoomlaTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 17 | $cases[] = array("cms:universal name", "local name"); |
| TODO | 18 | $cases[] = array("cms:universal name2", "local name2"); |
DedupeFinderTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 292 | move create params to separate function |
RegistrationTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 11 | More fields are required for formRule to return no errors |
ExportTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 1925 | - still being built up. |
ModuleTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 250 | $activeModules = CRM_Core_PseudoConstant::getModuleExtensions(TRUE); |
ModuleUpgTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 250 | $activeModules = CRM_Core_PseudoConstant::getModuleExtensions(TRUE); |
MailingSystemTestBase.php
| Type | Line | Description |
|---|---|---|
| FIXME | 222 | CiviMail puts double " after hyperlink! |
| FIXME | 316 | Legacy tracker adds extra quote after URL |
TokensTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 25 | Think about supporting dynamic tokens like "{action.subscribe.\d+}" |
| FIXME | 146 | For compatibility with |
RunnerTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 158 | useless return |
DetailTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 51 | add filters |
| TODO | 169 | We're getting a "DB Error: already exists" when inserting a line |
| TODO | 289 | We're getting a "DB Error: already exists" when inserting a line |
TestCaseTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 59 | add filters |
| FIXME | 96 | add filters |
| FIXME | 117 | add filters |
versionCheckTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 241 | Also test for enabled extensions. |
LocaleTest.php
| Type | Line | Description |
|---|---|---|
| FIXME | 19 | In buildkit.git:app/config/backdrop-*, it downloads the *.po files, but it lacks drush support for activating them. |
| FIXME | 31 | In buildkit.git:app/config/drupal8-*, it downloads the *.po files, but it lacks drush support for activating them. |
| FIXME | 36 | In CRM_Utils_System_Joomla, the setUFLocale and getUFLocale are not fully implemented. |
| FIXME | 37 | In buildkit.git:app/config/joomla-*, it does not enable any languages. |
| FIXME | 42 | In CRM_Utils_System_WordPress, the setUFLocale and getUFLocale are not fully implemented. |
| FIXME | 43 | In buildkit.git:app/config/wp-*, it does not enable any languages. |
CliRunnerTest.php
| Type | Line | Description |
|---|---|---|
| TODO | 106 | Drupal8 w/drush (doesn't use civicrm_initialize?) |
router.php
| Type | Line | Description |
|---|---|---|
| TODO | 76 | Consider allowing CRM_Core_Invoke to handle any route. May affect UF interop. |