WP Manifestindependent plugin directory
manifest / content / disciple-tools-import

Disciple.Tools - Import WP Registry grade C-. High-severity findings · 1 findingWP RegistryHigh-severity findings · 1 findingOpen the reportC-

Easily import your contact or group data into Disciple.Tools from a CSV file.

★ 1stars
1krelease downloads
≈50active sites
1.3.1latest · 2 years ago

Install

Download disciple-tools-import.zip From the 1.3.1 release on GitHub, Mar 15, 2024

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/discipletools/disciple-tools-import/releases/download/1.3.1/disciple-tools-import.zip
Updates itself. It ships its own updater (Plugin Update Checker), so new versions appear under Dashboard → Updates.

Easily import your contact or group data into Disciple.Tools from a CSV file.

Purpose

If you have contact or group data in a CSV file, you don't need to manually create all an entry in Disciple.Tools.

Usage

Will Do

  • Import several columns
  • Assign a Disciple.Tools column to a CSV column
  • Add contacts
  • Add groups

Requirements

  • Disciple.Tools Theme installed on a Wordpress Server

Installing

  • Install as a standard Disciple.Tools/Wordpress plugin in the system Admin/Plugins area.
  • Requires the user role of Administrator.

Contribution

Contributions welcome. You can report issues and bugs in the Issues section of the repo. You can present ideas in the Discussions section of the repo. And code contributions are welcome using the Pull Request system for git. For a more details on contribution see the contribution guidelines.

Releases

15 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
1.3.1 latest
Mar 15, 2024 2 years ago
disciple-tools-import.zip
326
Jul 27, 2023 3 years ago
disciple-tools-import.zip
118
Jul 12, 2023 3 years ago
disciple-tools-import.zip
53
May 4, 2023 3 years ago
disciple-tools-import.zip
62
Apr 24, 2023 3 years ago
disciple-tools-import.zip
48
Apr 24, 2023 3 years ago
disciple-tools-import.zip
8
1.2
Apr 24, 2023 3 years ago
disciple-tools-import.zip
6
Apr 13, 2023 3 years ago
disciple-tools-import.zip
45
Jul 15, 2022 4 years ago
disciple-tools-import.zip
79
1.1
Jul 15, 2022 4 years ago
disciple-tools-import.zip
6
0.4
Oct 22, 2021 5 years ago
disciple-tools-import.zip
6
1.0
Oct 22, 2021 5 years ago
disciple-tools-import.zip
50
0.3
May 25, 2021 5 years ago
disciple-tools-import.zip
187
Feb 18, 2021 5 years ago
disciple-tools-import.zip
8
0.2
Feb 18, 2021 5 years ago
disciple-tools-import.zip
10

Active-site estimate ≈50 comes from the median of recent superseded releases. Method.

C- grade

Security

Disciple.Tools - Import 1.3.1 · audited by WP Registry

High-severity findings.

1 high
Audited release
1.3.1
Findings
1
Worst severity
high
Content hash
cae71d2198a0218c035cfdca…

Findings

  • high Geocode REST writes location_grid_meta to any post using only view_project_metrics

    missing_permission_callback

    Disciple_Tools_Import_Endpoints registers POST dt_import/v1/add_location_grid_meta and leftover POST dt/v1/sample/private_endpoint with permission_callback __return_true, so WordPress admits unauthenticated and low-privilege callers into the callback. private_endpoint() then allows the request if current_user_can('dt_all_access_contacts') OR current_user_can('view_project_metrics'). view_project_metrics is the Disciple.Tools 'All Metrics' cap: Strategist has it and nothing else (no manage_dt, no contact create/update). The handler never calls DT_Posts::can_update() on $params['id']. It geocodes attacker-supplied address/lat,lng with the site Google or Mapbox key, then Location_Grid_Meta::add_location_grid_meta() (theme helper, no auth of its own) add_post_meta's location_grid and location_grid_meta and inserts dt_location_grid_meta. Those keys are what DT maps render. CSV import UI that is supposed to own this flow is separately gated by manage_dt, so the REST surface is strictly wider than the admin page. Cookie REST still requires X-WP-Nonce to authenticate, which logged-in DT users have on metrics pages; application passwords skip the nonce. Unauthenticated and Subscriber/Multiplier callers fail has_permission() and do not write. Leftover GET dt-public/v1/sample/public_endpoint is the same __return_true pattern but only verifies a site-link transfer_token and returns true.

    includes/rest-api.php:9-76,91-187

    Recommendation

    Put a real permission_callback on both write routes (reject uid 0; require current_user_can to update the target record, e.g. DT_Posts::can_update( $post_type, $id ) or manage_dt). Do not treat view_project_metrics as a write gate. Delete the leftover dt-public/v1/sample/public_endpoint and dt/v1/sample/private_endpoint starter routes. Validate id/post_type/geocoder against an allow-list before calling geocoders or Location_Grid_Meta.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.