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. |