├── .github
├── screenshot.png
└── charity-navigator.png
├── ext
├── icons
│ ├── icon128.png
│ ├── icon16.png
│ ├── icon19.png
│ └── icon48.png
├── src
│ ├── bg
│ │ ├── background.html
│ │ └── background.js
│ └── inject
│ │ └── inject.js
├── manifest.json
└── _locales
│ └── en
│ └── messages.json
├── readme.md
├── CODE_OF_CONDUCT.md
└── not-found.md
/.github/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tmcw/identify-hate/HEAD/.github/screenshot.png
--------------------------------------------------------------------------------
/ext/icons/icon128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tmcw/identify-hate/HEAD/ext/icons/icon128.png
--------------------------------------------------------------------------------
/ext/icons/icon16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tmcw/identify-hate/HEAD/ext/icons/icon16.png
--------------------------------------------------------------------------------
/ext/icons/icon19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tmcw/identify-hate/HEAD/ext/icons/icon19.png
--------------------------------------------------------------------------------
/ext/icons/icon48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tmcw/identify-hate/HEAD/ext/icons/icon48.png
--------------------------------------------------------------------------------
/.github/charity-navigator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tmcw/identify-hate/HEAD/.github/charity-navigator.png
--------------------------------------------------------------------------------
/ext/src/bg/background.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ext/src/bg/background.js:
--------------------------------------------------------------------------------
1 | // if you checked "fancy-settings" in extensionizr.com, uncomment this lines
2 |
3 | // var settings = new Store("settings", {
4 | // "sample_setting": "This is how you use Store.js to remember values"
5 | // });
6 |
7 |
8 | //example of using a message handler from the inject scripts
9 | chrome.extension.onMessage.addListener(
10 | function(request, sender, sendResponse) {
11 | chrome.pageAction.show(sender.tab.id);
12 | sendResponse();
13 | });
--------------------------------------------------------------------------------
/ext/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Identify hate groups on GuideStar",
3 | "version": "0.5.0",
4 | "manifest_version": 2,
5 | "description": "Shows SPLC-identified hate groups on GuideStar & CharityNavigator pages. Not affiliated with GuideStar, CharityNavigator, or SPLC.",
6 | "homepage_url": "https://www.washingtonpost.com/news/morning-mix/wp/2017/06/26/after-conservative-backlash-charity-tracker-guidestar-removes-hate-group-labels/",
7 | "icons": {
8 | "16": "icons/icon16.png",
9 | "48": "icons/icon48.png",
10 | "128": "icons/icon128.png"
11 | },
12 | "default_locale": "en",
13 | "background": {
14 | "page": "src/bg/background.html",
15 | "persistent": true
16 | },
17 | "page_action": {
18 | "default_icon": "icons/icon19.png",
19 | "default_title": "Identify hate groups on GuideStar & CharityNavigator"
20 | },
21 | "permissions": [
22 | "https://www.guidestar.org/*",
23 | "https://www.charitynavigator.org/*"
24 | ],
25 | "content_scripts": [
26 | {
27 | "matches": [
28 | "https://www.guidestar.org/*",
29 | "https://www.charitynavigator.org/*"
30 | ],
31 | "js": [
32 | "src/inject/inject.js"
33 | ]
34 | }
35 | ]
36 | }
37 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # identify hate
2 |
3 |
4 |
5 |
6 |
7 | [GuideStar](http://guidestar.org/) added [SPLC information](https://www.splcenter.org/)
8 | identifying nonprofits run by [hate groups](https://www.splcenter.org/fighting-hate/extremist-files).
9 | They [were pressured to remove that information](https://www.washingtonpost.com/news/morning-mix/wp/2017/06/26/after-conservative-backlash-charity-tracker-guidestar-removes-hate-group-labels/).
10 | This extension adds that information back.
11 |
12 |
13 |
14 |
15 |
16 | It also adds the same information to [CharityNavigator](https://www.charitynavigator.org/).
17 |
18 | ## Help out
19 |
20 | * I'd really appreciate any help associating any of the [not found](not-found.md)
21 | organizations with GuideStar pages
22 | * Would also love help proofing the data that exists in [inject.js](ext/src/inject/inject.js),
23 | to make sure all the matches are accurate.
24 |
25 | ## Like this project?
26 |
27 | [Donate to the Southern Poverty Law Center!](https://donate.splcenter.org/page.aspx?pid=463)
28 |
29 | ## Disclaimers
30 |
31 | * This project is not associated with or endorsed by the SPLC or GuideStar
32 | * Information is not guaranteed to be accurate: matches are made between
33 | the two sites based on name, date of formation, place, and staff listings.
34 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6 |
7 | ## Our Standards
8 |
9 | Examples of behavior that contributes to creating a positive environment include:
10 |
11 | * Using welcoming and inclusive language
12 | * Being respectful of differing viewpoints and experiences
13 | * Gracefully accepting constructive criticism
14 | * Focusing on what is best for the community
15 | * Showing empathy towards other community members
16 |
17 | Examples of unacceptable behavior by participants include:
18 |
19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances
20 | * Trolling, insulting/derogatory comments, and personal or political attacks
21 | * Public or private harassment
22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission
23 | * Other conduct which could reasonably be considered inappropriate in a professional setting
24 |
25 | ## Our Responsibilities
26 |
27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28 |
29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30 |
31 | ## Scope
32 |
33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34 |
35 | ## Enforcement
36 |
37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at tom@macwright.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38 |
39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40 |
41 | ## Attribution
42 |
43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44 |
45 | [homepage]: http://contributor-covenant.org
46 | [version]: http://contributor-covenant.org/version/1/4/
47 |
--------------------------------------------------------------------------------
/not-found.md:
--------------------------------------------------------------------------------
1 | I can't find these groups that are on SPLC's list on GuideStar. They may
2 | simply not have nonprofit status or nonprofit organizations, but I also
3 | may have missed them.
4 |
5 | * America's Promise Ministries https://www.splcenter.org/fighting-hate/extremist-files/group/americas-promise-ministries
6 | * American Freedom Party https://www.splcenter.org/fighting-hate/extremist-files/group/american-freedom-party
7 | * Aryan Brotherhood https://www.splcenter.org/fighting-hate/extremist-files/group/aryan-brotherhood
8 | * Aryan Brotherhood of Texas https://www.splcenter.org/fighting-hate/extremist-files/group/aryan-brotherhood-texas
9 | * Aryan Nations https://www.splcenter.org/fighting-hate/extremist-files/group/aryan-nations
10 | * The Barnes Review https://www.splcenter.org/fighting-hate/extremist-files/group/barnes-review
11 | * Blood & Honour https://www.splcenter.org/fighting-hate/extremist-files/group/blood-honour
12 | * Brotherhood of Klans https://www.splcenter.org/fighting-hate/extremist-files/group/brotherhood-klans
13 | * CHURCH OF THE NATIONAL KNIGHTS OF THE KU KLUX KLAN https://www.splcenter.org/fighting-hate/extremist-files/group/church-national-knights-ku-klux-klan
14 | * https://www.splcenter.org/fighting-hate/extremist-files/group/conseil-de-recherche-sur-la-famille
15 | * https://www.splcenter.org/fighting-hate/extremist-files/group/consejo-de-investigaci%C3%B3n-familiar
16 | * https://www.splcenter.org/fighting-hate/extremist-files/group/conselho-de-pesquisa-familiar
17 | * https://www.splcenter.org/fighting-hate/extremist-files/group/creativity-movement
18 | * https://www.splcenter.org/fighting-hate/extremist-files/group/creativity-movement-0
19 | * https://www.splcenter.org/fighting-hate/extremist-files/group/euro
20 | * https://www.splcenter.org/fighting-hate/extremist-files/group/fundamentalist-church-jesus-christ-latter-day-saints
21 | * https://www.splcenter.org/fighting-hate/extremist-files/group/imperial-klans-america
22 | * https://www.splcenter.org/fighting-hate/extremist-files/group/institute-historical-review
23 | * https://www.splcenter.org/fighting-hate/extremist-files/group/jewish-defense-league
24 | * https://www.splcenter.org/fighting-hate/extremist-files/group/keystone-united
25 | * https://www.splcenter.org/fighting-hate/extremist-files/group/kingdom-identity-ministries
26 | * https://www.splcenter.org/fighting-hate/extremist-files/group/knights-ku-klux-klan
27 | * https://www.splcenter.org/fighting-hate/extremist-files/group/league-south
28 | * https://www.splcenter.org/fighting-hate/extremist-files/group/nation-islam - multiple related organizations
29 | * https://www.splcenter.org/fighting-hate/extremist-files/group/national-alliance
30 | * https://www.splcenter.org/fighting-hate/extremist-files/group/national-coalition-immigration-reform
31 | * https://www.splcenter.org/fighting-hate/extremist-files/group/national-socialist-movement
32 | * https://www.splcenter.org/fighting-hate/extremist-files/group/national-vanguard
33 | * https://www.splcenter.org/fighting-hate/extremist-files/group/new-black-panther-party
34 | * https://www.splcenter.org/fighting-hate/extremist-files/group/nuwaubian-nation-moors
35 | * https://www.splcenter.org/fighting-hate/extremist-files/group/oath-keepers
36 | * https://www.splcenter.org/fighting-hate/extremist-files/group/occidental-quarterly
37 | * https://www.splcenter.org/fighting-hate/extremist-files/group/social-contract-press
38 | * https://www.splcenter.org/fighting-hate/extremist-files/group/stormfront
39 | * https://www.splcenter.org/fighting-hate/extremist-files/group/traditionalist-worker-party
40 | * https://www.splcenter.org/fighting-hate/extremist-files/group/vinlanders-social-club
41 | * https://www.splcenter.org/fighting-hate/extremist-files/group/westboro-baptist-church
42 | * https://www.splcenter.org/fighting-hate/extremist-files/group/white-lives-matter
43 | * https://www.splcenter.org/fighting-hate/extremist-files/group/white-revolution
44 | * https://www.splcenter.org/fighting-hate/extremist-files/group/worldnetdaily
45 |
--------------------------------------------------------------------------------
/ext/_locales/en/messages.json:
--------------------------------------------------------------------------------
1 | {
2 | "l10nTabName": {
3 | "message":"Localization"
4 | ,"description":"name of the localization tab"
5 | }
6 | ,"l10nHeader": {
7 | "message":"It does localization too! (this whole tab is, actually)"
8 | ,"description":"Header text for the localization section"
9 | }
10 | ,"l10nIntro": {
11 | "message":"'L10n' refers to 'Localization' - 'L' an 'n' are obvious, and 10 comes from the number of letters between those two. It is the process/whatever of displaying something in the language of choice. It uses 'I18n', 'Internationalization', which refers to the tools / framework supporting L10n. I.e., something is internationalized if it has I18n support, and can be localized. Something is localized for you if it is in your language / dialect."
12 | ,"description":"introduce the basic idea."
13 | }
14 | ,"l10nProd": {
15 | "message":"You are planning to allow localization, right? You have no idea who will be using your extension! You have no idea who will be translating it! At least support the basics, it's not hard, and having the framework in place will let you transition much more easily later on."
16 | ,"description":"drive the point home. It's good for you."
17 | }
18 | ,"l10nFirstParagraph": {
19 | "message":"When the options page loads, elements decorated with data-l10n will automatically be localized!"
20 | ,"description":"inform that elements will be localized on load"
21 | }
22 | ,"l10nSecondParagraph": {
23 | "message":"If you need more complex localization, you can also define data-l10n-args. This should contain $containerType$ filled with $dataType$, which will be passed into Chrome's i18n API as $functionArgs$. In fact, this paragraph does just that, and wraps the args in mono-space font. Easy!"
24 | ,"description":"introduce the data-l10n-args attribute. End on a lame note."
25 | ,"placeholders": {
26 | "containerType": {
27 | "content":"$1"
28 | ,"example":"'array', 'list', or something similar"
29 | ,"description":"type of the args container"
30 | }
31 | ,"dataType": {
32 | "content":"$2"
33 | ,"example":"string"
34 | ,"description":"type of data in each array index"
35 | }
36 | ,"functionArgs": {
37 | "content":"$3"
38 | ,"example":"arguments"
39 | ,"description":"whatever you call what you pass into a function/method. args, params, etc."
40 | }
41 | }
42 | }
43 | ,"l10nThirdParagraph": {
44 | "message":"Message contents are passed right into innerHTML without processing - include any tags (or even scripts) that you feel like. If you have an input field, the placeholder will be set instead, and buttons will have the value attribute set."
45 | ,"description":"inform that we handle placeholders, buttons, and direct HTML input"
46 | }
47 | ,"l10nButtonsBefore": {
48 | "message":"Different types of buttons are handled as well. <button> elements have their html set:"
49 | }
50 | ,"l10nButton": {
51 | "message":"in a button"
52 | }
53 | ,"l10nButtonsBetween": {
54 | "message":"while <input type='submit'> and <input type='button'> get their 'value' set (note: no HTML):"
55 | }
56 | ,"l10nSubmit": {
57 | "message":"a submit value"
58 | }
59 | ,"l10nButtonsAfter": {
60 | "message":"Awesome, no?"
61 | }
62 | ,"l10nExtras": {
63 | "message":"You can even set data-l10n on things like the <title> tag, which lets you have translatable page titles, or fieldset <legend> tags, or anywhere else - the default Boil.localize() behavior will check every tag in the document, not just the body."
64 | ,"description":"inform about places which may not be obvious, like , etc"
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/ext/src/inject/inject.js:
--------------------------------------------------------------------------------
1 | chrome.extension.sendMessage({}, function(response) {
2 | // A list of all identified hate groups that match with GuideStar charities
3 | var hateGroupIdx = {
4 | "26-0772227": {
5 | name: "ACT FOR AMERICA INC",
6 | splcUrl: "https://www.splcenter.org/fighting-hate/extremist-files/group/act-america"
7 | },
8 | "54-1660459": {
9 | name: "ALLIANCE DEFENDING FREEDOM",
10 | splcUrl: "https://www.splcenter.org/fighting-hate/extremist-files/group/alliance-defending-freedom"
11 | },
12 | "42-1542666": {
13 | name: "American Border Patrol",
14 | splcUrl: "https://www.splcenter.org/fighting-hate/extremist-files/group/american-border-patrolamerican-patrol"
15 | },
16 | "47-0886878": {
17 | name: "American College of Pediatricians",
18 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
19 | },
20 | "64-0607275": {
21 | name: "AMERICAN FAMILY ASSOCIATION INC",
22 | splcUrl: "https://www.splcenter.org/fighting-hate/extremist-files/group/american-family-association"
23 | },
24 | "27-2518993": {
25 | name: "AMERICAN FREEDOM DEFENSE INITIATIVE",
26 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
27 | },
28 | "52-1304849": {
29 | name: "American Immigration Control Foundation Inc",
30 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
31 | },
32 | "58-1374143": {
33 | name: "AMERICAN VISION INC",
34 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2015/active-anti-lgbt-groups"
35 | },
36 | "54-1829289": {
37 | name: "Americans for Truth About Homosexuality",
38 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2010/18-anti-gay-groups-and-their-propaganda"
39 | },
40 | "36-3897842": {
41 | name: "Bill Keller Ministries",
42 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
43 | },
44 | "94-2581509": {
45 | name: "CALIFORNIANS FOR POPULATION STABILIZATION INC",
46 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
47 | },
48 | "52-1449368": {
49 | name: "CENTER FOR IMMIGRATION STUDIES INC",
50 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
51 | },
52 | "52-1601976": {
53 | name: "Center for Security Policy Inc",
54 | splcUrl: "https://www.splcenter.org/fighting-hate/extremist-files/group/center-security-policy"
55 | },
56 | "95-6121940": {
57 | name: "Chalcedon Inc",
58 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2010/18-anti-gay-groups-and-their-propaganda"
59 | },
60 | "54-1756470": {
61 | name: "CHRISTIAN ACTION NETWORK",
62 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
63 | },
64 | "31-1075684": {
65 | name: "CITIZENS FOR COMMUNITY VALUES",
66 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
67 | },
68 | "95-4194642": {
69 | name: "DAVID HOROWITZ FREEDOM CENTER",
70 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
71 | },
72 | "74-3068189": {
73 | name: "FAITH 2 ACTION INC",
74 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
75 | },
76 | "52-1792772": {
77 | name: "FAMILY RESEARCH COUNCIL INC",
78 | splcUrl: "https://www.splcenter.org/fighting-hate/extremist-files/group/family-research-council"
79 | },
80 | "47-0649778": {
81 | name: "FAMILY RESEARCH INSTITUTE INC",
82 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
83 | },
84 | "20-3779221": {
85 | name: "Family Security Foundation Inc",
86 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
87 | },
88 | "52-1136126": {
89 | name: "Federation for American Immigration Reform",
90 | splcUrl: "https://www.splcenter.org/fighting-hate/extremist-files/group/federation-american-immigration-reform"
91 | },
92 | "87-0713874": {
93 | name: "FITZGERALD GRIFFIN FOUNDATION",
94 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
95 | },
96 | "59-3283890": {
97 | name: "Florida Family Association Inc",
98 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
99 | },
100 | "74-2138183": {
101 | name: "Friendship Assembly of God",
102 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
103 | },
104 | "54-2057581": {
105 | name: "IHS PRESS",
106 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
107 | },
108 | "37-1265883": {
109 | name: "ILLINOIS FAMILY INSTITUTE",
110 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
111 | },
112 | "52-1469956": {
113 | name: "Immigration Reform Law Institute",
114 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
115 | },
116 | "86-0932183": {
117 | name: "IN THE SPIRIT OF CHARTRES COMMITTEE INC",
118 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2007/12-anti-semitic-radical-traditionalist-catholic-groups"
119 | },
120 | "59-3838518": {
121 | name: "Israel School of Universal Practical Knowledge",
122 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
123 | },
124 | "20-0516499": {
125 | name: "Israel United in Christ Inc",
126 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
127 | },
128 | "26-0371995": {
129 | name: "KINGDOM TREASURE MINISTRIES INC",
130 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
131 | },
132 | "59-2986294": {
133 | name: "Liberty Counsel Inc",
134 | splcUrl: "https://www.splcenter.org/fighting-hate/extremist-files/group/liberty-counsel"
135 | },
136 | "62-1608693": {
137 | name: "Mary Noel Kershaw Foundation",
138 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
139 | },
140 | "31-1597212": {
141 | name: "Mission America",
142 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
143 | },
144 | // Unconfirmed: no public record of this organization being included in the list
145 | // "46-4432788": {
146 | // name: "NATIONAL COALITION FOR ISSUE REFORM ACTION"
147 | // },
148 | "52-1259838": {
149 | name: "NATIONAL POLICY INSTITUTE INC",
150 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
151 | },
152 | "91-1823641": {
153 | name: "PACIFIC JUSTICE INSTITUTE",
154 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
155 | },
156 | "30-0116360": {
157 | name: "PASS THE SALT MINISTRIES INC",
158 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
159 | },
160 | "75-1416858": {
161 | name: "Probe Ministries International Inc",
162 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
163 | },
164 | "52-1112449": {
165 | name: "PUBLIC ADVOCATE OF THE UNITED STATES",
166 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2017/active-hate-groups-2016"
167 | },
168 | "80-0211871": {
169 | name: "Ruth Institute Inc",
170 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
171 | },
172 | "46-3534833": {
173 | name: "Tea Party Nation Action",
174 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
175 | },
176 | "52-1052524": {
177 | name: "THE COUNCIL FOR SOCIAL AND ECONOMIC STUDIES INC",
178 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
179 | },
180 | "33-0055498": {
181 | name: "Traditional Values Coalition",
182 | splcUrl: "https://www.splcenter.org/fighting-hate/extremist-files/group/traditional-values-coalition"
183 | },
184 | "57-0658997": {
185 | name: "UNITED FAMILIES FOUNDATION",
186 | splcUrl: "https://www.splcenter.org/fighting-hate/intelligence-report/2016/active-hate-groups-united-states-2015"
187 | }
188 | };
189 |
190 | var readyStateCheckInterval = setInterval(function() {
191 | if (document.readyState !== "complete") return;
192 |
193 | clearInterval(readyStateCheckInterval);
194 |
195 | // Determine whether we're on a profile page, by comparing the URL
196 | // against a pattern.
197 | var profileRegex, profileIdResult, pageEin;
198 | if (document.location.hostname === "www.guidestar.org") {
199 | profileRegex = /^\/profile\/([\d\-]+)$/;
200 | profileIdResult = document.location.pathname.match(profileRegex);
201 | if (profileIdResult == null) return;
202 | pageEin = profileIdResult[1];
203 | } else {
204 | // Don't show this on search listing pages on charitynavigator
205 | if (!document.location.search.match(/bay=search\.(profile|summary)/)) {
206 | return;
207 | }
208 | var donateLink = document.querySelector("a[data-ein]");
209 | if (donateLink) {
210 | profileIdResult = donateLink.dataset.ein;
211 | }
212 | if (profileIdResult === null) return;
213 | pageEin =
214 | profileIdResult.substring(0, 2) + "-" + profileIdResult.substring(2);
215 | }
216 |
217 | var info = hateGroupIdx[pageEin];
218 |
219 | // Figure out if the page we're on matches one of those hate groups.
220 | if (info == undefined) return;
221 |
222 | // If it does, insert a warning onto the page with a link to more
223 | // information, and then exit.
224 | var splcUrl = info.splcUrl;
225 | var warningDiv = document.createElement("div");
226 | var warningLink = warningDiv.appendChild(document.createElement("a"));
227 | warningDiv.style.cssText =
228 | "background:#d05330;color:#fff;padding:10px;text-align:center;";
229 | warningLink.setAttribute("href", splcUrl);
230 | warningLink.style.cssText = "color:#fff";
231 | warningLink.innerText =
232 | "⚠️ This organization has been identified as a hate group by the SPLC. Click here for more details.";
233 |
234 | if (document.location.hostname === "www.guidestar.org") {
235 | warningDiv.style.margin = "20px 10px";
236 | var profileHeader = document.getElementById("profileHeader");
237 | var warningDiv = profileHeader.appendChild(warningDiv);
238 | profileHeader.insertBefore(warningDiv, profileHeader.children[0]);
239 | } else {
240 | var profileHeader = document.getElementById("maincontent");
241 | var warningDiv = profileHeader.appendChild(warningDiv);
242 | profileHeader.insertBefore(warningDiv, profileHeader.children[0]);
243 | }
244 | }, 10);
245 | });
246 |
--------------------------------------------------------------------------------