Compare commits

..

73 Commits

Author SHA1 Message Date
erwanlr
8dab57b59c Bumps version 2020-10-09 12:30:57 +02:00
Erwan
7a00cd8db1 Merge pull request #1550 from d10r/master
fixed typo in link (wpscam.com)
2020-10-09 11:44:39 +02:00
Didi
daa0915bca fixed typo in link (wpscam.com) 2020-10-09 11:38:54 +02:00
erwanlr
ca6b6a30d8 Updates Rubocop dep 2020-10-09 11:23:17 +02:00
erwanlr
09f2640879 Adds Dfs 2020-10-09 11:18:40 +02:00
erwanlr
f61c55b350 Updates DB URLs 2020-10-08 19:29:57 +02:00
erwanlr
78d0c2540c Adds DFs 2020-10-02 12:26:58 +02:00
Erwan
1d0426e816 Merge pull request #1544 from wpscanteam/dependabot/bundler/rubocop-tw-0.92.0
Update rubocop requirement from ~> 0.91.0 to ~> 0.92.0
2020-09-28 08:24:49 +02:00
dependabot-preview[bot]
103a4049c8 Update rubocop requirement from ~> 0.91.0 to ~> 0.92.0
Updates the requirements on [rubocop](https://github.com/rubocop-hq/rubocop) to permit the latest version.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.91.0...v0.92.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-28 05:23:28 +00:00
erwanlr
cbcb1dcb33 Adds Dfs 2020-09-27 11:55:30 +02:00
erwanlr
9c36293382 Adds DFs 2020-09-19 10:39:54 +02:00
erwanlr
2fb36dc425 Adds DF 2020-09-18 15:40:29 +02:00
erwanlr
c717ba5a71 Updates rubocop 2020-09-18 15:15:21 +02:00
Christian Mehlmauer
7572518e3b add label to dockerfile 2020-09-17 08:10:20 +02:00
Erwan
f670133a82 Merge pull request #1541 from wpscanteam/dependabot/bundler/webmock-tw-3.9.0
Update webmock requirement from ~> 3.8.0 to ~> 3.9.0
2020-09-14 08:55:07 +02:00
dependabot-preview[bot]
a6bbf41e82 Update webmock requirement from ~> 3.8.0 to ~> 3.9.0
Updates the requirements on [webmock](https://github.com/bblimke/webmock) to permit the latest version.
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.8.0...v3.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 05:23:55 +00:00
erwanlr
622c16932a Adds DFs 2020-09-12 12:21:16 +02:00
erwanlr
5fd7e0ed22 Bumps version 2020-09-10 14:34:44 +02:00
erwanlr
d9f6c71015 Adds specs 2020-09-10 13:41:01 +02:00
Erwan
61a3106b3b Merge pull request #1540 from dwisiswant0/installer-log-regex-update
Update regex for WP Duplicator plugin installer-log
2020-09-10 13:22:15 +02:00
Dwi Siswanto
20eb2d825d 🔨 Update regex 2020-09-10 17:30:36 +07:00
Dwi Siswanto
906557d2ec 🔨 Update regex for WP Duplicator plugin installer-log 2020-09-10 04:38:19 +07:00
erwanlr
c1e278ea80 Updates rubocop-perf 2020-09-07 09:19:13 +02:00
erwanlr
e2d616a53f Adds DFs 2020-09-05 11:14:47 +02:00
erwanlr
c6802ccdd2 Updates rubocop 2020-09-03 11:05:36 +02:00
erwanlr
abd50fd037 Adds DFs 2020-08-29 12:02:20 +02:00
erwanlr
4515be53b4 Adds Dfs 2020-08-22 17:51:39 +02:00
Erwan
920a25bb25 Merge pull request #1536 from wpscanteam/dependabot/bundler/simplecov-tw-0.19.0
Update simplecov requirement from ~> 0.18.2 to ~> 0.19.0
2020-08-17 09:10:44 +02:00
dependabot-preview[bot]
648dd05069 Update simplecov requirement from ~> 0.18.2 to ~> 0.19.0
Updates the requirements on [simplecov](https://github.com/simplecov-ruby/simplecov) to permit the latest version.
- [Release notes](https://github.com/simplecov-ruby/simplecov/releases)
- [Changelog](https://github.com/simplecov-ruby/simplecov/blob/main/CHANGELOG.md)
- [Commits](https://github.com/simplecov-ruby/simplecov/compare/v0.18.2...v0.19.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-17 05:57:47 +00:00
erwanlr
713edcecca Adds DFs 2020-08-15 12:02:27 +02:00
erwanlr
ac16a951c5 Bumps version 2020-08-08 14:21:50 +02:00
erwanlr
1043bcb267 Adds Dfs 2020-08-08 13:25:15 +02:00
erwanlr
22979a1a77 Adds DFs 2020-08-07 09:39:50 +02:00
erwanlr
3039d2e7eb More rubocop fixes 2020-08-06 12:47:00 +02:00
erwanlr
557dee2d8c Updates rubocop 2020-08-06 11:43:26 +02:00
erwanlr
a506adcb64 Fixes #1529 2020-08-06 10:51:08 +02:00
erwanlr
3bfb120646 Adds DF for monarch - Ref #1527 2020-08-04 14:42:50 +02:00
erwanlr
43e613aa52 Updates Gravityforms detection - Ref #1526 2020-08-03 12:33:14 +02:00
erwanlr
0d930ed605 Adds Dfs 2020-08-01 10:45:42 +02:00
erwanlr
2014f1e4b3 Bumps version 2020-07-25 17:13:29 +02:00
erwanlr
4889d17e0a Ref #1510 2020-07-25 16:24:59 +02:00
erwanlr
494d31215d Ref #1510 2020-07-25 16:21:03 +02:00
erwanlr
582bdea431 Adds DFs 2020-07-25 11:51:59 +02:00
erwanlr
ecf7df9c01 Ref #1510 2020-07-24 15:32:41 +02:00
erwanlr
a9760e8817 Ref #1510 2020-07-24 15:26:22 +02:00
erwanlr
b32e990dd4 Bumps version 2020-07-20 15:11:31 +02:00
erwanlr
4320d2436f Fixes #1522 2020-07-20 13:15:54 +02:00
erwanlr
cba6e74b13 Fixes #1520 2020-07-18 13:35:53 +02:00
erwanlr
981bcf5fa2 Adds Dfs 2020-07-18 13:17:37 +02:00
erwanlr
1d79bc37d3 Bumps version 2020-07-17 10:50:15 +02:00
erwanlr
2fae3336ba Removes useless statement 2020-07-16 17:53:59 +02:00
erwanlr
cfb98c5139 Ref #1518 for XMLrPC multicall 2020-07-16 17:50:43 +02:00
erwanlr
b0260327c4 Updates XMLRPC MultiCall attack to reflect use changes. Ref #1518 2020-07-16 14:56:08 +02:00
erwanlr
f65532e347 Uses an enumerator to read wordlist during pwd attack. Fixes #1518 2020-07-16 14:39:09 +02:00
erwanlr
ff574b046c Checks if the wp-login.php is available before attacking it - Fixes #1519 2020-07-16 10:22:45 +02:00
erwanlr
97c995b64c Adds additional check just in case (related to Rubocop offences fixed) 2020-07-15 20:07:47 +02:00
erwanlr
8361ec97e4 Rubocop: Adds new cops by default, fixes offences 2020-07-15 16:45:36 +02:00
erwanlr
7a0bbc0acb Updates cms_scanner dep 2020-07-15 14:24:22 +02:00
Erwan
66f5eca841 Merge pull request #1517 from wpscanteam/dependabot/bundler/rubocop-tw-0.88.0
Update rubocop requirement from ~> 0.87.0 to ~> 0.88.0
2020-07-14 09:11:47 +02:00
dependabot-preview[bot]
b53e6d1888 Update rubocop requirement from ~> 0.87.0 to ~> 0.88.0
Updates the requirements on [rubocop](https://github.com/rubocop-hq/rubocop) to permit the latest version.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.87.0...v0.88.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-14 05:38:06 +00:00
erwanlr
4b68fa8b60 Adds DFs 2020-07-11 10:19:52 +02:00
Erwan
54770c5a50 Merge pull request #1516 from wpscanteam/dependabot/bundler/rubocop-tw-0.87.0
Update rubocop requirement from ~> 0.86.0 to ~> 0.87.0
2020-07-07 09:34:54 +02:00
dependabot-preview[bot]
39fb2167f7 Update rubocop requirement from ~> 0.86.0 to ~> 0.87.0
Updates the requirements on [rubocop](https://github.com/rubocop-hq/rubocop) to permit the latest version.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.86.0...v0.87.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 06:44:44 +00:00
Erwan
c33fef9c98 Merge pull request #1515 from wpscanteam/dependabot/bundler/rubocop-performance-tw-1.7.0
Update rubocop-performance requirement from ~> 1.6.0 to ~> 1.7.0
2020-07-07 08:43:34 +02:00
dependabot-preview[bot]
08a1117edf Update rubocop-performance requirement from ~> 1.6.0 to ~> 1.7.0
Updates the requirements on [rubocop-performance](https://github.com/rubocop-hq/rubocop-performance) to permit the latest version.
- [Release notes](https://github.com/rubocop-hq/rubocop-performance/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop-performance/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop-performance/compare/v1.6.0...v1.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 05:40:52 +00:00
erwanlr
e14cbed56e Adds DF 2020-07-04 11:27:49 +02:00
erwanlr
56e2ab16cc Adds DFs 2020-06-27 11:39:00 +02:00
erwanlr
d76d4b70f5 Updates rubocop & fixes offences 2020-06-23 20:30:48 +02:00
erwanlr
e223936a81 Adds Dfs 2020-06-20 12:00:20 +02:00
Christian Mehlmauer
60d067c421 fix docker install 2020-06-14 20:16:14 +02:00
Christian Mehlmauer
4102cf4688 fix #1487 2020-06-14 19:49:58 +02:00
erwanlr
dc977e6630 Adds missing spec files 2020-06-13 22:10:27 +02:00
erwanlr
05deabd775 Adds DF 2020-06-13 21:32:23 +02:00
260 changed files with 84186 additions and 5013 deletions

View File

@@ -1,23 +1,18 @@
require: rubocop-performance
AllCops:
NewCops: enable
TargetRubyVersion: 2.5
Exclude:
- '*.gemspec'
- 'vendor/**/*'
Layout/EmptyLinesAroundAttributeAccessor:
Enabled: true
Layout/LineLength:
Max: 120
Layout/SpaceAroundMethodCallOperator:
Enabled: true
Lint/DeprecatedOpenSSLConstant:
Enabled: true
Lint/ConstantDefinitionInBlock:
Enabled: false
Lint/MissingSuper:
Enabled: false
Lint/UriEscapeUnescape:
Enabled: false
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
Metrics/AbcSize:
Max: 25
Metrics/BlockLength:
@@ -28,27 +23,19 @@ Metrics/ClassLength:
Exclude:
- 'app/controllers/enumeration/cli_options.rb'
Metrics/CyclomaticComplexity:
Max: 8
Max: 10
Metrics/MethodLength:
Max: 20
Exclude:
- 'app/controllers/enumeration/cli_options.rb'
Metrics/PerceivedComplexity:
Max: 11
Style/ClassVars:
Enabled: false
Style/Documentation:
Enabled: false
Style/ExponentialNotation:
Enabled: true
Style/FormatStringToken:
Enabled: false
Style/HashEachMethods:
Enabled: true
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
Style/NumericPredicate:
Exclude:
- 'app/controllers/vuln_api.rb'
Style/SlicingWithRange:
Enabled: true

View File

@@ -1,16 +1,16 @@
FROM ruby:2.6.3-alpine AS builder
FROM ruby:2.7.1-alpine AS builder
LABEL maintainer="WPScan Team <team@wpscan.org>"
ARG BUNDLER_ARGS="--jobs=8 --without test development"
RUN echo "gem: --no-ri --no-rdoc" > /etc/gemrc
RUN echo "install: --no-document --no-post-install-message\nupdate: --no-document --no-post-install-message" > /etc/gemrc
COPY . /wpscan
RUN apk add --no-cache git libcurl ruby-dev libffi-dev make gcc musl-dev zlib-dev procps sqlite-dev && \
bundle install --system --clean --no-cache --gemfile=/wpscan/Gemfile $BUNDLER_ARGS && \
# temp fix for https://github.com/bundler/bundler/issues/6680
rm -rf /usr/local/bundle/cache
bundle config force_ruby_platform true && \
bundle config disable_version_check 'true' && \
bundle config without "test development" && \
bundle config path.system 'true' && \
bundle install --gemfile=/wpscan/Gemfile --jobs=8
WORKDIR /wpscan
RUN rake install --trace
@@ -19,8 +19,9 @@ RUN rake install --trace
RUN chmod -R a+r /usr/local/bundle
FROM ruby:2.6.3-alpine
FROM ruby:2.7.1-alpine
LABEL maintainer="WPScan Team <team@wpscan.org>"
LABEL org.opencontainers.image.source https://github.com/wpscanteam/wpscan
RUN adduser -h /wpscan -g WPScan -D wpscan

View File

@@ -10,7 +10,7 @@
WordPress Security Scanner
<br>
<br>
<a href="https://wpscan.org/" title="homepage" target="_blank">Homepage</a> - <a href="https://wpscan.io/" title="wpscan.io" target="_blank">WPScan.io</a> - <a href="https://wpvulndb.com/" title="vulnerability database" target="_blank">Vulnerability Database</a> - <a href="https://wordpress.org/plugins/wpscan/" title="wordpress security plugin" target="_blank">WordPress Security Plugin</a>
<a href="https://wpscan.com/" title="homepage" target="_blank">WPScan WordPress Vulnerability Database</a> - <a href="https://wordpress.org/plugins/wpscan/" title="wordpress security plugin" target="_blank">WordPress Security Plugin</a>
</p>
<p align="center">
@@ -82,7 +82,7 @@ The DB is located at ~/.wpscan/db
## Vulnerability Database
The WPScan CLI tool uses the [WPVulnDB API](https://wpvulndb.com/api) to retrieve WordPress vulnerability data in real time. For WPScan to retrieve the vulnerability data an API token must be supplied via the `--api-token` option, or via a configuration file, as discussed below. An API token can be obtained by registering an account on [WPVulnDB](https://wpvulndb.com/users/sign_up). Up to 50 API requests per day are given free of charge to registered users. Once the 50 API requests are exhausted, WPScan will continue to work as normal but without any vulnerability data. Users can upgrade to paid API usage to increase their API limits within their user profile on [WPVulnDB](https://wpvulndb.com/).
The WPScan CLI tool uses the [WPScan API](https://wpscan.com/api) to retrieve WordPress vulnerability data in real time. For WPScan to retrieve the vulnerability data an API token must be supplied via the `--api-token` option, or via a configuration file, as discussed below. An API token can be obtained by registering an account on [WPScan](https://wpscan.com/register). Up to 50 API requests per day are given free of charge to registered users. Once the 50 API requests are exhausted, WPScan will continue to work as normal but without any vulnerability data. Users can upgrade to paid API usage to increase their API limits within their user profile on [WPScan](https://wpscan.com/).
## Load CLI options from file/s

View File

@@ -23,27 +23,32 @@ module WPScan
]
end
def attack_opts
@attack_opts ||= {
show_progression: user_interaction?,
multicall_max_passwords: ParsedCli.multicall_max_passwords
}
end
def run
return unless ParsedCli.passwords
begin
found = []
if user_interaction?
output('@info',
msg: "Performing password attack on #{attacker.titleize} against #{users.size} user/s")
end
attack_opts = {
show_progression: user_interaction?,
multicall_max_passwords: ParsedCli.multicall_max_passwords
}
begin
found = []
attacker.attack(users, passwords(ParsedCli.passwords), attack_opts) do |user|
attacker.attack(users, ParsedCli.passwords, attack_opts) do |user|
found << user
attacker.progress_bar.log("[SUCCESS] - #{user.username} / #{user.password}")
end
rescue Error::NoLoginInterfaceDetected => e
# TODO: Maybe output that in JSON as well.
output('@notice', msg: e.to_s) if user_interaction?
ensure
output('users', users: found)
end
@@ -65,6 +70,8 @@ module WPScan
case ParsedCli.password_attack
when :wp_login
raise Error::NoLoginInterfaceDetected unless target.login_url
Finders::Passwords::WpLogin.new(target)
when :xmlrpc
raise Error::XMLRPCNotDetected unless xmlrpc
@@ -81,8 +88,8 @@ module WPScan
def xmlrpc_get_users_blogs_enabled?
if xmlrpc&.enabled? &&
xmlrpc.available_methods.include?('wp.getUsersBlogs') &&
xmlrpc.method_call('wp.getUsersBlogs', [SecureRandom.hex[0, 6], SecureRandom.hex[0, 4]])
.run.body !~ /XML\-RPC services are disabled/
!xmlrpc.method_call('wp.getUsersBlogs', [SecureRandom.hex[0, 6], SecureRandom.hex[0, 4]])
.run.body.match?(/>\s*405\s*</)
true
else
@@ -100,8 +107,10 @@ module WPScan
else
Finders::Passwords::XMLRPC.new(xmlrpc)
end
else
elsif target.login_url
Finders::Passwords::WpLogin.new(target)
else
raise Error::NoLoginInterfaceDetected
end
end
@@ -113,15 +122,6 @@ module WPScan
acc << Model::User.new(elem.chomp)
end
end
# @param [ String ] wordlist_path
#
# @return [ Array<String> ]
def passwords(wordlist_path)
@passwords ||= File.open(wordlist_path).reduce([]) do |acc, elem|
acc << elem.chomp
end
end
end
end
end

View File

@@ -9,7 +9,7 @@ module WPScan
def aggressive(_opts = {})
path = 'installer-log.txt'
return unless /DUPLICATOR INSTALL-LOG/.match?(target.head_and_get(path).body)
return unless /DUPLICATOR(-|\s)?(PRO|LITE)?:? INSTALL-LOG/i.match?(target.head_and_get(path).body)
Model::DuplicatorInstallerLog.new(target.url(path), confidence: 100, found_by: DIRECT_ACCESS)
end

View File

@@ -7,7 +7,7 @@ module WPScan
class MuPlugins < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def passive(_opts = {})
pattern = %r{#{target.content_dir}/mu\-plugins/}i
pattern = %r{#{target.content_dir}/mu-plugins/}i
target.in_scope_uris(target.homepage_res, '(//@href|//@src)[contains(., "mu-plugins")]') do |uri|
next unless uri.path&.match?(pattern)

View File

@@ -12,8 +12,8 @@ module WPScan
location = res.headers_hash['location']
return unless [200, 302].include?(res.code)
return if res.code == 302 && location =~ /wp-login\.php\?action=register/
return unless res.code == 200 || res.code == 302 && location =~ /wp-signup\.php/
return if res.code == 302 && location&.include?('wp-login.php?action=register')
return unless res.code == 200 || res.code == 302 && location&.include?('wp-signup.php')
target.multisite = true

View File

@@ -21,7 +21,7 @@ module WPScan
def passive_from_css_href(res, opts)
target.in_scope_uris(res, '//link/@href[contains(., "style.css")]') do |uri|
next unless uri.path =~ %r{/themes/([^\/]+)/style.css\z}i
next unless uri.path =~ %r{/themes/([^/]+)/style.css\z}i
return create_theme(Regexp.last_match[1], uri.to_s, opts)
end
@@ -33,7 +33,7 @@ module WPScan
code = tag.text.to_s
next if code.empty?
next unless code =~ %r{#{item_code_pattern('themes')}\\?/style\.css[^"'\( ]*}i
next unless code =~ %r{#{item_code_pattern('themes')}\\?/style\.css[^"'( ]*}i
return create_theme(Regexp.last_match[1], Regexp.last_match[0].strip, opts)
end

View File

@@ -13,7 +13,7 @@ module WPScan
def passive(opts = {})
found = []
slugs = items_from_links('themes', false) + items_from_codes('themes', false)
slugs = items_from_links('themes', uniq: false) + items_from_codes('themes', uniq: false)
slugs.each_with_object(Hash.new(0)) { |slug, counts| counts[slug] += 1 }.each do |slug, occurences|
found << Model::Theme.new(slug, target, opts.merge(found_by: found_by, confidence: 2 * occurences))

View File

@@ -13,7 +13,7 @@ module WPScan
def valid_credentials?(response)
response.code == 302 &&
[*response.headers['Set-Cookie']]&.any? { |cookie| cookie =~ /wordpress_logged_in_/i }
Array(response.headers['Set-Cookie'])&.any? { |cookie| cookie =~ /wordpress_logged_in_/i }
end
def errored_response?(response)

View File

@@ -12,7 +12,7 @@ module WPScan
end
def valid_credentials?(response)
response.code == 200 && response.body =~ /blogName/
response.code == 200 && response.body.include?('blogName')
end
def errored_response?(response)

View File

@@ -22,8 +22,30 @@ module WPScan
target.multi_call(methods, cache_ttl: 0).run
end
# @param [ IO ] file
# @param [ Integer ] passwords_size
# @return [ Array<String> ] The passwords from the last checked position in the file until there are
# passwords_size passwords retrieved
def passwords_from_wordlist(file, passwords_size)
pwds = []
added_pwds = 0
return pwds if passwords_size.zero?
# Make sure that the main code does not call #sysseek or #count etc
# otherwise the file descriptor will be set to somwehere else
file.each_line(chomp: true) do |line|
pwds << line
added_pwds += 1
break if added_pwds == passwords_size
end
pwds
end
# @param [ Array<Model::User> ] users
# @param [ Array<String> ] passwords
# @param [ String ] wordlist_path
# @param [ Hash ] opts
# @option opts [ Boolean ] :show_progression
# @option opts [ Integer ] :multicall_max_passwords
@@ -33,18 +55,22 @@ module WPScan
# TODO: Make rubocop happy about metrics etc
#
# rubocop:disable all
def attack(users, passwords, opts = {})
wordlist_index = 0
def attack(users, wordlist_path, opts = {})
checked_passwords = 0
wordlist = File.open(wordlist_path)
wordlist_size = wordlist.count
max_passwords = opts[:multicall_max_passwords]
current_passwords_size = passwords_size(max_passwords, users.size)
create_progress_bar(total: (passwords.size / current_passwords_size.round(1)).ceil,
create_progress_bar(total: (wordlist_size / current_passwords_size.round(1)).ceil,
show_progression: opts[:show_progression])
wordlist.sysseek(0) # reset the descriptor to the beginning of the file as it changed with #count
loop do
current_users = users.select { |user| user.password.nil? }
current_passwords = passwords[wordlist_index, current_passwords_size]
wordlist_index += current_passwords_size
current_passwords = passwords_from_wordlist(wordlist, current_passwords_size)
checked_passwords += current_passwords_size
break if current_users.empty? || current_passwords.nil? || current_passwords.empty?
@@ -77,7 +103,7 @@ module WPScan
end
begin
progress_bar.total = progress_bar.progress + ((passwords.size - wordlist_index) / current_passwords_size.round(1)).ceil
progress_bar.total = progress_bar.progress + ((wordlist_size - checked_passwords) / current_passwords_size.round(1)).ceil
rescue ProgressBar::InvalidProgressError
end
end

View File

@@ -48,7 +48,7 @@ module WPScan
#
# @return [ String, nil ] The version number detected from the stable tag
def from_stable_tag(body)
return unless body =~ /\b(?:stable tag|version):\s*(?!trunk)([0-9a-z\.-]+)/i
return unless body =~ /\b(?:stable tag|version):\s*(?!trunk)([0-9a-z.-]+)/i
number = Regexp.last_match[1]
@@ -59,7 +59,7 @@ module WPScan
#
# @return [ String, nil ] The best version number detected from the changelog section
def from_changelog_section(body)
extracted_versions = body.scan(%r{[=]+\s+(?:v(?:ersion)?\s*)?([0-9\.-]+)[ \ta-z0-9\(\)\.\-\/]*[=]+}i)
extracted_versions = body.scan(%r{=+\s+(?:v(?:ersion)?\s*)?([0-9.-]+)[ \ta-z0-9().\-/]*=+}i)
return if extracted_versions.nil? || extracted_versions.empty?

View File

@@ -30,7 +30,7 @@ module WPScan
# @return [ Version ]
def style_version
return unless Browser.get(target.style_url).body =~ /Version:[\t ]*(?!trunk)([0-9a-z\.-]+)/i
return unless Browser.get(target.style_url).body =~ /Version:[\t ]*(?!trunk)([0-9a-z.-]+)/i
Model::Version.new(
Regexp.last_match[1],

View File

@@ -6,7 +6,8 @@ require_relative 'users/oembed_api'
require_relative 'users/rss_generator'
require_relative 'users/author_id_brute_forcing'
require_relative 'users/login_error_messages'
require_relative 'users/yoast_seo_author_sitemap.rb'
require_relative 'users/author_sitemap'
require_relative 'users/yoast_seo_author_sitemap'
module WPScan
module Finders
@@ -22,6 +23,7 @@ module WPScan
Users::WpJsonApi.new(target) <<
Users::OembedApi.new(target) <<
Users::RSSGenerator.new(target) <<
Users::AuthorSitemap.new(target) <<
Users::YoastSeoAuthorSitemap.new(target) <<
Users::AuthorIdBruteForcing.new(target) <<
Users::LoginErrorMessages.new(target)

View File

@@ -0,0 +1,36 @@
# frozen_string_literal: true
module WPScan
module Finders
module Users
# Since WP 5.5, /wp-sitemap-users-1.xml is generated and contains
# the usernames of accounts who made a post
class AuthorSitemap < CMSScanner::Finders::Finder
# @param [ Hash ] opts
#
# @return [ Array<User> ]
def aggressive(_opts = {})
found = []
Browser.get(sitemap_url).html.xpath('//url/loc').each do |user_tag|
username = user_tag.text.to_s[%r{/author/([^/]+)/}, 1]
next unless username && !username.strip.empty?
found << Model::User.new(username,
found_by: found_by,
confidence: 100,
interesting_entries: [sitemap_url])
end
found
end
# @return [ String ] The URL of the sitemap
def sitemap_url
@sitemap_url ||= target.url('wp-sitemap-users-1.xml')
end
end
end
end
end

View File

@@ -37,7 +37,7 @@ module WPScan
# usernames from the potential Users found
unames = opts[:found].map(&:username)
[*opts[:list]].each { |uname| unames << uname.chomp }
Array(opts[:list]).each { |uname| unames << uname.chomp }
unames.uniq
end

View File

@@ -13,7 +13,7 @@ module WPScan
urls.each do |url|
res = Browser.get_and_follow_location(url)
next unless res.code == 200 && res.body =~ /<dc\:creator>/i
next unless res.code == 200 && res.body =~ /<dc:creator>/i
potential_usernames = []

View File

@@ -5,27 +5,7 @@ module WPScan
module Users
# The YOAST SEO plugin has an author-sitemap.xml which can leak usernames
# See https://github.com/wpscanteam/wpscan/issues/1228
class YoastSeoAuthorSitemap < CMSScanner::Finders::Finder
# @param [ Hash ] opts
#
# @return [ Array<User> ]
def aggressive(_opts = {})
found = []
Browser.get(sitemap_url).html.xpath('//url/loc').each do |user_tag|
username = user_tag.text.to_s[%r{/author/([^\/]+)/}, 1]
next unless username && !username.strip.empty?
found << Model::User.new(username,
found_by: found_by,
confidence: 100,
interesting_entries: [sitemap_url])
end
found
end
class YoastSeoAuthorSitemap < AuthorSitemap
# @return [ String ] The URL of the author-sitemap
def sitemap_url
@sitemap_url ||= target.url('author-sitemap.xml')

View File

@@ -9,7 +9,7 @@ module WPScan
# @param [ Boolean ] uniq Wether or not to apply the #uniq on the results
#
# @return [ Array<String> ] The plugins/themes detected in the href, src attributes of the page
def items_from_links(type, uniq = true)
def items_from_links(type, uniq: true)
found = []
xpath = format(
'(//@href|//@src|//@data-src)[contains(., "%s")]',
@@ -31,7 +31,7 @@ module WPScan
# @param [ Boolean ] uniq Wether or not to apply the #uniq on the results
#
# @return [Array<String> ] The plugins/themes detected in the javascript/style of the homepage
def items_from_codes(type, uniq = true)
def items_from_codes(type, uniq: true)
found = []
page_res.html.xpath('//script[not(@src)]|//style[not(@src)]').each do |tag|
@@ -55,7 +55,7 @@ module WPScan
#
# @return [ Regexp ]
def item_code_pattern(type)
@item_code_pattern ||= %r{["'\( ]#{item_url_pattern(type)}([^\\\/\)"']+)}i
@item_code_pattern ||= %r{["'( ]#{item_url_pattern(type)}([^\\/)"']+)}i
end
# @param [ String ] type
@@ -66,9 +66,9 @@ module WPScan
item_url = type == 'plugins' ? target.plugins_url : target.content_url
url = /#{item_url.gsub(/\A(?:https?)/i, 'https?').gsub('/', '\\\\\?\/')}/i
item_dir = %r{(?:#{url}|\\?\/#{item_dir.gsub('/', '\\\\\?\/')}\\?/)}i
item_dir = %r{(?:#{url}|\\?/#{item_dir.gsub('/', '\\\\\?\/')}\\?/)}i
type == 'plugins' ? item_dir : %r{#{item_dir}#{type}\\?\/}i
type == 'plugins' ? item_dir : %r{#{item_dir}#{type}\\?/}i
end
end
end

View File

@@ -7,10 +7,11 @@ module WPScan
include References
end
#
# Some classes are empty for the #type to be correctly displayed (as taken from the self.class from the parent)
#
class BackupDB < InterestingFinding
def to_s
@to_s ||= "A backup directory has been found: #{url}"
end
# @return [ Hash ]
def references
@references ||= { url: ['https://github.com/wpscanteam/wpscan/issues/422'] }
@@ -18,6 +19,10 @@ module WPScan
end
class DebugLog < InterestingFinding
def to_s
@to_s ||= "Debug Log found: #{url}"
end
# @ return [ Hash ]
def references
@references ||= { url: ['https://codex.wordpress.org/Debugging_in_WordPress'] }
@@ -40,6 +45,10 @@ module WPScan
end
class FullPathDisclosure < InterestingFinding
def to_s
@to_s ||= "Full Path Disclosure found: #{url}"
end
# @return [ Hash ]
def references
@references ||= { url: ['https://www.owasp.org/index.php/Full_Path_Disclosure'] }
@@ -71,6 +80,9 @@ module WPScan
end
class Readme < InterestingFinding
def to_s
@to_s ||= "WordPress readme found: #{url}"
end
end
class Registration < InterestingFinding
@@ -81,6 +93,10 @@ module WPScan
end
class TmmDbMigrate < InterestingFinding
def to_s
@to_s ||= "ThemeMakers migration file found: #{url}"
end
# @return [ Hash ]
def references
@references ||= { packetstorm: [131_957] }
@@ -95,6 +111,9 @@ module WPScan
end
class UploadSQLDump < InterestingFinding
def to_s
@to_s ||= "SQL Dump found: #{url}"
end
end
class WPCron < InterestingFinding

View File

@@ -38,7 +38,7 @@ module WPScan
# @return [ Array<String> ]
def potential_readme_filenames
@potential_readme_filenames ||= [*(DB::DynamicFinders::Plugin.df_data.dig(slug, 'Readme', 'path') || super)]
@potential_readme_filenames ||= Array((DB::DynamicFinders::Plugin.df_data.dig(slug, 'Readme', 'path') || super))
end
end
end

View File

@@ -45,7 +45,7 @@ module WPScan
# @return [ Theme ]
def parent_theme
return unless template
return unless style_body =~ /^@import\surl\(["']?([^"'\)]+)["']?\);\s*$/i
return unless style_body =~ /^@import\surl\(["']?([^"')]+)["']?\);\s*$/i
opts = detection_opts.merge(
style_url: url(Regexp.last_match[1]),
@@ -101,7 +101,7 @@ module WPScan
#
# @return [ String ]
def parse_style_tag(body, tag)
value = body[/#{Regexp.escape(tag)}:[\t ]*([^\r\n\*]+)/i, 1]
value = body[/\b#{Regexp.escape(tag)}:[\t ]*([^\r\n*]+)/, 1]
value && !value.strip.empty? ? value.strip : nil
end

View File

@@ -39,7 +39,7 @@ module WPScan
@vulnerabilities = []
[*db_data['vulnerabilities']].each do |json_vuln|
Array(db_data['vulnerabilities']).each do |json_vuln|
vulnerability = Vulnerability.load_from_json(json_vuln)
@vulnerabilities << vulnerability if vulnerable_to?(vulnerability)
end

View File

@@ -53,7 +53,7 @@ module WPScan
@vulnerabilities = []
[*db_data['vulnerabilities']].each do |json_vuln|
Array(db_data['vulnerabilities']).each do |json_vuln|
@vulnerabilities << Vulnerability.load_from_json(json_vuln)
end

View File

@@ -9,5 +9,5 @@
<% end -%>
<% else -%>
<%= warning_icon %> No WPVulnDB API Token given, as a result vulnerability data has not been output.
<%= warning_icon %> You can get a free API token with 50 daily requests by registering at https://wpvulndb.com/users/sign_up
<%= warning_icon %> You can get a free API token with 50 daily requests by registering at https://wpscan.com/register
<% end -%>

View File

@@ -8,6 +8,6 @@
"requests_remaining": <%= @status['requests_remaining'].to_json %>
<% end -%>
<% else -%>
"error": "No WPVulnDB API Token given, as a result vulnerability data has not been output.\nYou can get a free API token with 50 daily requests by registering at https://wpvulndb.com/users/sign_up"
"error": "No WPVulnDB API Token given, as a result vulnerability data has not been output.\nYou can get a free API token with 50 daily requests by registering at https://wpscan.com/register"
<% end -%>
},

View File

@@ -31,7 +31,7 @@ module WPScan
finder_configs(
finder_class,
Regexp.last_match[1] == 'aggressive'
aggressive: Regexp.last_match[1] == 'aggressive'
)
end

View File

@@ -16,7 +16,7 @@ module WPScan
# @param [ Symbol ] finder_class
# @param [ Boolean ] aggressive
# @return [ Hash ]
def self.finder_configs(finder_class, aggressive = false)
def self.finder_configs(finder_class, aggressive: false)
configs = {}
return configs unless allowed_classes.include?(finder_class)

View File

@@ -24,7 +24,7 @@ module WPScan
# @param [ Symbol ] finder_class
# @param [ Boolean ] aggressive
# @return [ Hash ]
def self.finder_configs(finder_class, aggressive = false)
def self.finder_configs(finder_class, aggressive: false)
configs = {}
return configs unless allowed_classes.include?(finder_class)

View File

@@ -12,7 +12,7 @@ module WPScan
# @return [ Addressable::URI ]
def self.uri
@uri ||= Addressable::URI.parse('https://wpvulndb.com/api/v3/')
@uri ||= Addressable::URI.parse('https://wpscan.com/api/v3/')
end
# @param [ String ] path

View File

@@ -29,5 +29,11 @@ module WPScan
' use the --scope option or make sure the --url value given is the correct one'
end
end
class NoLoginInterfaceDetected < Standard
def to_s
'Could not find a login interface to perform the password attack against'
end
end
end
end

View File

@@ -56,9 +56,7 @@ module WPScan
homepage_result = find(target.homepage_res, opts)
if homepage_result
return homepage_result unless homepage_result.is_a?(Array) && homepage_result.empty?
end
return homepage_result unless homepage_result.nil? || homepage_result.is_a?(Array) && homepage_result&.empty?
find(target.error_404_res, opts)
end

View File

@@ -11,7 +11,7 @@ module WPScan
def self.child_class_constants
@child_class_constants ||= super.merge(
PARSER: nil, KEY: nil, PATTERN: /(?<v>\d+\.[\.\d]+)/, CONFIDENCE: 70
PARSER: nil, KEY: nil, PATTERN: /(?<v>\d+\.[.\d]+)/, CONFIDENCE: 70
)
end

View File

@@ -9,7 +9,7 @@ module WPScan
# @return [ Hash ]
def self.child_class_constants
@child_class_constants ||= super().merge(
XPATH: nil, FILES: nil, PATTERN: /(?:v|ver|version)\=(?<v>\d+\.[\.\d]+)/i, CONFIDENCE_PER_OCCURENCE: 10
XPATH: nil, FILES: nil, PATTERN: /(?:v|ver|version)=(?<v>\d+\.[.\d]+)/i, CONFIDENCE_PER_OCCURENCE: 10
)
end

View File

@@ -9,7 +9,7 @@ module WPScan
# @return [ Hash ]
def self.child_class_constants
@child_class_constants ||= super().merge(
XPATH: nil, PATTERN: /\A(?<v>\d+\.[\.\d]+)/, CONFIDENCE: 60
XPATH: nil, PATTERN: /\A(?<v>\d+\.[.\d]+)/, CONFIDENCE: 60
)
end

View File

@@ -33,7 +33,7 @@ module WPScan
# @return [ Hash ]
def self.child_class_constants
@child_class_constants ||= super().merge(PATTERN: /ver\=(?<v>\d+\.[\.\d]+)/i)
@child_class_constants ||= super().merge(PATTERN: /ver=(?<v>\d+\.[.\d]+)/i)
end
end

View File

@@ -13,7 +13,7 @@ end
#
# @return [ Symbol ]
def classify_slug(slug)
classified = slug.to_s.gsub(/[^a-z\d\-]/i, '-').gsub(/\-{1,}/, '_').camelize.to_s
classified = slug.to_s.gsub(/[^a-z\d\-]/i, '-').gsub(/-{1,}/, '_').camelize.to_s
classified = "D_#{classified}" if /\d/.match?(classified[0])
classified.to_sym

View File

@@ -27,7 +27,7 @@ module WPScan
end
def wpvulndb_url(id)
"https://wpvulndb.com/vulnerabilities/#{id}"
"https://wpscan.com/vulnerabilities/#{id}"
end
end
end

View File

@@ -19,13 +19,13 @@ module WPScan
# @return [ Boolean ]
def vulnerable?
[@wp_version, @main_theme, @plugins, @themes, @timthumbs].each do |e|
[*e].each { |ae| return true if ae && ae.vulnerable? } # rubocop:disable Style/SafeNavigation
Array(e).each { |ae| return true if ae && ae.vulnerable? } # rubocop:disable Style/SafeNavigation
end
return true unless [*@config_backups].empty?
return true unless [*@db_exports].empty?
return true unless Array(@config_backups).empty?
return true unless Array(@db_exports).empty?
[*@users].each { |u| return true if u.password }
Array(@users).each { |u| return true if u.password }
false
end

View File

@@ -11,9 +11,9 @@ module WPScan
module WordPress
include CMSScanner::Target::Platform::PHP
WORDPRESS_PATTERN = %r{/(?:(?:wp-content/(?:themes|(?:mu\-)?plugins|uploads))|wp-includes)/}i.freeze
WP_JSON_OEMBED_PATTERN = %r{/wp\-json/oembed/}i.freeze
WP_ADMIN_AJAX_PATTERN = %r{\\?/wp\-admin\\?/admin\-ajax\.php}i.freeze
WORDPRESS_PATTERN = %r{/(?:(?:wp-content/(?:themes|(?:mu-)?plugins|uploads))|wp-includes)/}i.freeze
WP_JSON_OEMBED_PATTERN = %r{/wp-json/oembed/}i.freeze
WP_ADMIN_AJAX_PATTERN = %r{\\?/wp-admin\\?/admin-ajax\.php}i.freeze
# These methods are used in the associated interesting_findings finders
# to keep the boolean state of the finding rather than re-check the whole thing again
@@ -139,15 +139,16 @@ module WPScan
# the first time the method is called, and the effective_url is then used
# if suitable, otherwise the default wp-login will be.
#
# @return [ String ] The URL to the login page
# @return [ String, false ] The URL to the login page or false if not detected
def login_url
return @login_url if @login_url
return @login_url unless @login_url.nil?
@login_url = url('wp-login.php')
@login_url = url('wp-login.php') # TODO: url(ParsedCli.login_uri)
res = Browser.get_and_follow_location(@login_url)
@login_url = res.effective_url if res.effective_url =~ /wp\-login\.php\z/i && in_scope?(res.effective_url)
@login_url = res.effective_url if res.effective_url =~ /wp-login\.php\z/i && in_scope?(res.effective_url)
@login_url = false if res.code == 404
@login_url
end

View File

@@ -104,7 +104,7 @@ module WPScan
return @sub_dir unless @sub_dir.nil?
# url_pattern is from CMSScanner::Target
pattern = %r{#{url_pattern}(.+?)/(?:xmlrpc\.php|wp\-includes/)}i
pattern = %r{#{url_pattern}(.+?)/(?:xmlrpc\.php|wp-includes/)}i
xpath = '(//@src|//@href|//@data-src)[contains(., "xmlrpc.php") or contains(., "wp-includes/")]'
[homepage_res, error_404_res].each do |page_res|
@@ -124,9 +124,9 @@ module WPScan
def url(path = nil)
return @uri.to_s unless path
if %r{wp\-content/plugins}i.match?(path)
if %r{wp-content/plugins}i.match?(path)
path = +path.gsub('wp-content/plugins', plugins_dir)
elsif /wp\-content/i.match?(path)
elsif /wp-content/i.match?(path)
path = +path.gsub('wp-content', content_dir)
elsif path[0] != '/' && sub_dir
path = "#{sub_dir}/#{path}"

View File

@@ -2,5 +2,5 @@
# Version
module WPScan
VERSION = '3.8.2'
VERSION = '3.8.8'
end

View File

@@ -52,9 +52,10 @@ describe WPScan::Controller::Core do
%i[apache iis nginx].each do |server|
context "when #{server}" do
let(:cli_args) { "#{super()} --server #{server}" }
let(:servers) { [:Apache, nil, :IIS, :Nginx] }
it "loads the #{server.capitalize} module and returns :#{server}" do
@stubbed_server = [:Apache, nil, :IIS, :Nginx].sample
@stubbed_server = servers.sample
@expected = server == :iis ? :IIS : server.to_s.camelize.to_sym
end
end

View File

@@ -1,5 +1,24 @@
# frozen_string_literal: true
XMLRPC_FAILED_BODY = '
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>405</int></value>
</member>
<member>
<name>faultString</name>
<value><string>%s</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>'
describe WPScan::Controller::PasswordAttack do
subject(:controller) { described_class.new }
let(:target_url) { 'http://ex.lo/' }
@@ -21,7 +40,7 @@ describe WPScan::Controller::PasswordAttack do
describe '#users' do
context 'when no --usernames' do
it 'calles target.users' do
it 'calls target.users' do
expect(controller.target).to receive(:users)
controller.users
end
@@ -40,10 +59,6 @@ describe WPScan::Controller::PasswordAttack do
end
end
describe '#passwords' do
xit
end
describe '#run' do
context 'when no --passwords is supplied' do
it 'does not run the attacker' do
@@ -85,20 +100,34 @@ describe WPScan::Controller::PasswordAttack do
end
context 'when wp.getUsersBlogs method listed' do
before { expect(xmlrpc).to receive(:available_methods).and_return(%w[wp.getUsersBlogs m2]) }
before do
expect(xmlrpc).to receive(:available_methods).and_return(%w[wp.getUsersBlogs m2])
stub_request(:post, xmlrpc.url).to_return(body: body)
end
context 'when wp.getUsersBlogs method disabled' do
it 'returns false' do
stub_request(:post, xmlrpc.url).to_return(body: 'XML-RPC services are disabled on this site.')
context 'when blog is in EN' do
let(:body) { format(XMLRPC_FAILED_BODY, 'XML-RPC services are disabled on this site.') }
it 'returns false' do
expect(controller.xmlrpc_get_users_blogs_enabled?).to be false
end
end
context 'when wp.getUsersBlogs method enabled' do
it 'returns true' do
stub_request(:post, xmlrpc.url).to_return(body: 'Incorrect username or password.')
context 'when blog is in FR' do
let(:body) { format(XMLRPC_FAILED_BODY, 'Les services XML-RPC sont désactivés sur ce site.') }
it 'returns false' do
expect(controller.xmlrpc_get_users_blogs_enabled?).to be false
end
end
end
context 'when wp.getUsersBlogs method enabled' do
let(:body) { 'Incorrect username or password.' }
it 'returns true' do
expect(controller.xmlrpc_get_users_blogs_enabled?).to be true
end
end
@@ -107,18 +136,37 @@ describe WPScan::Controller::PasswordAttack do
end
describe '#attacker' do
before do
allow(controller.target).to receive(:sub_dir)
controller.target.instance_variable_set(:@login_url, nil)
end
context 'when --password-attack provided' do
let(:cli_args) { "#{super()} --password-attack #{attack}" }
context 'when wp-login' do
before { stub_request(:get, controller.target.url('wp-login.php')).to_return(status: status) }
let(:attack) { 'wp-login' }
context 'when available' do
let(:status) { 200 }
it 'returns the correct object' do
expect(controller.attacker).to be_a WPScan::Finders::Passwords::WpLogin
expect(controller.attacker.target).to be_a WPScan::Target
end
end
context 'when not available (404)' do
let(:status) { 404 }
it 'raises an error' do
expect { controller.attacker }.to raise_error(WPScan::Error::NoLoginInterfaceDetected)
end
end
end
context 'when xmlrpc' do
context 'when xmlrpc not detected on target' do
before do
@@ -172,14 +220,29 @@ describe WPScan::Controller::PasswordAttack do
context 'when automatic detection' do
context 'when xmlrpc_get_users_blogs_enabled? is false' do
it 'returns the WpLogin' do
before do
expect(controller).to receive(:xmlrpc_get_users_blogs_enabled?).and_return(false)
stub_request(:get, controller.target.url('wp-login.php')).to_return(status: status)
end
context 'when wp-login available' do
let(:status) { 200 }
it 'returns the WpLogin' do
expect(controller.attacker).to be_a WPScan::Finders::Passwords::WpLogin
expect(controller.attacker.target).to be_a WPScan::Target
end
end
context 'when wp-login.php not available' do
let(:status) { 404 }
it 'raises an error' do
expect { controller.attacker }.to raise_error(WPScan::Error::NoLoginInterfaceDetected)
end
end
end
context 'when xmlrpc_get_users_blogs_enabled? is true' do
before do
expect(controller).to receive(:xmlrpc_get_users_blogs_enabled?).and_return(true)

View File

@@ -35,15 +35,47 @@ describe WPScan::Finders::InterestingFindings::DuplicatorInstallerLog do
end
context 'when the body matches' do
let(:body) { File.read(fixtures.join(filename)) }
it 'returns the InterestingFinding' do
after do
expect(finder.aggressive).to eql WPScan::Model::DuplicatorInstallerLog.new(
log_url,
confidence: 100,
found_by: described_class::DIRECT_ACCESS
)
end
context 'when old versions of the file' do
let(:body) { File.read(fixtures.join('old.txt')) }
it 'returns the InterestingFinding' do
# handled in after loop above
end
end
context 'when newest versions of the file' do
context 'when PRO format 1' do
let(:body) { File.read(fixtures.join('pro.txt')) }
it 'returns the InterestingFinding' do
# handled in after loop above
end
end
context 'when PRO format 2' do
let(:body) { File.read(fixtures.join('pro2.txt')) }
it 'returns the InterestingFinding' do
# handled in after loop above
end
end
context 'when LITE' do
let(:body) { File.read(fixtures.join('lite.txt')) }
it 'returns the InterestingFinding' do
# handled in after loop above
end
end
end
end
end
end

View File

@@ -4,7 +4,7 @@ describe WPScan::Finders::InterestingFindings::EmergencyPwdResetScript do
subject(:finder) { described_class.new(target) }
let(:target) { WPScan::Target.new(url).extend(CMSScanner::Target::Server::Apache) }
let(:url) { 'http://ex.lo/' }
let(:file_url) { url + 'emergency.php' }
let(:file_url) { "#{url}emergency.php" }
let(:fixtures) { FINDERS_FIXTURES.join('interesting_findings', 'emergency_pwd_reset_script') }
before do

View File

@@ -4,7 +4,7 @@ describe WPScan::Finders::InterestingFindings::UploadSQLDump do
subject(:finder) { described_class.new(target) }
let(:target) { WPScan::Target.new(url).extend(CMSScanner::Target::Server::Apache) }
let(:url) { 'http://ex.lo/' }
let(:dump_url) { url + 'wp-content/uploads/dump.sql' }
let(:dump_url) { "#{url}wp-content/uploads/dump.sql" }
let(:fixtures) { FINDERS_FIXTURES.join('interesting_findings', 'upload_sql_dump') }
let(:wp_content) { 'wp-content' }

View File

@@ -13,8 +13,8 @@ describe WPScan::Finders::Medias::AttachmentBruteForcing do
describe '#target_urls' do
it 'returns the expected urls' do
expect(finder.target_urls(range: (1..2))).to eql(
url + '?attachment_id=1' => 1,
url + '?attachment_id=2' => 2
"#{url}?attachment_id=1" => 1,
"#{url}?attachment_id=2" => 2
)
end
end

View File

@@ -24,11 +24,13 @@ describe WPScan::Finders::Passwords::XMLRPC do
</methodResponse>'
describe '#attack' do
let(:wordlist_path) { FINDERS_FIXTURES.join('passwords.txt').to_s }
context 'when no valid credentials' do
before do
stub_request(:post, url).to_return(status: status, body: RESPONSE_403_BODY)
finder.attack(users, %w[pwd])
finder.attack(users, wordlist_path)
end
let(:users) { %w[admin].map { |username| WPScan::Model::User.new(username) } }

View File

@@ -13,8 +13,8 @@ describe WPScan::Finders::Users::AuthorIdBruteForcing do
describe '#target_urls' do
it 'returns the correct URLs' do
expect(finder.target_urls(range: (1..2))).to eql(
url + '?author=1' => 1,
url + '?author=2' => 2
"#{url}?author=1" => 1,
"#{url}?author=2" => 2
)
end
end

View File

@@ -0,0 +1,48 @@
# frozen_string_literal: true
describe WPScan::Finders::Users::AuthorSitemap do
subject(:finder) { described_class.new(target) }
let(:target) { WPScan::Target.new(url) }
let(:url) { 'http://wp.lab/' }
let(:fixtures) { FINDERS_FIXTURES.join('users', 'author_sitemap') }
describe '#aggressive' do
before do
allow(target).to receive(:sub_dir).and_return(false)
stub_request(:get, finder.sitemap_url).to_return(body: body)
end
context 'when not an XML response' do
let(:body) { '' }
its(:aggressive) { should eql([]) }
end
context 'when an XML response' do
context 'when no usernames disclosed' do
let(:body) { File.read(fixtures.join('no_usernames.xml')) }
its(:aggressive) { should eql([]) }
end
context 'when usernames disclosed' do
let(:body) { File.read(fixtures.join('usernames.xml')) }
it 'returns the expected array of users' do
users = finder.aggressive
expect(users.size).to eql 2
expect(users.first.username).to eql 'admin'
expect(users.first.confidence).to eql 100
expect(users.first.interesting_entries).to eql ['http://wp.lab/wp-sitemap-users-1.xml']
expect(users.last.username).to eql 'author'
expect(users.last.confidence).to eql 100
expect(users.last.interesting_entries).to eql ['http://wp.lab/wp-sitemap-users-1.xml']
end
end
end
end
end

View File

@@ -8,7 +8,7 @@ describe WPScan::Finders::Users::Base do
describe '#finders' do
it 'contains the expected finders' do
expect(user.finders.map { |f| f.class.to_s.demodulize })
.to eq %w[AuthorPosts WpJsonApi OembedApi RSSGenerator YoastSeoAuthorSitemap
.to eq %w[AuthorPosts WpJsonApi OembedApi RSSGenerator AuthorSitemap YoastSeoAuthorSitemap
AuthorIdBruteForcing LoginErrorMessages]
end
end

View File

@@ -5,7 +5,7 @@ describe WPScan::Finders::WpVersion::Readme do
let(:target) { WPScan::Target.new(url).extend(CMSScanner::Target::Server::Apache) }
let(:url) { 'http://ex.lo/' }
let(:fixtures) { FINDERS_FIXTURES.join('wp_version', 'readme') }
let(:readme_url) { url + 'readme.html' }
let(:readme_url) { "#{url}readme.html" }
describe '#aggressive' do
before { stub_request(:get, readme_url).to_return(body: File.read(fixtures.join(file))) }

View File

@@ -41,6 +41,12 @@ describe WPScan::Model::Theme do
its(:style_uri) { should eql 'http://www.elegantthemes.com/gallery/divi/' }
its(:license_uri) { should eql 'http://www.gnu.org/licenses/gpl-2.0.html' }
end
context 'when no tags' do
let(:fixture) { fixtures.join('no_tags.css') }
its(:author) { should eql nil }
end
end
describe '#version' do

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,338 @@
# Copyright (C) 2020 ZealousWeb Technologies
# This file is distributed under the same license as the Abandoned Contact Form 7 plugin.
msgid ""
msgstr ""
"Project-Id-Version: Abandoned Contact Form 7 1.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/abandoned-forms-contact-form-7\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-08-17T07:23:53+02:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.4.0\n"
"X-Domain: cf7-abandoned-form\n"
#. Plugin Name of the plugin
msgid "Abandoned Contact Form 7"
msgstr ""
#. Description of the plugin
msgid "Abandoned Contact Form 7 provides an ability to track the data from Contact Form 7 even if the user does not submit the form."
msgstr ""
#. Author of the plugin
msgid "ZealousWeb Technologies"
msgstr ""
#. Author URI of the plugin
msgid "https://www.zealousweb.com"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:112
msgid "Form Data"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:113
#: inc/admin/class.cf7af.admin.action.php:508
msgid "User Email"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:114
#: inc/admin/class.cf7af.admin.action.php:515
msgid "User IP"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:115
msgid "is Enable Send Mail"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:116
msgid "Number of Send Mail"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:117
#: inc/admin/class.cf7af.admin.filter.php:227
msgid "Submitted Date"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:169
#: inc/admin/class.cf7af.admin.action.php:541
msgid "Yes"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:170
#: inc/admin/class.cf7af.admin.action.php:542
msgid "No"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:219
msgid "Abandoned Form Data"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:288
#: inc/admin/class.cf7af.admin.action.php:552
msgid "Action"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:290
msgid "To enable this button please allow mail notification from detail page"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:291
msgid "Disable"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:381
msgid "Select Forms"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:387
msgid "Export CSV"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:424
#: inc/admin/class.cf7af.admin.action.php:425
#: inc/admin/template/cf7af.notification.settings.template.php:34
msgid "Mail Notification Settings"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:433
#: inc/admin/class.cf7af.admin.action.php:434
#: inc/admin/class.cf7af.admin.action.php:549
#: inc/admin/class.cf7af.admin.filter.php:224
msgid "Send Mail"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:451
msgid "Please select form to export."
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:466
msgid "No Abandoned data Found"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:501
msgid "CF7 Form Name"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:522
msgid "Other Form Detail"
msgstr ""
#: inc/admin/class.cf7af.admin.action.php:538
msgid "Disable Mail Notification"
msgstr ""
#: inc/admin/class.cf7af.admin.filter.php:92
msgid "Abandoned Form Settings"
msgstr ""
#: inc/admin/class.cf7af.admin.filter.php:222
msgid "Abandoned User's Email"
msgstr ""
#: inc/admin/class.cf7af.admin.filter.php:223
msgid "IP Address"
msgstr ""
#: inc/admin/class.cf7af.admin.filter.php:225
msgid "Number of Emails Sent"
msgstr ""
#: inc/admin/class.cf7af.admin.filter.php:226
msgid "Fail Counter"
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:13
#: inc/admin/template/cf7af.send.mail.template.php:37
msgid "Nonce check failed."
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:26
msgid "Settings saved."
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:28
msgid "Settings are not saved."
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:36
#: inc/admin/template/cf7af.send.mail.template.php:96
msgid "Use {email} to insert the email into the mail body"
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:37
#: inc/admin/template/cf7af.send.mail.template.php:97
msgid "Use {contact_form} to insert the form name into the mail body"
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:38
#: inc/admin/template/cf7af.send.mail.template.php:98
msgid "Use {link} to insert the page contact link into the mail body"
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:61
#: inc/admin/template/cf7af.send.mail.template.php:175
msgid "Subject"
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:80
#: inc/admin/template/cf7af.send.mail.template.php:196
msgid "Email Body"
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:101
msgid "Save"
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:114
msgid "<h3>Subject</h3><p>Please enter the subject for send mail.</p>"
msgstr ""
#: inc/admin/template/cf7af.notification.settings.template.php:116
msgid "<h3>Email Body </h3><p>It's a body content of mail which reflect on sent mail.</p>"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:73
msgid "Error on Send Mail."
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:84
msgid "Send Mail Suceessfully to Abandoned User."
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:86
msgid "Mail has not send."
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:92
msgid "Send Mail to Abandoned User Entry"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:120
msgid "User Email Address (To)"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:139
msgid "From Name"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:157
msgid "From Email Address"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:212
msgid "Send"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:226
msgid "<h3>User Email Address (To)</h3><p>This is an Abandoned user&apos;s email ID which will receive the email.</p>"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:228
msgid "<h3>From Name</h3><p>This is a default &apos;Name&apos; which is get from website general settings but if you use SMTP settings then From Name used from SMTP settings page.</p>"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:230
msgid "<h3>From Email Address</h3><p>This is a default &apos;Email Address&apos; which is get from website general settings but if you use SMTP settings then From Email used from SMTP settings page.</p>"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:232
msgid "<h3>Subject</h3><p>This is the subject which is used in email.</p>"
msgstr ""
#: inc/admin/template/cf7af.send.mail.template.php:234
msgid "<h3>Email Body</h3><p>This is an email body content which are reflect on email body.</p>"
msgstr ""
#: inc/admin/template/cf7af.template.php:23
msgid "Enable Abandoned"
msgstr ""
#: inc/admin/template/cf7af.template.php:34
#: inc/admin/template/cf7af.template.php:41
msgid "Select Email Field"
msgstr ""
#: inc/admin/template/cf7af.template.php:67
msgid "<h3>Enable/Disable Abandoned</h3><p>You can enable/disable Abandoned form functionality.</p>"
msgstr ""
#: inc/admin/template/cf7af.template.php:69
msgid "<h3>Select Email Field</h3><p>Select the email field for tracking Abandoned user</p>"
msgstr ""
#: inc/class.cf7af.php:92
msgid "Support"
msgstr ""
#: inc/class.cf7af.php:94
msgid "Document"
msgstr ""
#: inc/class.cf7af.php:345
#: inc/class.cf7af.php:356
msgid "Abandoned Users"
msgstr ""
#: inc/class.cf7af.php:346
msgid "Abandoned User Detail"
msgstr ""
#: inc/class.cf7af.php:347
msgid "All Abandoned Users"
msgstr ""
#: inc/class.cf7af.php:348
msgid "Edit Abandoned User"
msgstr ""
#: inc/class.cf7af.php:349
msgid "Search Abandoned User"
msgstr ""
#: inc/class.cf7af.php:350
msgid "View Abandoned User"
msgstr ""
#: inc/class.cf7af.php:351
msgid "No Abandoned User found"
msgstr ""
#: inc/class.cf7af.php:352
msgid "No Abandoned User found in Trash"
msgstr ""
#: inc/class.cf7af.php:400
msgid "You are so close!"
msgstr ""
#: inc/class.cf7af.php:402
msgid "Hello"
msgstr ""
#: inc/class.cf7af.php:403
msgid "Contact into:"
msgstr ""
#: inc/class.cf7af.php:404
msgid "We noticed you left something behind."
msgstr ""
#: inc/class.cf7af.php:405
msgid "No need to worry, you can still visit the page from where you left accidentally."
msgstr ""
#: inc/class.cf7af.php:406
msgid "Use the following link to make submissions."
msgstr ""
#: inc/class.cf7af.php:408
msgid "Thanks!"
msgstr ""
#: inc/class.cf7af.php:424
msgid "<b>Abandoned Contact Form 7 :</b> Contact Form 7 is not active! Please install <a target=\"_blank\" href=\"https://wordpress.org/plugins/contact-form-7/\">Contact Form 7</a>."
msgstr ""

View File

@@ -0,0 +1,254 @@
# Copyright 2019
# This file is distributed under the GNU General Public License v3 or later.
msgid ""
msgstr ""
"Project-Id-Version: ACh Updates Manager v1.0.0\n"
"POT-Creation-Date: 2019-05-29 10:50+0100\n"
"PO-Revision-Date: 2019-05-29 10:50+0100\n"
"Last-Translator: Ali Chopani <Chopaniali@gmail.com>\n"
"Language-Team: A. Ch <Chopaniali@gmail.com>\n"
"Report-Msgid-Bugs-To: Ali Chopani <Chopaniali@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Textdomain-Support: yes"
"X-Generator: Poedit 2.2\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __;_e;esc_html_e;esc_html__;_x;\n"
"X-Poedit-Basepath: ../\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-Language: English\n"
"X-Poedit-Country: UNITED STATES\n"
"X-Poedit-Bookmarks: \n"
#: ACh-Updates-Manager.php:5
msgid "The ACh Updates and Notices Manager is an easy way to manage all your WordPress updates and notifications with one click! e.g. Disable all updates or notifications, Disable automatic updates, Hide errors and warnings messages, Update themes and plugins from zip file and etc."
msgstr ""
#: ACh-Updates-Manager.php:65
msgid "Thanks for installing %1$s v%2$s plugin. Click <a href="%3$s">here</a> to configure plugin settings."
msgstr ""
#: ACh-Updates-Manager.php:75
msgid "Manage"
msgstr ""
#: ACh-Updates-Manager.php:86
#: includes/acupnm-settings.php:34
#: includes/acupnm-settings.php:144
msgid "Support"
msgstr ""
#: ACh-Updates-Manager.php:87
msgid "Donate"
msgstr ""
#: ACh-Updates-Manager.php:103
#: includes/acupnm-settings.php:27
msgid "ACh Updates and Notices Manager"
msgstr ""
#: ACh-Updates-Manager.php:103
msgid "Updates Manager"
msgstr ""
#: includes/acupnm-settings.php:28
msgid "The ACh Update Manager plugin for WordPress. Manage all your WordPress updates and notifications with one click!"
msgstr ""
#: includes/acupnm-settings.php:33
msgid "Options"
msgstr ""
#: includes/acupnm-settings.php:44
msgid "&#10004; Disable all WP updates and notifs"
msgstr ""
#: includes/acupnm-settings.php:53
msgid "Disable all WordPress core, themes, plugins and translations updates and notifications."
msgstr ""
#: includes/acupnm-settings.php:57
msgid "&#10004; Hide all notices from WP dashboard"
msgstr ""
#: includes/acupnm-settings.php:66
msgid "Disable all notices from the WordPress dashboard. e.g. errors, updates, warning, rate us, license, dismissible and etc."
msgstr ""
#: includes/acupnm-settings.php:70
msgid "&#10004; Disable plugins updates and notifs"
msgstr ""
#: includes/acupnm-settings.php:79
msgid "Disable the WordPress plugins updates and notifications."
msgstr ""
#: includes/acupnm-settings.php:83
msgid "&#10004; Disable themes updates and notifs"
msgstr ""
#: includes/acupnm-settings.php:92
msgid "Disable the WordPress themes updates and notifications."
msgstr ""
#: includes/acupnm-settings.php:96
msgid "&#10004; Disable WP core update and notifs"
msgstr ""
#: includes/acupnm-settings.php:105
msgid "Disable the WordPress core update and notifications."
msgstr ""
#: includes/acupnm-settings.php:109
msgid "&#10004; Hide WordPress core update notice"
msgstr ""
#: includes/acupnm-settings.php:118
msgid "Hide WordPress core update notice from WP dashboard."
msgstr ""
#: includes/acupnm-settings.php:122
msgid "&#10004; Update theme and plugin from zip"
msgstr ""
#: includes/acupnm-settings.php:131
msgid "This feature allows you to update plugins and themes using a zip file. While upgrading, a backup copy of the old theme or plugin is first created. This allows you to install the old version in case of problems with the new version."
msgstr ""
#: includes/acupnm-settings.php:147
msgid "If you need assistance, see our help resources."
msgstr ""
#: includes/acupnm-settings.php:148
msgid "Please make a search to find help with your problem, or head over to our support forum to ask a question."
msgstr ""
#: includes/acupnm-settings.php:152
msgid "Visit my site"
msgstr ""
#: includes/acupnm-settings.php:155
msgid "Send email"
msgstr ""
#: includes/acupnm-settings.php:158
msgid "Support forum"
msgstr ""
#: includes/acupnm-settings.php:167
msgid "About us"
msgstr ""
#: includes/acupnm-settings.php:170
msgid "The ACh Updates and Notices Manager is an easy way to manage all your WordPress updates and notifications with one click!"
msgstr ""
#: includes/acupnm-settings.php:171
msgid "ACh Updates and Notices Manager was developed by <a class="achupnm-link-text" href="https://ach.li" target="_blank">A. Ch</a> and is <a class="achupnm-link-text" href="https://wordpress.org" target="_blank">available for free</a> on WordPress."
msgstr ""
#: includes/acupnm-settings.php:172
msgid "We work hard to give you an exceptional premium products and 5 star support. To show your appreciation you can buy us a coffee or simply by sharing or follow us on social media."
msgstr ""
#: includes/acupnm-settings.php:176
msgid "Buy us a coffee"
msgstr ""
#: includes/acupnm-settings.php:177
msgid "Like us"
msgstr ""
#: includes/acupnm-settings.php:178
msgid "Tweet us"
msgstr ""
#: includes/acupnm-settings.php:179
msgid "Rate us"
msgstr ""
#: includes/acupnm-settings.php:191
msgid "Save Changes"
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:41
msgid "Upgrading the plugin&#8230;"
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:42
msgid "Backing up the old version of the plugin&#8230;"
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:88
msgid "A backup zip file of the old plugin version can be downloaded <a href="%1$s">here</a>."
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:98
msgid "Moving the old version of the plugin to a new directory&#8230;"
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:114
msgid "Unable to find a new directory name to move the old version of the plugin to. No backup will be created."
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:120
msgid "Moved the old version of the plugin to a new plugin directory named %1$s. This directory should be backed up and removed from the site."
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:122
msgid "Unable to move the old version of the plugin to a new directory. No backup will be created."
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:142
msgid "A plugin backup can not be created since a destination path for the backup file could not be found."
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:167
msgid "A plugin backup can not be created as creation of the zip file failed with the following error: %1$s"
msgstr ""
#: includes/easy-update/ach-plugin-updater.php:174
msgid "Plugin Backup - %1$s - %2$s"
msgstr ""
#: includes/easy-update/ach-theme-updater.php:41
msgid "Upgrading the theme&#8230;"
msgstr ""
#: includes/easy-update/ach-theme-updater.php:42
msgid "Backing up the old version of the theme&#8230;"
msgstr ""
#: includes/easy-update/ach-theme-updater.php:60
msgid "A backup zip file of the old theme version can be downloaded <a href="%1$s">here</a>."
msgstr ""
#: includes/easy-update/ach-theme-updater.php:70
msgid "Moving the old version of the theme to a new directory&#8230;"
msgstr ""
#: includes/easy-update/ach-theme-updater.php:91
msgid "Unable to find a new directory name to move the old version of the theme to. No backup will be created."
msgstr ""
#: includes/easy-update/ach-theme-updater.php:97
msgid "Moved the old version of the theme to a new theme directory named %1$s. This directory should be backed up and removed from the site."
msgstr ""
#: includes/easy-update/ach-theme-updater.php:99
msgid "Unable to move the old version of the theme to a new directory. No backup will be created."
msgstr ""
#: includes/easy-update/ach-theme-updater.php:119
msgid "A theme backup can not be created since a destination path for the backup file could not be found."
msgstr ""
#: includes/easy-update/ach-theme-updater.php:148
msgid "A theme backup can not be created as creation of the zip file failed with the following error: %1$s"
msgstr ""
#: includes/easy-update/ach-theme-updater.php:155
msgid "Theme Backup - %1$s - %2$s"
msgstr ""

View File

@@ -0,0 +1,42 @@
# Copyright (C) 2020 Acowebs
# This file is distributed under the same license as the Product Labels For Woocommerce plugin.
msgid ""
msgstr ""
"Project-Id-Version: Product Labels For Woocommerce 1.0.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woocomerce-sales-badge\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-07-09T05:22:44+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.3.0\n"
"X-Domain: aco-product-labels-for-woocommerce\n"
#. Plugin Name of the plugin
#. Description of the plugin
msgid "Product Labels For Woocommerce"
msgstr ""
#. Author of the plugin
msgid "Acowebs"
msgstr ""
#. Author URI of the plugin
msgid "http://acowebs.com"
msgstr ""
#: includes/class-acoplw-backend.php:130
#: includes/class-acoplw-backend.php:144
msgid "Badges"
msgstr ""
#: includes/class-acoplw-backend.php:132
#: includes/class-acoplw-backend.php:145
msgid "Product Lists"
msgstr ""
#: includes/class-acoplw-backend.php:134
msgid "Settings"
msgstr ""

View File

@@ -0,0 +1,35 @@
# Copyright (C) 2020 WP White Security
# This file is distributed under the same license as the WP Activity Log Extension for Yoast SEO plugin.
msgid ""
msgstr ""
"Project-Id-Version: WP Activity Log Extension for Yoast SEO 1.0.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/activity-log-yoast-seo\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-10-01T10:55:48+01:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.4.0\n"
"X-Domain: wsal-yoast\n"
#. Plugin Name of the plugin
msgid "WP Activity Log Extension for Yoast SEO"
msgstr ""
#. Plugin URI of the plugin
msgid "https://wpactivitylog.com/extensions/"
msgstr ""
#. Description of the plugin
msgid "A WP Activity Log plugin extension"
msgstr ""
#. Author of the plugin
msgid "WP White Security"
msgstr ""
#. Author URI of the plugin
msgid "http://www.wpwhitesecurity.com/"
msgstr ""

View File

@@ -0,0 +1,29 @@
{
"name": "addonify-quick-view",
"version": "1.0.0",
"description": "Addonify WooCoomerce Quick View plugin adds functionality to have a WooCoomerce product quick view preview on a modal window.",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/addonify/addonify-quick-view.git"
},
"keywords": [
"woocommerce",
"quick",
"view",
"addonify"
],
"author": "Addonify",
"license": "ISC",
"bugs": {
"url": "https://github.com/addonify/addonify-quick-view/issues"
},
"homepage": "https://github.com/addonify/addonify-quick-view#readme",
"devDependencies": {
"gulp": "^4.0.2",
"gulp-wp-pot": "^2.4.3"
}
}

View File

@@ -0,0 +1,26 @@
{
"name": "affiliatewp-blocks",
"version": "1.0.1",
"description": "Blocks for AffiliateWP.",
"author": "Sandhills Development, LLC",
"license": "GPL-2.0-or-later",
"main": "build/index.js",
"scripts": {
"build": "wp-scripts build",
"format:js": "wp-scripts format-js",
"lint:css": "wp-scripts lint-style",
"lint:js": "wp-scripts lint-js",
"start": "wp-scripts start",
"packages-update": "wp-scripts packages-update"
},
"devDependencies": {
"@wordpress/scripts": "^7.2.0"
},
"dependencies": {
"@wordpress/icons": "^1.4.0",
"@wordpress/url": "^2.14.0",
"classnames": "^2.2.6",
"lodash": "^4.17.15",
"trailing-slash-it": "^0.3.0"
}
}

View File

@@ -0,0 +1,91 @@
# Blank WordPress Pot
# Copyright 2014 ...
# This file is distributed under the GNU General Public License v3 or later.
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: "
"Blank WordPress Pot "
"v1.0.0\n"
"POT-Creation-Date: "
"2020-07-27 14:57+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Fredrik Stigsson"
"<info@annytab.se>\n"
"Language-Team: Your Team "
"<translations@example."
"com>\n"
"Report-Msgid-Bugs-To: "
"Translator Name "
"<translations@example."
"com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/"
"plain; charset=UTF-8\n"
"Content-Transfer-"
"Encoding: 8bit\n"
"Plural-Forms: "
"nplurals=2; plural=n != "
"1;\n"
"X-Textdomain-Support: "
"yesX-Generator: Poedit "
"1.6.4\n"
"X-Poedit-SourceCharset: "
"UTF-8\n"
"X-Poedit-KeywordsList: "
"__;_e;esc_html_e;"
"esc_html_x:1,2c;"
"esc_html__;esc_attr_e;"
"esc_attr_x:1,2c;"
"esc_attr__;_ex:1,2c;"
"_nx:4c,1,2;"
"_nx_noop:4c,1,2;_x:1,2c;"
"_n:1,2;_n_noop:1,2;"
"__ngettext:1,2;"
"__ngettext_noop:1,2;_c,"
"_nc:4c,1,2\n"
"X-Poedit-Basepath: ..\n"
"Language: en_US\n"
"X-Generator: Poedit 2.4\n"
"X-Poedit-"
"SearchPath-0: .\n"
#: annytab-photoswipe.php:85
msgid "Share on Facebook"
msgstr ""
#: annytab-photoswipe.php:86
msgid "Tweet"
msgstr ""
#: annytab-photoswipe.php:87
msgid "Pin it"
msgstr ""
#: annytab-photoswipe.php:88
msgid "Download image"
msgstr ""
#: annytab-photoswipe.php:114
msgid "Close (Esc)"
msgstr ""
#: annytab-photoswipe.php:116
msgid "Share"
msgstr ""
#: annytab-photoswipe.php:118
msgid "Toggle fullscreen"
msgstr ""
#: annytab-photoswipe.php:120
msgid "Zoom in/out"
msgstr ""
#: annytab-photoswipe.php:137
msgid "Previous"
msgstr ""
#: annytab-photoswipe.php:140
msgid "Next"
msgstr ""

View File

@@ -0,0 +1,88 @@
# Copyright (C) 2020 PRESSMAN
# This file is distributed under the same license as the App Log plugin.
msgid ""
msgstr ""
"Project-Id-Version: App Log 1.1\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/app-log\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-07-29T02:35:19+00:00\n"
"PO-Revision-Date: 2020-08-07T06:01:23+00:00\n"
"X-Generator: WP-CLI 2.4.0\n"
"X-Domain: aplg\n"
#. Plugin Name of the plugin
#: admin/aplg-dashboard.php:48
#: admin/aplg-settings.php:38
msgid "App Log"
msgstr ""
#. Description of the plugin
msgid "A simple logger for debugging."
msgstr ""
#. Author of the plugin
msgid "PRESSMAN"
msgstr ""
#. Author URI of the plugin
msgid "https://www.pressman.ne.jp/"
msgstr ""
#: admin/aplg-dashboard.php:64
msgid "File will be deleted. Are you sure you want to proceed?"
msgstr ""
#: admin/aplg-dashboard.php:83
msgid "Delete"
msgstr ""
#: admin/aplg-dashboard.php:105
msgid "No logs found."
msgstr ""
#: admin/aplg-dashboard.php:117
msgid "Log File List"
msgstr ""
#: admin/aplg-dashboard.php:117
msgid "Path"
msgstr ""
#: admin/aplg-dashboard.php:152
msgid "Set path to where the application logs are stored"
msgstr ""
#: admin/aplg-dashboard.php:159
msgid "※No need to set if default path will be used. (Default Path: %s)"
msgstr ""
#: admin/aplg-dashboard.php:191
msgid "Invalid access"
msgstr ""
#: admin/aplg-dashboard.php:231
#: classes/class-aplg-logger.php:122
msgid "%s successfully deleted."
msgstr ""
#: admin/aplg-settings.php:37
#: admin/aplg-settings.php:53
msgid "App Log Settings"
msgstr ""
#: admin/aplg-settings.php:60
msgid "Log Directory"
msgstr ""
#: admin/aplg-settings.php:68
msgid "Enable/Disable Mail Log"
msgstr ""
#: classes/class-aplg-logger.php:114
#: classes/class-aplg-logger.php:127
msgid "Failed to delete log."
msgstr ""

View File

@@ -0,0 +1,316 @@
# Copyright (C) 2020 Konstantin Kröpfl
# This file is distributed under the same license as the Attachment Usage plugin.
msgid ""
msgstr ""
"Project-Id-Version: Attachment Usage 1.0.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/attachment-usage\n"
"POT-Creation-Date: 2020-07-01 17:28+0200\n"
"PO-Revision-Date: 2020-07-01 17:28+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.12\n"
"X-Domain: attachment-usage\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. Plugin Name of the plugin
msgid "Attachment Usage"
msgstr ""
#. Plugin URI of the plugin
msgid "https://wordpress.org/plugins/attachment-usage/"
msgstr ""
#. Description of the plugin
msgid ""
"This plugin shows the usage of attachments (posts, widgets, products) on the "
"website."
msgstr ""
"Dieses Plugin zeigt die Verwendung von Anhängen (Beiträge, Widgets, "
"Produkten) auf der Website an."
#. Author of the plugin
msgid "Konstantin Kröpfl"
msgstr ""
#. Author URI of the plugin
msgid "#"
msgstr ""
#: admin/class-attachment-usage-admin.php:135
#: admin/classes/attachment-list-table.php:13
#: includes/class-attachment-usage.php:214
msgid "Attachment Usages"
msgstr "Anhang-Verwendung"
#: admin/class-attachment-usage-admin.php:155
msgid "No valid Ajax request"
msgstr "keine gültige Ajax Anfrage"
#: admin/class-attachment-usage-admin.php:163
msgid "No valid Attachment Id sent"
msgstr "keine gültige Anhangs-Id übermittelt"
#: admin/classes/attachment-item-usage-db-controller.php:67
#: admin/classes/attachment-list-table.php:29
msgid "found"
msgstr "gefunden"
#: admin/classes/attachment-item-usage-db-controller.php:69
#: admin/classes/attachment-list-table.php:27
msgid "not-found"
msgstr "nicht gefunden"
#: admin/classes/fetch-button-content-helper.php:18
#: admin/js/attachment-usage-media-library-behavior.js:62
msgid "Fetch Attachment Usage"
msgstr "Anhang aktualisieren"
#: admin/classes/output_setting/attachment-output-setting-factory.php:25
msgid "(in widget)"
msgstr "(in Widget)"
#: admin/classes/output_setting/attachment-output-setting-factory.php:26
msgid "Widgets"
msgstr ""
#: admin/classes/output_setting/attachment-output-setting-factory.php:31
msgid "(in product category)"
msgstr "(in Produktkategorie)"
#: admin/classes/output_setting/attachment-output-setting-factory.php:32
msgid "Product Category"
msgstr "Produktkategorie"
#: admin/classes/output_setting/attachment-output-setting-factory.php:37
msgid "(in product gallery)"
msgstr "(in Produktgalerie)"
#: admin/classes/output_setting/attachment-output-setting-factory.php:38
msgid "Product Attachment"
msgstr "Produktanhang"
#: admin/classes/output_setting/attachment-output-setting-factory.php:43
msgid "(in product content)"
msgstr "(in Produktinhalt)"
#: admin/classes/output_setting/attachment-output-setting-factory.php:44
msgid "Product Content"
msgstr "Produktinhalt"
#: admin/classes/output_setting/attachment-output-setting-factory.php:49
msgid "(in post content)"
msgstr "(in Beitragsinhalt)"
#: admin/classes/output_setting/attachment-output-setting-factory.php:50
msgid "Post Content"
msgstr "Beitraginhalt"
#: admin/classes/output_setting/attachment-output-setting-factory.php:55
msgid "(in page content)"
msgstr "(in Seiteninhalt)"
#: admin/classes/output_setting/attachment-output-setting-factory.php:56
msgid "Page Content"
msgstr "Seiteninhalt"
#: admin/classes/output_setting/attachment-output-setting-factory.php:61
msgid "(thumbnail)"
msgstr "(Miniaturbild)"
#: admin/classes/output_setting/attachment-output-setting-factory.php:62
msgid "Post Attachment"
msgstr "Beitraganhang"
#: admin/classes/result_builder/result-builder-controller.php:36
msgid "Attachment not found"
msgstr "Anhang nicht gefunden"
#: admin/settings_page/elements/validators/email-validator.php:9
msgid "No valid Email"
msgstr "keine gültige E-Mail"
#: admin/settings_page/elements/validators/file-validator.php:9
msgid "The entered data is no valid attachment id"
msgstr "keine gültige Anhangs-Id"
#: admin/settings_page/elements/validators/number-validator.php:9
msgid "The entered data is not valid - just numbers"
msgstr "Daten sind nicht gültig - nur Zahlen"
#: admin/settings_page/elements/validators/string-validator.php:12
msgid "The entered data is not valid - just text"
msgstr "Daten sind nicht gültig - nur Text"
#: admin/settings_page/pages/attachment_usage_page/options.php:8
msgid "Attachment Usage Settings"
msgstr "Attachment Usage Einstellungen"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:15
msgid ""
"On this page you can modify the appearance and the way how the plugin does "
"the lookup. The relevant pages (media upload pages) are referred as:<br> <a "
"href=\"%1$s\" target=\"_blank\">Media Grid</a> & <a href=\"%2$s\" target="
"\"_blank\">Media List</a>"
msgstr ""
"Auf dieser Seite kann man die Erscheinung und die Art wie das Plugin nach "
"Daten sucht bearbeiten. Die relevanten Seiten (Medienübersichtsseiten) "
"werden folgendermaßen bezeichnet: <br> <a href=\"%1$s\" target=\"_blank"
"\">Medien-Grid</a> & <a href=\"%2$s\" target=\"_blank\">Medien-Liste</a>"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:25
msgid "General Settings"
msgstr "Generelle Einstellungen"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:29
msgid ""
"This section provides general settings, which impacts only the appearance of "
"the usage status."
msgstr ""
"Dieser Abschnitt bietet generelle Einstellungen, welche lediglich die "
"Erscheinungsweise des Plugins verändert."
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:38
msgid "Performance Settings"
msgstr "Performance Einstellungen"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:42
msgid ""
"This section provides settings for performance, which might have a "
"significant impact on the loading time of the media upload pages.</br> If "
"you have a rather small site (little number of pages, a few attachments) you "
"will not notice a huge difference by switching between the options."
msgstr ""
"Dieser Abschnitt bietet Performance-Einstellungen, welche sich "
"möglicherweise spürbar auf die Ladezeit der Medienbibliothek auf der \"Media "
"Upload\" Seite ausüben kann.</br>Falls eine eher kleine Website (geringe "
"Anzahl von Seiten, wenig hochgeladen Anhänge) vorhanden ist, werden die "
"Änderung kaum spürbar sein."
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:56
msgid "Display Attachment Usage Color"
msgstr "Farbanzeige für Anhang-Verwendung"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:62
msgid ""
"By enabling this option, the media grid items will have a colored border "
"depending on their usage. Red implies nothing found, whereas green shows an "
"usage"
msgstr ""
"Nach Aktivierung erhalten die Kacheln eine farbige Umrandung in Abhängigkeit "
"ihrer Verwendung. Rot steht für nicht gefunden, wohingegen Grün eine "
"Verwendung signalisiert."
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:69
msgid "Display color"
msgstr "Farbe anzeigen"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:70
msgid "Hide color"
msgstr "Farbe nicht anzeigen"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:78
msgid "Filter attachment list by usage"
msgstr "Anhänge nach Verwendung sortieren"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:84
msgid ""
"By enabling this option, the media list view will contain a sortable column, "
"which allows to sort the attachments by their usage status (found/not-"
"found). This can be helpful to get an overview about not used attachments.</"
"br> Furthermore it is important to note that by enabling this option the "
"process of saving the relevant information changes and this can lead to "
"longer loading times on the media upload pages depending on the overall "
"amount of attachments and size of the website."
msgstr ""
"Nach Aktivierung enthält die Medien-Liste eine sortierbare Spalte, welche es "
"ermöglicht Anhänge nach deren Verwendung (gefunden/nicht gefunden) zu "
"sortieren. Dies kann hilfreich sein um einen Überblick über nicht verwendete "
"Anhänge zu erhalten. </br> Zusätzlich ist es wichtig anzumerken, dass durch "
"Verwendung dieser Option sich der Prozess wie Daten in der Datenbank "
"gespeichert werden verändert und dies unter Umständen zu längeren Ladezeiten "
"auf der Medienübersichtsseite führen kann. Dies ist auch von der Anzahl der "
"Anhänge und der Größe der Website abhängig."
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:96
msgid "Make media column sortable"
msgstr "Medienspalte sortierbar machen"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:97
msgid "Do not make media column sortable"
msgstr "Medienspalte nicht sortierbar machen"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:105
msgid "Sync Attachment Usage on media upload site"
msgstr "Synchronisierung der Anhang-Verwendung auf Medienübersichtsseite"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:111
msgid ""
"By enabling this option, the attachment relevant data will be fetched as "
"soon as the media upload pages is opened. By disabling this option, a button "
"on the page will trigger the lookup process when clicked."
msgstr ""
"Nach Aktivierung werden die Verwendungen der Anhänge beim Laden der "
"Medienübersichtsseite aktualisiert. Nach Deaktivierung wird ein Button für "
"die Aktualisierung auf der Medienübersichtsseite angezeigt."
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:119
msgid "Auto-sync attachments usage on page visit"
msgstr ""
"automatische Synchronisierung der Anhänge beim Aufruf der "
"Medienübersichtsseite"
#: admin/settings_page/pages/attachment_usage_page/page_elements.php:120
msgid "Do not auto-sync attachments usage"
msgstr ""
"keine automatische Synchronisierung der Anhänge beim Aufruf der "
"Medienübersichtsseite"
#: admin/settings_page/setting-string-helper.php:8
msgid "Field \"%s\" is required"
msgstr "Feld \"%s\" ist verpflichtend"
#: admin/settings_page/setting-string-helper.php:9
msgid "Do not change value of field \"%s\""
msgstr "ändere nicht den Wert von Feld \"%s\""
#: admin/settings_page/setting-string-helper.php:19
msgid "Field is required"
msgstr "Feld ist verpflichtend"
#: admin/settings_page/setting-string-helper.php:20
msgid "Do not change value of field"
msgstr "Ändere nicht den Wert des Feldes"
#: admin/settings_page/templates/pages/menu_page.php:16
#: admin/settings_page/templates/pages/tabbed_menu_page.php:31
msgid "Fields marked with * are required"
msgstr "Felder mit einem * sind verpflichtend"
#: admin/settings_page/templates/pages/menu_page.php:19
msgid "Save Settings"
msgstr "Einstellungen speichen"
#: admin/settings_page/templates/settings/fields/file.php:7
msgid "Upload File"
msgstr "Datei hochladen"
#: admin/settings_page/templates/settings/fields/file.php:14
msgid "Remove File"
msgstr "Datei entfernen"
#: admin/settings_page/templates/settings/fields/image.php:8
msgid "Upload Image"
msgstr "Bild hochladen"
#: admin/settings_page/templates/settings/fields/image.php:11
msgid "Remove Image"
msgstr "Bild entfernen"
#: admin/js/attachment-usage-media-frame.js:19
#: admin/js/attachment-usage-media-frame.js:25
msgid "Choose Attachment"
msgstr "Anhang entfernen"

View File

@@ -0,0 +1,94 @@
# Copyright (C) 2020 AWSM Innovations
# This file is distributed under the same license as the Auto Delete Applications - Add-on for WP Job Openings plugin.
msgid ""
msgstr ""
"Project-Id-Version: Auto Delete Applications - Add-on for WP Job Openings 1.0.0\n"
"Report-Msgid-Bugs-To: https://awsm.in/support\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Awsm Innovations <hello@awsm.in>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-08-28T17:05:59+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.4.0\n"
"X-Domain: auto-delete-wp-job-openings\n"
#. Plugin Name of the plugin
#: auto-delete.php:143
msgid "Auto Delete Applications - Add-on for WP Job Openings"
msgstr ""
#. Plugin URI of the plugin
msgid "https://wpjobopenings.com/"
msgstr ""
#. Description of the plugin
msgid "This is an add-on for WP Job Openings Plugin, which will let you delete the received applications periodically."
msgstr ""
#. Author of the plugin
msgid "AWSM Innovations"
msgstr ""
#. Author URI of the plugin
msgid "https://awsm.in/"
msgstr ""
#: auto-delete.php:110
msgid "Activate"
msgstr ""
#: auto-delete.php:120
msgid "Install"
msgstr ""
#: auto-delete.php:127
msgid "Update"
msgstr ""
#. translators: %1$s: main plugin, %2$s: current plugin, %3$s: plugin activation link, %4$s: line break
#: auto-delete.php:146
msgid "The plugin %2$s needs the plugin %1$s active. %4$s Please %3$s %1$s"
msgstr ""
#. translators: %1$s: main plugin, %2$s: current plugin, %3$s: minimum required version of the main plugin, %4$s: plugin updation link
#: auto-delete.php:149
msgid "%2$s plugin requires %1$s version %3$s. Please %4$s %1$s plugin to the latest version."
msgstr ""
#: auto-delete.php:165
msgid "Auto delete applications "
msgstr ""
#: auto-delete.php:168
msgid "CAUTION: Checking this option will delete applications after the selected period from the date of application. (For example, if you configure the option for 6 months, all the applications you have received before 6 months will be deleted immediately and every application that completes 6 months will be deleted from next day onwards automatically)."
msgstr ""
#: inc/remove-applications.php:5
msgid "Day(s)"
msgstr ""
#: inc/remove-applications.php:6
msgid "Month(s)"
msgstr ""
#: inc/remove-applications.php:7
msgid "Year(s)"
msgstr ""
#: inc/remove-applications.php:15
msgid "Enable auto delete applications"
msgstr ""
#: inc/remove-applications.php:23
msgid "After"
msgstr ""
#: inc/remove-applications.php:46
msgid "Enable force delete"
msgstr ""
#: inc/remove-applications.php:48
msgid "Whether to force delete applications or move it to trash."
msgstr ""

View File

@@ -0,0 +1,7 @@
# Changelog
## 1.1
- Fix: Resolve conflict with BadgeOS Community add-on
## 1.0
- Initial

View File

@@ -0,0 +1,9 @@
# Changelog
## 1.0
- Initial

View File

@@ -0,0 +1,24 @@
# Changelog
## 1.3
- New: Removed OB features
## 1.2
- New: Added option to allow only embed or social share on front-end
- New: Made the popup compatible with badgeOS Congratulation add-on popup
- Fix: UI Tweaks
## 1.1
- New: Option to display social sharing popup on badge award
- New: Option to display social sharing option with BadgeOS earned achievement shortcode
- New: Option to share badges to social media from front-end
- Fix: Fixed email image issue
- Fix: string translation issues in email
## 1.0
- Initial

View File

@@ -0,0 +1,3 @@
# Changelog
## 1.0
- Initial

View File

@@ -0,0 +1,25 @@
# Change Log
## [2.0.1] - 2020-09-03 ##
### Fixed
- keywords taxonomy's edit capability
## [2.0.0] - 2020-08-20
First public release.
### Fixed
- refactored complete 1.0 code set
### Added
- block settings menu item to add selected blocks to a new block pattern
- category taxonomy
- keyword taxonomy
- viewport width setting
- limit pattern building to administrators
- admin capabilities
- made translatable
- Dutch translation
## [1.0.x] - 2020-07-10
Private releases

View File

@@ -0,0 +1,179 @@
# Copyright (C) 2020 Bluehost
# This file is distributed under the GPL V2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Bluehost Site Migrator 1.0\n"
"Report-Msgid-Bugs-To: "
"https://wordpress.org/support/plugin/bluehost-site-migrator\n"
"POT-Creation-Date: 2020-06-24 20:12:32+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2020-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"X-Generator: wp-vue-i18n 1.1.4\n"
#. Plugin Name of the plugin/theme
msgid "Bluehost Site Migrator"
msgstr ""
#: includes/class-admin-page.php:14
msgid "Site Migrator"
msgstr ""
#: includes/class-rest-can-we-migrate-controller.php:66
#: includes/class-rest-manifest-controller.php:146
#: includes/class-rest-migration-id-controller.php:59
#: includes/class-rest-migration-package-controller.php:194
msgid "Sorry, you are not allowed to access this endpoint."
msgstr ""
#: includes/class-rest-manifest-controller.php:126
msgid "An error occured when delivering the migration payload."
msgstr ""
#: source/components/PageCheckCompatibility.vue:5
msgid "Let's get this truck rolling:"
msgstr ""
#: source/components/PageCheckCompatibility.vue:7
msgid "First we'll check to see if your website is compatible."
msgstr ""
#: source/components/PageCheckCompatibility.vue:8
msgid "If it's compatible, we'll transfer your site."
msgstr ""
#: source/components/PageCheckCompatibility.vue:9
msgid "And then send you a link for review."
msgstr ""
#: source/components/PageCheckCompatibility.vue:12
msgid "Check Compatibility"
msgstr ""
#: source/components/PageCheckCompatibility.vue:62
msgid "Checking environment..."
msgstr ""
#: source/components/PageCheckCompatibility.vue:63
msgid "Checking plugins..."
msgstr ""
#: source/components/PageCheckCompatibility.vue:64
msgid "Checking themes..."
msgstr ""
#: source/components/PageCheckCompatibility.vue:65
msgid "Checking configuration..."
msgstr ""
#: source/components/PageCompatible.vue:4
msgid "Looks like we're compatible!"
msgstr ""
#: source/components/PageCompatible.vue:5
msgid "Next, let's transfer your site."
msgstr ""
#: source/components/PageCompatible.vue:7
msgid ""
"Please wait to make changes to your website until the transfer is "
"completely done. For now, leave your DNS and domain the same as well."
msgstr ""
#: source/components/PageCompatible.vue:9
msgid "Start Transfer"
msgstr ""
#: source/components/PageComplete.vue:6
msgid "Welcome to the Bluehost family!"
msgstr ""
#: source/components/PageComplete.vue:9
msgid ""
"You've transferred your website to Bluehost. Now we just need to get it set "
"up on your Bluehost account so you can review it."
msgstr ""
#: source/components/PageComplete.vue:17
msgid "Login to Bluehost"
msgstr ""
#: source/components/PageComplete.vue:21
msgid "Don't have an account?"
msgstr ""
#: source/components/PageComplete.vue:27
msgid "Create account"
msgstr ""
#: source/components/PageError.vue:5
msgid "It looks like your site didn't transfer."
msgstr ""
#: source/components/PageError.vue:8
msgid ""
"We might have gotten disconnected, or there could be something else going "
"on. Let's figure it out."
msgstr ""
#: source/components/PageError.vue:12
msgid "Call us at 888-401-4678"
msgstr ""
#: source/components/PageError.vue:15
msgid "Try Again"
msgstr ""
#: source/components/PageIncompatible.vue:7
msgid "That didn't work:"
msgstr ""
#: source/components/PageIncompatible.vue:8
msgid "Let's bring in the pros."
msgstr ""
#: source/components/PageIncompatible.vue:12
msgid ""
"This can happen if you have a multisite, alternate directory structures, or "
"certain themes or plugins. The transfer might require some extra steps, or "
"we might need to look at other options."
msgstr ""
#: source/components/PageIncompatible.vue:15
msgid "Give us a call at 888-401-4678."
msgstr ""
#: source/components/PageTransfer.vue:4
msgid "Transferring your website"
msgstr ""
#: source/components/PageTransfer.vue:8
msgid "Cancel Transfer"
msgstr ""
#: source/components/PageTransfer.vue:32
msgid "Preparing to generate package files..."
msgstr ""
#: source/components/PageTransfer.vue:63
msgid "Packaging %s..."
msgstr ""
#. Plugin URI of the plugin/theme
msgid "https://wordpress.org/plugins/bluehost-site-migrator"
msgstr ""
#. Description of the plugin/theme
msgid "Quickly and easily migrate your website to Bluehost."
msgstr ""
#. Author of the plugin/theme
msgid "Bluehost"
msgstr ""
#. Author URI of the plugin/theme
msgid "https://www.bluehost.com/"
msgstr ""

View File

@@ -0,0 +1,22 @@
{
"name": "book-block",
"version": "0.1.0",
"description": "Displays information about a book.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
"main": "build/index.js",
"scripts": {
"build": "wp-scripts build",
"format:js": "wp-scripts format-js",
"lint:css": "wp-scripts lint-style",
"lint:js": "wp-scripts lint-js",
"start": "wp-scripts start",
"packages-update": "wp-scripts packages-update"
},
"devDependencies": {
"@wordpress/scripts": "^12.1.1"
},
"dependencies": {
"classnames": "^2.2.6"
}
}

View File

@@ -0,0 +1,40 @@
# Copyright (C) 2020 Rimes Gold
msgid ""
msgstr ""
"Project-Id-Version: CF7 File Download 1.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cf7-file-download\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-07-24 11:14+0300\n"
"PO-Revision-Date: 2020-07-25 10:18+0300\n"
"X-Generator: Poedit 1.8.7.1\n"
"X-Domain: cf-file-download\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en\n"
#: classes/class-cf7-file-download.php:34
#: classes/class-cf7-file-download.php:35
msgid "CF7 File Download"
msgstr ""
#: classes/class-cf7-file-download.php:53
msgid "File Download Settings"
msgstr ""
#: classes/class-cf7-file-download.php:59
msgid "Download Settings"
msgstr ""
#: classes/class-cf7-file-download.php:78
msgid "Contact Form ID"
msgstr ""
#: classes/class-cf7-file-download.php:87
msgid "Attachment URL"
msgstr ""
#: classes/class-cf7-file-download.php:95
msgid "Downloaded File Name"
msgstr ""

View File

@@ -0,0 +1,685 @@
# Copyright (C) 2020 Frankspress
# This file is distributed under the GPLv2 or later.
msgid ""
msgstr ""
"Project-Id-Version: chatster 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: yyyy-mm-dd hh:mm+0000\n"
"PO-Revision-Date: 2020-07-18 14:46-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
"X-Generator: Eazy Po 0.9.5.3\n"
#: includes/api/class.request-all.php:207
msgid "Testing Chatster! Your email setup works! "
msgstr ""
#: includes/api/class.request-all.php:209
msgid "Mock request message.. Customer original message will be shown here!"
msgstr ""
#: includes/api/class.request-all.php:210
msgid "This is a test email sent by"
msgstr ""
#: includes/api/class.request-all.php:211
msgid "The plugin is working. For more testing, please read the documentation."
msgstr ""
#: includes/api/class.request-all.php:212
msgid "Test your website link here: "
msgstr ""
#: includes/api/class.request-all.php:213
msgid "Thank you."
msgstr ""
#: includes/core/action.global.php:17 views/admin/function.header.php:17
msgid "Settings"
msgstr ""
#: includes/core/class.add-admin-menu.php:27
msgid "Started"
msgstr ""
#: includes/core/class.add-admin-menu.php:28
msgid "more than one hour ago"
msgstr ""
#: includes/core/class.add-admin-menu.php:29
msgid "hour ago"
msgstr ""
#: includes/core/class.add-admin-menu.php:30
msgid "minutes ago"
msgstr ""
#: includes/core/class.add-admin-menu.php:31
msgid "minute ago"
msgstr ""
#: includes/core/class.add-admin-menu.php:32
msgid "just now"
msgstr ""
#: includes/core/class.add-admin-menu.php:33
msgid "Edit"
msgstr ""
#: includes/core/class.add-admin-menu.php:34
#: views/admin/function.request.php:90
msgid "Delete"
msgstr ""
#: includes/core/class.add-admin-menu.php:35
msgid "Reset settings?"
msgstr ""
#: includes/core/class.add-admin-menu.php:36
msgid "Reset All settings?"
msgstr ""
#: includes/core/class.add-admin-menu.php:37
msgid "Disconnect"
msgstr ""
#: includes/core/class.add-admin-menu.php:38
msgid "Replied by admin"
msgstr ""
#: includes/core/class.add-admin-menu.php:102
msgid "Chatster"
msgstr ""
#: includes/core/class.add-admin-menu.php:103
msgid "Online"
msgstr ""
#: includes/core/class.add-chat-public.php:118
msgid "open"
msgstr ""
#: includes/core/class.cron-manager.php:30
msgid "Once every 3 minutes"
msgstr ""
#: includes/core/class.cron-manager.php:59
msgid "New Request received on"
msgstr ""
#: includes/core/class.cron-manager.php:60
msgid "Hello"
msgstr ""
#: includes/core/class.cron-manager.php:61
msgid "You have received "
msgstr ""
#: includes/core/class.cron-manager.php:62
#, php-format
msgid "%s new request"
msgid_plural "%s new requests"
msgstr[0] ""
msgstr[1] ""
#: includes/core/class.cron-manager.php:63
msgid "on"
msgstr ""
#: includes/core/class.cron-manager.php:64
msgid "To login to your website go here:"
msgstr ""
#: includes/core/class.cron-manager.php:65
msgid "Thank you for using Chatster!"
msgstr ""
#: includes/core/class.emailer.php:27
msgid "Your original message: "
msgstr ""
#: includes/core/class.emailer.php:55
msgid "RE:"
msgstr ""
#: includes/core/class.notices.php:15
msgid "Thank you and Welcome to"
msgstr ""
#: includes/core/class.notices.php:15
msgid "Chatster!"
msgstr ""
#: includes/core/class.notices.php:17
msgid "Testing:"
msgstr ""
#: includes/core/class.notices.php:18
msgid ""
"- Please use only <b>incognito windows</b> or <b>second browser</b> to test "
"chat functionalities.<br>"
msgstr ""
#: includes/core/class.notices.php:19
msgid "- API functionality <b>must be enabled!</b><br>"
msgstr ""
#: includes/core/class.notices.php:20
msgid ""
"- Email delivery only works if you have a <b>transactional email service</b>."
"<br>"
msgstr ""
#: includes/core/class.notices.php:21
msgid ""
"- Go to <i>Settings->Request/Response->Test Functionality</i> and verify "
"email delivery."
msgstr ""
#: includes/core/class.notices.php:22
msgid "Suggestions:"
msgstr ""
#: includes/core/class.notices.php:23
msgid ""
"- For any questions or suggestions please visit the <a target=\"_blank\" "
"href=\""
msgstr ""
#: includes/options/class.add-options-bot-qa.php:32
msgid "Bot Q &amp; A"
msgstr ""
#: includes/options/class.add-options-bot-qa.php:43
msgid "Add a question or questions"
msgstr ""
#: includes/options/class.add-options-bot-qa.php:44
msgid "What are your opening hours? What time do you open?"
msgstr ""
#: includes/options/class.add-options-bot-qa.php:46
msgid ""
"The Bot will look for similarities between saved questions and user question."
msgstr ""
#: includes/options/class.add-options-bot-qa.php:55
msgid "Bot Response to the question or questions"
msgstr ""
#: includes/options/class.add-options-bot-qa.php:56
msgid "Our stores are open from 7 a.m. to 8:30 p.m."
msgstr ""
#: includes/options/class.add-options-bot-qa.php:58
msgid "This answer will be given when a similar question is asked."
msgstr ""
#: includes/options/class.add-options-bot.php:27
msgid "Hi!! How can I help you today?"
msgstr ""
#: includes/options/class.add-options-bot.php:28
msgid "If you have any other questions please feel free to ask."
msgstr ""
#: includes/options/class.add-options-bot.php:29
msgid ""
"Sorry, I couldn't find what you're looking for..\n"
" Please try again"
msgstr ""
#: includes/options/class.add-options-bot.php:79
msgid "Give your bot your favorite name."
msgstr ""
#: includes/options/class.add-options-bot.php:89
msgid "Give your bot a friendly image"
msgstr ""
#: includes/options/class.add-options-bot.php:99
msgid ""
"Bot introductory sentece used when the chat is initially displayed.\n"
" <br><span class=\"ch-field-descr-extra\">(Each "
"line break is shown as separate message)</span>"
msgstr ""
#: includes/options/class.add-options-bot.php:110
msgid ""
"The bot sentece that follows a successfull reply.\n"
" <br><span class=\"ch-field-descr-extra\">"
"(Each line break is shown as separate message)</span>"
msgstr ""
#: includes/options/class.add-options-bot.php:121
msgid ""
"When no answer is found the bot will use this sentence.\n"
" <br><span class=\"ch-field-descr-extra\">"
"(Each line break is shown as separate message)</span>"
msgstr ""
#: includes/options/class.add-options-bot.php:132
msgid ""
"BOT will search full text in both questions and answers. <br>When not "
"enabled it will only search among the saved questions."
msgstr ""
#: includes/options/class.add-options-bot.php:155
msgid "BOT settings have been reset!"
msgstr ""
#: includes/options/class.add-options-bot.php:171
#: includes/options/class.add-options-bot.php:184
#: includes/options/class.add-options-chat.php:279
#, php-format
msgid "A field text exceeds %d character"
msgid_plural "A field text exceeds %d characters"
msgstr[0] ""
msgstr[1] ""
#: includes/options/class.add-options-chat.php:24
msgid "Chat or get in touch!"
msgstr ""
#: includes/options/class.add-options-chat.php:25
msgid "Contact Us"
msgstr ""
#: includes/options/class.add-options-chat.php:47
#: includes/options/class.add-options-chat.php:48
#: includes/options/class.add-options-chat.php:49
#: includes/options/class.add-options-chat.php:50
#: includes/options/class.add-options-chat.php:51
msgid "Customers"
msgstr ""
#: includes/options/class.add-options-chat.php:57
#: includes/options/class.add-options-chat.php:58
#: includes/options/class.add-options-chat.php:59
#: includes/options/class.add-options-chat.php:60
#: includes/options/class.add-options-chat.php:66
#: includes/options/class.add-options-chat.php:67
#: includes/options/class.add-options-chat.php:68
msgid "Minutes"
msgstr ""
#: includes/options/class.add-options-chat.php:81
msgid "Small Text"
msgstr ""
#: includes/options/class.add-options-chat.php:82
msgid "Medium Text"
msgstr ""
#: includes/options/class.add-options-chat.php:83
msgid "Large Text"
msgstr ""
#: includes/options/class.add-options-chat.php:88
msgid "Left Side of the screen"
msgstr ""
#: includes/options/class.add-options-chat.php:89
msgid "Right Side of the screen"
msgstr ""
#: includes/options/class.add-options-chat.php:218
msgid ""
"Will automatically switch the current admin to offline mode when "
"\"conversation\" screen is not open.\n"
" <br/>You can choose how long before that happens."
msgstr ""
#: includes/options/class.add-options-chat.php:229
msgid ""
"Automatically disconnects conversations that have been inactive <br>for a "
"selected amount of time."
msgstr ""
#: includes/options/class.add-options-chat.php:263
msgid "Chatster Chat settings have been reset!"
msgstr ""
#: includes/options/class.add-options-chat.php:290
msgid "Wrong Hex color"
msgstr ""
#: includes/options/class.add-options-chat.php:302
msgid "Wrong Volume Setting"
msgstr ""
#: includes/options/class.add-options-request.php:39
msgid "Chatster Request Settings"
msgstr ""
#: includes/options/class.add-options-request.php:45
msgid "Test Functionality"
msgstr ""
#: includes/options/class.add-options-request.php:56
msgid "Email Header Image"
msgstr ""
#: includes/options/class.add-options-request.php:58
msgid ""
"Your response email can display an header image.<br>\n"
" Go to Media -> Library -> Add New, then copy "
"and paste the link in this field.<br>\n"
" (Optimal aspect ratio: 600 X 230 px.)"
msgstr ""
#: includes/options/class.add-options-request.php:71
msgid "Enable Reply Forward"
msgstr ""
#: includes/options/class.add-options-request.php:84
msgid "Replies will be sent to: your@email.com"
msgstr ""
#: includes/options/class.add-options-request.php:85
msgid ""
"If your WordPress website sends email from an email address you don't check "
"daily, <br>\n"
" with this option you can redirect customer "
"replies to an account of your choice.<br><br>\n"
" Customers replying your initial response email "
"sent from the <i>\"Received Messages\"</i> section <br>\n"
" and all future back and forth emails will be "
"routed to this email address instead."
msgstr ""
#: includes/options/class.add-options-request.php:98
msgid "Enable Email Alert"
msgstr ""
#: includes/options/class.add-options-request.php:110
msgid "Alerts sent to: your@email.com"
msgstr ""
#: includes/options/class.add-options-request.php:111
msgid ""
"Receive an email alert when a new request is submitted.<br>\n"
" (Wordpress will check for new requests every "
"hour.)"
msgstr ""
#: includes/options/class.add-options-request.php:122
msgid "Enter an Email Address."
msgstr ""
#: includes/options/class.add-options-request.php:124
msgid "Ex: your@email.com"
msgstr ""
#: includes/options/class.add-options-request.php:125
msgid ""
"You will receive a mock email to check functionalities.<br>\n"
" (Depending on your server and service status "
"it may take <br>\n"
" a few minutes to receive the email. Also "
"check your \"junk folder\".)"
msgstr ""
#: includes/options/class.add-options-request.php:141
msgid "Chatster Request settings have been reset!"
msgstr ""
#: includes/options/class.add-options-request.php:158
msgid "Wrong URL submitted"
msgstr ""
#: views/functions.basic-templates.php:7
msgid "support page"
msgstr ""
#: views/admin/function.chat.php:25
msgid "Your conversations will be shown here.."
msgstr ""
#: views/admin/function.chat.php:36
msgid "Current conversation will be shown here."
msgstr ""
#: views/admin/function.chat.php:45
#, php-format
msgid "There is %s customer waiting in line"
msgstr ""
#: views/admin/function.chat.php:48
#, php-format
msgid "There are %s customers waiting in line"
msgstr ""
#: views/admin/function.chat.php:60
msgid "Attach a link to a page or product."
msgstr ""
#: views/admin/function.header.php:15
msgid "Conversations"
msgstr ""
#: views/admin/function.header.php:16
msgid "Received Messages"
msgstr ""
#: views/admin/function.request.php:16
msgid "No Messages yet"
msgstr ""
#: views/admin/function.request.php:28
msgid "Show Replied Messages"
msgstr ""
#: views/admin/function.request.php:35
msgid "User Name"
msgstr ""
#: views/admin/function.request.php:36
msgid "Subject"
msgstr ""
#: views/admin/function.request.php:37
msgid "Date Received"
msgstr ""
#: views/admin/function.request.php:38
msgid "Last Replied"
msgstr ""
#: views/admin/function.request.php:39
msgid "Pinned"
msgstr ""
#: views/admin/function.request.php:42
msgid "Message Data"
msgstr ""
#: views/admin/function.request.php:70
msgid "By: "
msgstr ""
#: views/admin/function.request.php:89
msgid "Reply"
msgstr ""
#: views/admin/function.request.php:89
msgid "Show&#47;Reply"
msgstr ""
#: views/admin/function.request.php:92
msgid "asks"
msgstr ""
#: views/admin/function.request.php:97 views/public/function.front-chat.php:56
msgid "Type here your message.."
msgstr ""
#: views/admin/function.request.php:100
msgid "Send Email"
msgstr ""
#: views/admin/function.request.php:121 views/admin/function.settings.php:54
msgid "&laquo;"
msgstr ""
#: views/admin/function.request.php:122 views/admin/function.settings.php:55
msgid "&raquo;"
msgstr ""
#: views/admin/function.settings.php:16
msgid "Bot Setup"
msgstr ""
#: views/admin/function.settings.php:25
msgid "Reset Settings"
msgstr ""
#: views/admin/function.settings.php:32
msgid "Bot Q &amp; A"
msgstr ""
#: views/admin/function.settings.php:35
msgid "Q&A Was Reset Successfully!"
msgstr ""
#: views/admin/function.settings.php:36
msgid "Dismiss this notice."
msgstr ""
#: views/admin/function.settings.php:43
msgid "You didn't add any Q&A yet!"
msgstr ""
#: views/admin/function.settings.php:71
msgid "Reset Bot Q&A"
msgstr ""
#: views/admin/function.settings.php:80
msgid "Chat Configuration"
msgstr ""
#: views/admin/function.settings.php:100
msgid "Request&#47;Response"
msgstr ""
#: views/admin/function.settings.php:100
msgid "Configuration"
msgstr ""
#: views/admin/function.settings.php:116
msgid "Send Test Email"
msgstr ""
#: views/admin/function.settings.php:118
msgid "Sent Successfully!"
msgstr ""
#: views/admin/function.settings.php:119
msgid "Something went wrong."
msgstr ""
#: views/admin/function.settings.php:131
msgid "Reset All Configuration"
msgstr ""
#: views/public/function.front-chat.php:22
msgid "Customers already waiting: "
msgstr ""
#: views/public/function.front-chat.php:23
msgid "An admin will be here shortly.."
msgstr ""
#: views/public/function.front-chat.php:24
msgid "You are beign helped by "
msgstr ""
#: views/public/function.front-chat.php:25
msgid "Sorry, we are currently unavailable.. "
msgstr ""
#: views/public/function.front-chat.php:26
msgid "You are now disconnected.."
msgstr ""
#: views/public/function.front-chat.php:27
msgid "You are chatting with "
msgstr ""
#: views/public/function.front-chat.php:32
#: views/public/function.front-chat.php:100
msgid "Your message here.."
msgstr ""
#: views/public/function.front-chat.php:36
msgid "End Chat"
msgstr ""
#: views/public/function.front-chat.php:38
#: views/public/function.front-chat.php:60
msgid "Back"
msgstr ""
#: views/public/function.front-chat.php:45
msgid "Please fill out this form to get in touch!"
msgstr ""
#: views/public/function.front-chat.php:61
msgid "Sent"
msgstr ""
#: views/public/function.front-chat.php:63
msgid "Try Again"
msgstr ""
#: views/public/function.front-chat.php:64
msgid "Send"
msgstr ""
#: views/public/function.front-chat.php:72
msgid "Start Chatting now!"
msgstr ""
#: views/public/function.front-chat.php:74
msgid "Your name"
msgstr ""
#: views/public/function.front-chat.php:77
msgid "Your email"
msgstr ""
#: views/public/function.front-chat.php:80
msgid "Type here your question.."
msgstr ""
#: views/public/function.front-chat.php:84
msgid "Cancel"
msgstr ""
#: views/public/function.front-chat.php:86
msgid "Start Chatting"
msgstr ""
#: views/public/function.front-chat.php:97
msgid "Our Bot "
msgstr ""
#: views/public/function.front-chat.php:97
msgid "is here to help you."
msgstr ""
#: views/public/function.front-chat.php:104
msgid "Chat unavailable at the moment."
msgstr ""
#: views/public/function.front-chat.php:104
msgid "Live Chat"
msgstr ""
#: views/public/function.front-chat.php:105
msgid "Message Us"
msgstr ""

View File

@@ -0,0 +1,32 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.0.6] - 2020-06-29
### Added
- First release version for wordpress repository
## [0.0.5] - 2020-02-26
### Fixed
- Avoid settings link in module overview overloading other modules settings links
## [0.0.4] - 2020-01-27
### Added
- count(): Parameter must be an array or an object that implements Countable as of as of PHP 7.2
- Updating composer/installers (v1.5.0 => v1.7.0)
## [0.0.3] - 2018-04-27
### Added
- Added defined check and prefix to constants.php
- Re-Worked Failsave email
## [0.0.2] - 2018-04-27
### Added
- Disabled Failsave email
- Make sure default timezone is set
## [0.0.1] - 2018-04-13
### Added
- Started changelog

View File

@@ -0,0 +1,851 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Classic Quiz Feedback Survey 1.0.0\n"
"POT-Creation-Date: 2020-08-28 19:56+0530\n"
"PO-Revision-Date: 2020-08-28 16:22+0530\n"
"Last-Translator: \n"
"Language-Team: Amit Biswas\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.3\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;"
"_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: assets\n"
"X-Poedit-SearchPathExcluded-1: admin/js\n"
"X-Poedit-SearchPathExcluded-2: admin/css\n"
"X-Poedit-SearchPathExcluded-3: .git\n"
"X-Poedit-SearchPathExcluded-4: .gitignore\n"
#: admin/admin-scripts.php:91
msgid "Required field contains invalid entry."
msgstr ""
#: admin/admin-scripts.php:92
msgid "Required field value cannot be null."
msgstr ""
#: admin/form-handle.php:203 admin/form-handle.php:318 inc/submission.php:87
msgid "Security check unsuccessful."
msgstr ""
#: admin/form-handle.php:220 admin/form-handle.php:335
msgid "Permission Denied."
msgstr ""
#: admin/form-handle.php:255
#, php-format
msgid "[Duplicate #%s]"
msgstr ""
#: admin/form-handle.php:271
msgid "Mail successfully sent."
msgstr ""
#: admin/form-handle.php:288
msgid "Mail not send. Please try again."
msgstr ""
#: admin/form-handle.php:356 inc/roles.php:93
msgid "Cqfs Result"
msgstr ""
#: admin/form-handle.php:358 inc/roles.php:95
msgid "This page displays CQFS results. Please do not delete this page."
msgstr ""
#: admin/form-handle.php:375
msgid "Result page created successfully."
msgstr ""
#: admin/form-handle.php:390
msgid "Cannot create result page. Please refresh and check."
msgstr ""
#: admin/menu-pages.php:63
#, php-format
msgid "This email was sent from <a href=\"%s\">%s</a> &copy; %s"
msgstr ""
#: admin/menu-pages.php:82
msgid "CQFS Post Types"
msgstr ""
#: admin/menu-pages.php:83
msgid "CQFS"
msgstr ""
#: admin/menu-pages.php:98 admin/menu-pages.php:99
msgid "CQFS Settings"
msgstr ""
#: admin/menu-pages.php:118
msgid "Welcome to CQFS Settings"
msgstr ""
#: admin/menu-pages.php:127 cqfs.php:219
msgid "Classic Quiz Feedback Survey"
msgstr ""
#: admin/menu-pages.php:130
msgid ""
"This plugin is a free open source project. If this plugin is useful to "
"you, please support me and keep this alive."
msgstr ""
#: admin/menu-pages.php:135
msgid "Donate via PayPal"
msgstr ""
#: admin/menu-pages.php:140
msgid "Full Documentation"
msgstr ""
#: admin/menu-pages.php:147
msgid "Overview"
msgstr ""
#: admin/menu-pages.php:156
msgid "Getting Started"
msgstr ""
#: admin/menu-pages.php:165
msgid "CQFS shortcode"
msgstr ""
#: admin/menu-pages.php:174
msgid "Action Hooks"
msgstr ""
#: admin/menu-pages.php:183
msgid "Filter Hooks"
msgstr ""
#: admin/menu-pages.php:192
msgid "Live Demos"
msgstr ""
#: admin/menu-pages.php:198
msgid "Github Repositiroy"
msgstr ""
#: admin/menu-pages.php:203
msgid "classic quiz feedback survey"
msgstr ""
#: admin/menu-pages.php:223
msgid "Result page is missing."
msgstr ""
#: admin/menu-pages.php:233
msgid "Create Result Page"
msgstr ""
#: admin/menu-pages.php:242
msgid "Great! Result page exists."
msgstr ""
#: admin/menu-pages.php:272
msgid "Mail Settings"
msgstr ""
#: admin/menu-pages.php:283
msgid "Sender Email ID (from)"
msgstr ""
#: admin/menu-pages.php:285
msgid ""
"If not set, administrator email will be used. Try to use email id same as "
"domain."
msgstr ""
#: admin/menu-pages.php:295
msgid "Email to admin."
msgstr ""
#: admin/menu-pages.php:297
msgid ""
"Send email to admin when a form is submitted by a user. Administrator "
"email will be used."
msgstr ""
#: admin/menu-pages.php:310
msgid "Email to user."
msgstr ""
#: admin/menu-pages.php:312
msgid "Send email to the user when a form is submitted by that user."
msgstr ""
#: admin/menu-pages.php:325
msgid "Additional Notes"
msgstr ""
#: admin/menu-pages.php:327
msgid ""
"Add any additional notes in the email. It will appear above the footer. "
"HTML allowed as post."
msgstr ""
#: admin/menu-pages.php:339
msgid "Email Footer"
msgstr ""
#: admin/menu-pages.php:341
msgid "Add custom footer content for the email. HTML allowed as post."
msgstr ""
#: admin/menu-pages.php:368 admin/menu-pages.php:369
msgid "Add Question"
msgstr ""
#: admin/menu-pages.php:378 admin/menu-pages.php:379
msgid "Add Build"
msgstr ""
#: admin/menu-pages.php:388 admin/menu-pages.php:389
msgid "Add Entry"
msgstr ""
#: admin/meta-boxes/metabox-build.php:39
msgid "Build Data"
msgstr ""
#: admin/meta-boxes/metabox-build.php:49 inc/admin-columns.php:98
msgid "Shortcode"
msgstr ""
#: admin/meta-boxes/metabox-build.php:65
msgid "Build Shortcode"
msgstr ""
#: admin/meta-boxes/metabox-build.php:66
msgid "Click to select the shortcode. Then copy it."
msgstr ""
#: admin/meta-boxes/metabox-build.php:77
msgid "Enable title"
msgstr ""
#: admin/meta-boxes/metabox-build.php:78
msgid "Enable ajax"
msgstr ""
#: admin/meta-boxes/metabox-build.php:79
msgid "Enable guest"
msgstr ""
#: admin/meta-boxes/metabox-build.php:80
msgid "Enable required"
msgstr ""
#: admin/meta-boxes/metabox-build.php:81
msgid "Enable pagination"
msgstr ""
#: admin/meta-boxes/metabox-build.php:82
msgid "Custom class"
msgstr ""
#: admin/meta-boxes/metabox-build.php:83
msgid "Order"
msgstr ""
#: admin/meta-boxes/metabox-build.php:84
msgid "Orderby"
msgstr ""
#: admin/meta-boxes/metabox-build.php:87
msgid "Available attributes and example use:"
msgstr ""
#: admin/meta-boxes/metabox-build.php:100
msgid "Full documentation is here"
msgstr ""
#: admin/meta-boxes/metabox-build.php:137
msgid "Questions by Categories"
msgstr ""
#: admin/meta-boxes/metabox-build.php:138
msgid "You have selected the following categories for questions."
msgstr ""
#: admin/meta-boxes/metabox-build.php:147
msgid "No categories are selected. Please select a category."
msgstr ""
#: admin/meta-boxes/metabox-build.php:158 inc/admin-columns.php:97
msgid "Build Type"
msgstr ""
#: admin/meta-boxes/metabox-build.php:158
#: admin/meta-boxes/metabox-build.php:186
#: admin/meta-boxes/metabox-question.php:70
#: admin/meta-boxes/metabox-question.php:81
#: admin/meta-boxes/metabox-question.php:108
msgid "&#42;"
msgstr ""
#: admin/meta-boxes/metabox-build.php:159
msgid "Select a build type."
msgstr ""
#: admin/meta-boxes/metabox-build.php:165
#: admin/meta-boxes/metabox-question.php:88
msgid "Please Select..."
msgstr ""
#: admin/meta-boxes/metabox-build.php:166
msgid "Quiz"
msgstr ""
#: admin/meta-boxes/metabox-build.php:167
msgid "Feedback"
msgstr ""
#: admin/meta-boxes/metabox-build.php:168
msgid "Survey"
msgstr ""
#: admin/meta-boxes/metabox-build.php:186
msgid "Pass Percentage"
msgstr ""
#: admin/meta-boxes/metabox-build.php:187
msgid ""
"Set a percentage for pass mark. It is needed for all types as it will help "
"us to assess things better."
msgstr ""
#: admin/meta-boxes/metabox-build.php:190 inc/utilities.php:236
#: inc/utilities.php:245
msgid "&#37;"
msgstr ""
#: admin/meta-boxes/metabox-build.php:203
msgid "Pass Message (optional)"
msgstr ""
#: admin/meta-boxes/metabox-build.php:204
#: admin/meta-boxes/metabox-build.php:215
msgid "Leave empty for default."
msgstr ""
#: admin/meta-boxes/metabox-build.php:214
msgid "Fail Message (optional)"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:40
msgid "Entry Data"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:50
msgid "Edit This Entry"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:59
msgid "Entry Options"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:78
msgid "Enable"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:79
msgid "Disable"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:97 inc/utilities.php:704
msgid "View Result"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:98
msgid "Email to user"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:146 inc/admin-columns.php:159
msgid "Form ID (cqfs build)"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:147
msgid "The form ID which user have submitted."
msgstr ""
#: admin/meta-boxes/metabox-entry.php:160 inc/admin-columns.php:160
msgid "Form Type (cqfs build)"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:161
msgid "The form type which user have submitted."
msgstr ""
#: admin/meta-boxes/metabox-entry.php:173 inc/admin-columns.php:161
msgid "Result"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:174
msgid "The result."
msgstr ""
#: admin/meta-boxes/metabox-entry.php:180
msgid "Passed"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:181
msgid "Failed"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:198
msgid "Percentage"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:199
msgid "Percentage obtained."
msgstr ""
#: admin/meta-boxes/metabox-entry.php:212 inc/cpt.php:36 inc/cpt.php:38
#: inc/cpt.php:40 inc/cpt.php:57
msgid "Questions"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:213
msgid ""
"The CQFS question list for this entry. Each line break represents a "
"question."
msgstr ""
#: admin/meta-boxes/metabox-entry.php:223
#: admin/meta-boxes/metabox-question.php:70
msgid "Answers"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:224
msgid ""
"The CQFS answer list for this entry. Each line break represents an answer."
msgstr ""
#: admin/meta-boxes/metabox-entry.php:234
msgid "Status"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:235
msgid ""
"The CQFS answer status list for this entry. Each line break represents a "
"status."
msgstr ""
#: admin/meta-boxes/metabox-entry.php:245
msgid "Notes"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:246
msgid ""
"The additional notes for each question. Each line break represents a note."
msgstr ""
#: admin/meta-boxes/metabox-entry.php:256
msgid "Remarks"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:257
msgid "Pass or fail message."
msgstr ""
#: admin/meta-boxes/metabox-entry.php:267
msgid "User Email"
msgstr ""
#: admin/meta-boxes/metabox-entry.php:268
msgid "Email ID of the user who have submitted."
msgstr ""
#: admin/meta-boxes/metabox-question.php:38
msgid "Question Data"
msgstr ""
#: admin/meta-boxes/metabox-question.php:71
msgid ""
"Please use separate line for each answer. Each line will be considered as "
"1, 2, 3 ... and so on."
msgstr ""
#: admin/meta-boxes/metabox-question.php:81 inc/admin-columns.php:48
msgid "Answer Type"
msgstr ""
#: admin/meta-boxes/metabox-question.php:82
msgid ""
"If this question have more than one correct answer, select check boxes. "
"Otherwise select radio button."
msgstr ""
#: admin/meta-boxes/metabox-question.php:89
msgid "Radio Button"
msgstr ""
#: admin/meta-boxes/metabox-question.php:90
msgid "Check Boxes"
msgstr ""
#: admin/meta-boxes/metabox-question.php:108
msgid "Correct Answer"
msgstr ""
#: admin/meta-boxes/metabox-question.php:109
msgid ""
"Consider the answers (above) in each line as 1, 2, 3... and so on. Please "
"separate with comma for multiple correct answers. eg; 2,3 (no space)"
msgstr ""
#: admin/meta-boxes/metabox-question.php:118
msgid "Additional Note"
msgstr ""
#: admin/meta-boxes/metabox-question.php:119
msgid ""
"This is hidden in questionnaire and showed in the result page for build "
"type \"quiz\"."
msgstr ""
#: cqfs-templates/template-results.php:40
#: cqfs-templates/template-results.php:158
msgid "Invalid Result."
msgstr ""
#: cqfs-templates/template-results.php:59 inc/utilities.php:233
msgid "Congratulations! You have passed."
msgstr ""
#: cqfs-templates/template-results.php:61 inc/utilities.php:242
msgid "Sorry! You have failed."
msgstr ""
#: cqfs-templates/template-results.php:93 cqfs.php:251
msgid "You answered&#58; "
msgstr ""
#: cqfs-templates/template-results.php:94 cqfs.php:252
msgid "Status&#58; "
msgstr ""
#: cqfs-templates/template-results.php:95 cqfs.php:253
msgid "Note&#58; "
msgstr ""
#: cqfs-templates/template-results.php:129 cqfs.php:249 inc/utilities.php:610
msgid "Thank you for your feedback."
msgstr ""
#: cqfs-templates/template-results.php:147 cqfs.php:250
msgid "Thank you for your participation in the survey."
msgstr ""
#: cqfs-templates/template-results.php:166
msgid "Sorry, something went terribly wrong. Please try again."
msgstr ""
#: cqfs-templates/template-results.php:171
msgid "No results found."
msgstr ""
#: cqfs.php:218
#, php-format
msgid "\"%1$s\" requires \"%2$s\" version %3$s or greater."
msgstr ""
#: cqfs.php:220
msgid "PHP"
msgstr ""
#: cqfs.php:260
msgid "Invalid Result"
msgstr ""
#: inc/admin-columns.php:162
msgid "Email"
msgstr ""
#: inc/cpt.php:37
msgid "Question"
msgstr ""
#: inc/cpt.php:39
msgid "Question&#58;"
msgstr ""
#: inc/cpt.php:41
msgid "View Question"
msgstr ""
#: inc/cpt.php:42
msgid "Add New Question"
msgstr ""
#: inc/cpt.php:43 inc/cpt.php:92 inc/cpt.php:140
msgid "Add New"
msgstr ""
#: inc/cpt.php:44
msgid "Edit Question"
msgstr ""
#: inc/cpt.php:45
msgid "Update Question"
msgstr ""
#: inc/cpt.php:46
msgid "Search Question"
msgstr ""
#: inc/cpt.php:47
msgid "Question Not found"
msgstr ""
#: inc/cpt.php:48 inc/cpt.php:97 inc/cpt.php:145
msgid "Not found in Trash"
msgstr ""
#: inc/cpt.php:85 inc/cpt.php:86 inc/cpt.php:87 inc/cpt.php:89
#: inc/cpt.php:106
msgid "Build"
msgstr ""
#: inc/cpt.php:88
msgid "Build&#58;"
msgstr ""
#: inc/cpt.php:90
msgid "View Build"
msgstr ""
#: inc/cpt.php:91
msgid "Add New Build"
msgstr ""
#: inc/cpt.php:93
msgid "Edit Build"
msgstr ""
#: inc/cpt.php:94
msgid "Update Build"
msgstr ""
#: inc/cpt.php:95
msgid "Search Build"
msgstr ""
#: inc/cpt.php:96
msgid "Build Not found"
msgstr ""
#: inc/cpt.php:133 inc/cpt.php:134 inc/cpt.php:135 inc/cpt.php:154
msgid "Entry"
msgstr ""
#: inc/cpt.php:136
msgid "Entry&#58;"
msgstr ""
#: inc/cpt.php:137
msgid "Entries"
msgstr ""
#: inc/cpt.php:138
msgid "View Entry"
msgstr ""
#: inc/cpt.php:139
msgid "Add New Entry"
msgstr ""
#: inc/cpt.php:141
msgid "Edit Entry"
msgstr ""
#: inc/cpt.php:142
msgid "Update Entry"
msgstr ""
#: inc/cpt.php:143
msgid "Search Entry"
msgstr ""
#: inc/cpt.php:144
msgid "Entry Not found"
msgstr ""
#: inc/shortcode.php:77
msgid "Something went terribly wrong. Please try again."
msgstr ""
#: inc/shortcode.php:136
msgid "&#46; "
msgstr ""
#: inc/shortcode.php:201
msgid "Next"
msgstr ""
#: inc/shortcode.php:202
msgid "Prev"
msgstr ""
#: inc/shortcode.php:203
msgid "Submit"
msgstr ""
#: inc/shortcode.php:216
msgid "Processing..."
msgstr ""
#: inc/shortcode.php:217
msgid "One or more fields are required. Please check again."
msgstr ""
#: inc/submission.php:127 inc/submission.php:131
#, php-format
msgid ""
"<div class=\"cqfs-return-msg success\"><p><span class=\"cqfs-icon success-"
"icon\"></span>%s</p></div>"
msgstr ""
#: inc/submission.php:128
msgid "Login Successful."
msgstr ""
#: inc/submission.php:132 inc/utilities.php:306
msgid "You are now logged in."
msgstr ""
#: inc/submission.php:218
msgid "Correct Answer."
msgstr ""
#: inc/submission.php:218
msgid "Wrong Answer."
msgstr ""
#: inc/submission.php:231
msgid "You have skipped this question."
msgstr ""
#: inc/submission.php:238
msgid "Not Available."
msgstr ""
#: inc/submission.php:299
msgid "Guest"
msgstr ""
#: inc/utilities.php:235
#, php-format
msgid ""
"<div class=\"cqfs-pass-msg\"><p class=\"cqfs-percentage\">%s correct.</"
"p><p>%s</p></div>"
msgstr ""
#: inc/utilities.php:244
#, php-format
msgid ""
"<div class=\"cqfs-fail-msg\"><p class=\"cqfs-percentage\">%s correct.</"
"p><p class=\"cqfs-remark\">%s</p></div>"
msgstr ""
#: inc/utilities.php:315
msgid "Login and submit"
msgstr ""
#: inc/utilities.php:321
msgid "Or you may submit as a guest. Please provide the following info."
msgstr ""
#: inc/utilities.php:328
msgid "Invalid Name. Min 3, max 24 characters allowed."
msgstr ""
#: inc/utilities.php:333
msgid "Your Name &#42;"
msgstr ""
#: inc/utilities.php:335
msgid "please type your name."
msgstr ""
#: inc/utilities.php:340
msgid "Invalid Email"
msgstr ""
#: inc/utilities.php:345
msgid "Your Email &#42;"
msgstr ""
#: inc/utilities.php:347
msgid "please type email."
msgstr ""
#: inc/utilities.php:399 inc/utilities.php:468
msgid "&times;"
msgstr ""
#: inc/utilities.php:400
msgid "Please login to submit"
msgstr ""
#: inc/utilities.php:413
msgid "Secure Login"
msgstr ""
#: inc/utilities.php:415
msgid "Username or email"
msgstr ""
#: inc/utilities.php:419
msgid "Password"
msgstr ""
#: inc/utilities.php:423
msgid "Login"
msgstr ""
#: inc/utilities.php:469
msgid "Please confirm"
msgstr ""
#: inc/utilities.php:494
msgid "Send Email"
msgstr ""
#: inc/utilities.php:530
msgid "Classic quiz feedback survey"
msgstr ""
#: inc/utilities.php:601
#, php-format
msgid "Hello %s,"
msgstr ""
#: inc/utilities.php:607
msgid "Congratulations! You have passed the quiz."
msgstr ""
#: inc/utilities.php:608
msgid "Sorry! You did not passed the quiz."
msgstr ""
#: inc/utilities.php:609
msgid ""
"Thank you for participating in the quiz. Here is your result page link "
"below."
msgstr ""
#: inc/utilities.php:611
msgid "Thank you for participating in the survey."
msgstr ""

View File

@@ -0,0 +1,64 @@
# Changelog for Client Power Tools
All notable changes to this project will be documented in this file. The format
is based on [Keep a Changelog](https://keepachangelog.com).
## [Unreleased]
## [1.0.5] - 2020-10-07
### Changed
- Handle frontend login error on the front end.
- General tidying up.
### Removed
- Remove unused capabilities from Client Manager role (for now).
- Remove unused functions cpt_get_client_profile_link and cpt_get_client_id.
### Fixed
- Email notifications should now deliver with the intended formatting.
## [1.0.4] - 2020-10-05
### Fixed
- Prevent not-logged-in messages from displaying in the head when the_content filter is called (by Yoast SEO, for example).
## [1.0.3] - 2020-10-05
### Fixed
- Center the modal dismiss button.
- Fix false negatives from cpt_is_client if the user is not logged in but the user ID is provided.
- Prevent Client Power Tools from intercepting the password reset workflow for non-clients.
## [1.0.2] - 2020-10-02
### Fixed
- Fixed URL encoding.
## [1.0.1] - 2020-10-02
### Fixed
- Check for main query on client dashboard.
- Fixed set/change password key sanitization.
## [1.0.0] - 2020-10-02
### Added
- Added some frontend form styles for greater compatibility with different themes.
### Changed
- Override default button display style on dismiss button.
- Change constant prefix from CPT_ to CLIENT_POWER_TOOLS_.
- Data sanitization and validation.
## [0.1.0 (Beta)] - 2020-09-23
### Added
- Everything.

View File

@@ -0,0 +1,19 @@
{
"name": "cloudtables-wordpress",
"version": "1.0.0",
"description": "CloudTables easy integration plug-in for WordPress",
"main": "block.js",
"scripts": {
"build": "wp-scripts build",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"cloudtables",
"wordpress"
],
"author": "SpryMedia Ltd",
"license": "MIT",
"devDependencies": {
"@wordpress/scripts": "9.1.0"
}
}

View File

@@ -0,0 +1,222 @@
# Copyright (C) 2018 Arman Afzal <rman.afzal@gmail.com>
# This file is distributed under the same license as the Code Injection plugin.
msgid ""
msgstr ""
"Project-Id-Version: Code Injection 2.4.4\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/code-injection\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-07-14T13:51:32+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.4.0\n"
#. Plugin Name of the plugin
#: code-injection.php:254
#: includes/plugin-widget.php:19
msgid "Code Injection"
msgstr ""
#. Plugin URI of the plugin
msgid "https://github.com/Rmanaf/wp-code-injection"
msgstr ""
#. Description of the plugin
#: includes/plugin-widget.php:20
msgid "This plugin allows you to inject code snippets into the pages."
msgstr ""
#. Author of the plugin
msgid "Rmanaf"
msgstr ""
#. Author URI of the plugin
msgid "https://profiles.wordpress.org/rmanaf/"
msgstr ""
#: code-injection.php:280
msgid "Shortcodes"
msgstr ""
#: code-injection.php:309
msgid "Activator Keys"
msgstr ""
#: code-injection.php:359
msgid "Allow nested shortcodes"
msgstr ""
#: code-injection.php:372
msgid "Keys:"
msgstr ""
#: code-injection.php:375
msgid "Generate Key"
msgstr ""
#: code-injection.php:379
msgid "Enter Keys:"
msgstr ""
#: code-injection.php:398
msgid "Ignore activator keys"
msgstr ""
#: code-injection.php:410
msgid "Allow shortcodes in the Custom HTML widget"
msgstr ""
#: code-injection.php:422
msgid "Enable %s shortcode"
msgstr ""
#: code-injection.php:627
msgid "Developer"
msgstr ""
#: includes/code-metabox.php:42
msgid "Code Settings"
msgstr ""
#: includes/code-metabox.php:183
msgid "You can find useful codes in the CI %1$s."
msgstr ""
#: includes/code-metabox.php:187
msgid "Library"
msgstr ""
#: includes/code-metabox.php:221
msgid "Description"
msgstr ""
#: includes/code-metabox.php:223
msgid "Write something about your code..."
msgstr ""
#: includes/code-metabox.php:235
msgid "Tracking"
msgstr ""
#: includes/code-metabox.php:249
msgid "Publicly Queryable"
msgstr ""
#: includes/code-metabox.php:260
msgid "Content-Type"
msgstr ""
#: includes/code-metabox.php:291
msgid "As Plugin"
msgstr ""
#: includes/code-metabox.php:296
msgid "Activator key"
msgstr ""
#: includes/code-metabox.php:298
msgid "Enter key..."
msgstr ""
#: includes/code-metabox.php:315
msgid "From File"
msgstr ""
#: includes/code-metabox.php:317
msgid "Select File"
msgstr ""
#: includes/code-metabox.php:328
msgid "Enabled"
msgstr ""
#: includes/code-type.php:83
msgid "Show All %s"
msgstr ""
#: includes/code-type.php:152
msgid "Copy the Code ID into the Clipboard"
msgstr ""
#: includes/code-type.php:153
msgid "Copy CID"
msgstr ""
#: includes/code-type.php:296
msgid "Codes"
msgstr ""
#: includes/code-type.php:297
#: includes/code-type.php:356
msgid "Code"
msgstr ""
#: includes/code-type.php:298
msgid "Add New Code"
msgstr ""
#: includes/code-type.php:299
msgid "Edit Code"
msgstr ""
#: includes/code-type.php:300
msgid "New Code"
msgstr ""
#: includes/code-type.php:301
msgid "Search Codes"
msgstr ""
#: includes/code-type.php:302
msgid "No codes found"
msgstr ""
#: includes/code-type.php:303
msgid "No codes found in Trash"
msgstr ""
#: includes/code-type.php:304
msgid "All Codes"
msgstr ""
#: includes/code-type.php:357
msgid "Hits"
msgstr ""
#: includes/code-type.php:358
msgid "Info"
msgstr ""
#: includes/code-type.php:384
msgid "Categories"
msgstr ""
#: includes/code-type.php:396
msgid "Author"
msgstr ""
#: includes/code-type.php:405
msgid "Date"
msgstr ""
#: includes/code-type.php:436
msgid "Code ID"
msgstr ""
#: includes/plugin-widget.php:62
msgid "Code ID:"
msgstr ""
#: assets/js/code-editor.js:205
msgid "The File is too large. Do you want to proceed?"
msgstr ""
#: assets/js/code-editor.js:212
msgid "The selected file type is not supported."
msgstr ""
#: assets/js/code-editor.js:226
msgid "Are you sure? You are about to replace the current code with the selected file content."
msgstr ""

View File

@@ -0,0 +1,3 @@
= 1.0.0 =
16 Jun 2020
* Initial release

View File

@@ -46,6 +46,10 @@ Ahalogy wordpress plugin [version 2.1.0] is installed but Client ID not set
<!-- This site is powered by All In One WP Solution Plugin v3.2.9.6 - Download: https://wordpress.org/plugins/all-in-one-wp-solution -->
<!-- angwp -->
<!-- Ads on this site are served by Adning v1.5.1 - adning.com -->
<!-- ank-simplified-ga -->
<!-- Google Analytics is disabled, Reason: GA ID is not set (v1.4.2)-->
<!-- GA Tracking ends (v1.4.2) -->
@@ -1189,4 +1193,38 @@ s0.parentNode.insertBefore(s1,s0);
<!-- This site has installed PayPal for WooCommerce v2.1.12 - https://www.angelleye.com/product/woocommerce-paypal-plugin/ -->
<!-- provesource -->
<!-- Start of Async ProveSource Code (Wordpress / Woocommerce v2.1.0) -->
<!-- augmented-reality-product-visualizer-and-configurator-for-woocommerce -->
<!--
* Plugin Name: Augmented Reality Product Visualizer and Configurator for WooCommerce
* Description: Specially built for eCommerce, OGMO allows eCommerce users to easily examine digital products with the help of Augmented reality and 3D technology without having the physical product beside, allowing them to customize products according to their preference.
* Version: 0.5.0
* Requires at least: 5.2
* Requires PHP: 7.2
* Author: OGMO
* Author URI: https://www.ogmo.xyz/
* License: GPLv2 or later
Copyright 2020, by OGMO
All rights reserved
This file is part of Augmented Reality Product Visualizer and Configurator for WooComerce.
Augmented Reality Product Visualizer and Configurator for WooComerce is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
Augmented Reality Product Visualizer and Configurator for WooComerce is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Augmented Reality Product Visualizer and Configurator for WooComerce. If not, see <https://www.gnu.org/licenses/>
LiverRoom (Pvt) Ltd., hereby disclaims all copyright interest in the program &ldquo;Augmented Reality Product Visualizer and Configurator&rdquo; (Woocommerce plugin enables online product visualization and configuration in augmented reality and 3D) written by OGMO.
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: augmented-reality-product-visualizer-and-configurator-for-woocommerce
-->

View File

@@ -0,0 +1,6 @@
=== CookieHub ===
= 0.1 =
*Release Date - 28 September 2020*
Initial release

View File

@@ -0,0 +1,192 @@
# Copyright (C) 2020 Jeff Monteiro
# This file is distributed under the same license as the Cool Admin Theme Lite for WordPress plugin.
msgid ""
msgstr ""
"Project-Id-Version: Cool Admin Theme Lite for WordPress 1.0.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cool-admin-theme-lite-for-wp\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-08-25T16:51:57-03:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.4.0\n"
"X-Domain: catforwp\n"
#. Plugin Name of the plugin
msgid "Cool Admin Theme Lite for WordPress"
msgstr ""
#. Plugin URI of the plugin
msgid "https://github.com/jeffsmonteiro/catliteforwp/"
msgstr ""
#. Description of the plugin
msgid "Turn your WordPress Admin Interface more clean, friendly and actual using this Free and Open Source WordPress Admin Theme. To get a more fun interface, you can enable this theme to use emojis to replace dashicons! ;)"
msgstr ""
#. Author of the plugin
msgid "Jeff Monteiro"
msgstr ""
#. Author URI of the plugin
msgid "https://www.linkedin.com/in/jeff-monteiro"
msgstr ""
#: inc/plugin-settings.php:16
#: inc/plugin-settings.php:17
msgid "Cool Admin Theme Lite"
msgstr ""
#: inc/plugin-settings.php:30
msgid "Emojify Settings"
msgstr ""
#: inc/plugin-settings.php:31
msgid "Thanks for using this plugin! Currently, Emojify offers 60 pre-configured emojis for the most popular plugins of WP.org repository. So, the major part of plugins will not display an icon on admin menu after activation. In this case, is recommended that you create a custom css to add this emoji. Over time, new emojis will be added by default."
msgstr ""
#: inc/plugin-settings.php:35
msgid "Help"
msgstr ""
#: inc/plugin-settings.php:46
msgid "Emojify Menu"
msgstr ""
#: inc/plugin-settings.php:47
msgid "Check if you want to replace icons of the admin menu by emojis 😁"
msgstr ""
#: inc/plugin-settings.php:52
msgid "Custom CSS"
msgstr ""
#: inc/plugin-settings.php:53
msgid "Add new emojis using custom CSS code."
msgstr ""
#: inc/plugin-settings.php:62
msgid "Be a PRO!"
msgstr ""
#: inc/plugin-settings.php:64
msgid "%1$s"
msgstr ""
#: inc/plugin-settings.php:66
msgid "Get a White Label Admin with the Pro"
msgstr ""
#: inc/plugin-settings.php:68
msgid "- Hide the WordPress brand in the navigation bar"
msgstr ""
#: inc/plugin-settings.php:69
msgid "- Use your own brand on the top bar"
msgstr ""
#: inc/plugin-settings.php:70
msgid "- Replace the WordPress brand with your own brand on the login page"
msgstr ""
#: inc/plugin-settings.php:71
msgid "- Change the brand link on the login page to your homepage"
msgstr ""
#: inc/plugin-settings.php:72
msgid "- Change the background color of the login page"
msgstr ""
#: inc/plugin-settings.php:73
msgid "- Replace the WordPress brand with your brand in the edit block (Gutenberg)"
msgstr ""
#: inc/plugin-settings.php:74
msgid "- Add a custom favicon to the Admin Area"
msgstr ""
#: inc/plugin-settings.php:75
msgid "- Choose emojis for all sidebar menus using a picker"
msgstr ""
#: inc/plugin-settings.php:76
msgid "- Hide or replace WordPress text at the bottom of the Admin Area"
msgstr ""
#: inc/plugin-settings.php:77
msgid "- Hide the WordPress version text at the bottom of the Admin Area"
msgstr ""
#: inc/plugin-settings.php:78
msgid "- Remove non functional widgets from dashboard"
msgstr ""
#: inc/plugin-settings.php:79
msgid "- And more ..."
msgstr ""
#: inc/plugin-settings.php:81
msgid "Check it out at "
msgstr ""
#: inc/plugin-settings.php:81
msgid "wpadmintheme.com"
msgstr ""
#: inc/plugin-settings.php:94
msgid "Emojify not working"
msgstr ""
#: inc/plugin-settings.php:95
msgid "To enable emojify you need to check the option on Emojify Settings tab. If Emojify is already enabled, can be your OS don't have emoji characteres installed."
msgstr ""
#: inc/plugin-settings.php:100
msgid "Where do I customize emojis?"
msgstr ""
#: inc/plugin-settings.php:101
msgid "On free version you have a default set of emojis, but only for 60 items (the most popular). If you want to customize these items or add new items (when you get new plugins not coverted by our default sytlesheet), you can use the Custom CSS field to do it."
msgstr ""
#: inc/plugin-settings.php:106
msgid "Can I use custom icons and emojis?"
msgstr ""
#: inc/plugin-settings.php:107
msgid "Maybe. After activation of the Emojify feature, all icons are replaced by emojis. May you can use the Custom CSS field to make changes. If you know a little bit of CSS you will do it."
msgstr ""
#: inc/plugin-settings.php:112
msgid "Emojis that I set in the Custom CSS are not displayed"
msgstr ""
#: inc/plugin-settings.php:113
msgid "Try to clear browser cache and refresh the page. If you are using some cache plugin like Total Cache, try to refresh the cache."
msgstr ""
#: inc/plugin-settings.php:118
msgid "Some emojis don't appear in the menu"
msgstr ""
#: inc/plugin-settings.php:119
msgid "Our plugin cover the 60 most populars in WordPress Plugin Repository, maybe the plugin that you are using are not covered. So, try to add the emoji using the Custom CSS field."
msgstr ""
#: inc/plugin-settings.php:124
msgid "Have a bug?"
msgstr ""
#: inc/plugin-settings.php:125
msgid "Open an issue on %1$s"
msgstr ""
#: inc/plugin-settings.php:125
msgid "Git Hub Repository"
msgstr ""
#: inc/plugin-settings.php:136
msgid "Settings"
msgstr ""

View File

@@ -0,0 +1,15 @@
== Cornell Notes Changelog ==
1.0.3
* Changed name for clarity to `Cornell Notes Gutenberg Block`
* changed Github repo URL
1.0.2
* Readme edits
* Corrected `register_block_type` reference in `init.php`
1.0.1
* Changed styling for increased backwards compatibility with older versions of Gutenberg
* Added assets for the WordPress plugin Repo
1.0
*Initial release into the wild

View File

@@ -0,0 +1,14 @@
{
"name": "cornell-notes-gutenberg-block",
"version": "1.0.3",
"private": true,
"scripts": {
"start": "cgb-scripts start",
"build": "cgb-scripts build",
"eject": "cgb-scripts eject"
},
"dependencies": {
"cgb-scripts": "1.23.0",
"mem": ">=4.0.0"
}
}

View File

@@ -0,0 +1,89 @@
# Copyright (C) 2020 Chris Ebbinger
# This file is distributed under the same license as the Corona VAT Germany plugin.
msgid ""
msgstr ""
"Project-Id-Version: Corona VAT Germany 1.0.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ce_corona_tax\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-06-29T16:45:10+02:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.4.0\n"
"X-Domain: cect\n"
#. Plugin Name of the plugin
#: ce_corona_tax.php:229
msgid "Corona VAT Germany"
msgstr ""
#. Plugin URI of the plugin
#. Author URI of the plugin
msgid "https://ebbinger.com"
msgstr ""
#. Description of the plugin
msgid "Adjusts the WooCommerce VAT rates (19% -> 16% / 7% -> 5%) for period beginning from 2020-07-01 and resets the tax rates after 2020-12-31."
msgstr ""
#. Author of the plugin
msgid "Chris Ebbinger"
msgstr ""
#: ce_corona_tax.php:158
msgid "Tax Reduce Date already passed and the automated action was executed immediately."
msgstr ""
#: ce_corona_tax.php:163
msgid "Tax Restore Date already passed and the automated action was executed immediately."
msgstr ""
#: ce_corona_tax.php:230
msgid "Corona VAT Germany Settings"
msgstr ""
#: ce_corona_tax.php:236
msgid "General"
msgstr ""
#: ce_corona_tax.php:237
msgid "Select the tax classes that should be adjusted automatically. Separate multiple entries with a comma (<code>, </code>). The following classes are defined in WooCommerce:"
msgstr ""
#: ce_corona_tax.php:241
msgid "Standard Tax Classes<br>(previously 19%)"
msgstr ""
#: ce_corona_tax.php:246
msgid "Reduced Tax Classes<br>(previously 7%)"
msgstr ""
#: ce_corona_tax.php:252
msgid "Schedule"
msgstr ""
#: ce_corona_tax.php:253
msgid "Choose the timing for the tax changes. The changes will be executed during the first visit of the website after the given time."
msgstr ""
#: ce_corona_tax.php:257
msgid "Reduce Tax Date"
msgstr ""
#: ce_corona_tax.php:258
msgid "Choose when the tax rate will be reduced."
msgstr ""
#: ce_corona_tax.php:264
msgid "Restore Tax Date"
msgstr ""
#: ce_corona_tax.php:265
msgid "Choose when the original tax rate will be restored."
msgstr ""
#: ce_corona_tax.php:282
msgid "Settings"
msgstr ""

View File

@@ -0,0 +1,87 @@
# Changelog #
## 1.2.3 ##
* Fixed - issue with notice placement (whoops)
## 1.2.1 ##
* Updated sanitization to match wordpress.org audit.
## 1.2.0 ##
* Updated - Namespace changed from courier to courier-notices due to plugin conflict on wordpress.org
* Fixed - Duplicate modal/popup issue
* Submission to wordpress.org
## 1.1.4 ##
* Fixed - Fatal error when assigning data to a template view
## 1.1.3 ##
* Fixed - Icon font specificity
## 1.1.2 ##
* Remove - Notice font styles, allow styling to inherit from theme
## 1.1.1 ##
* Fixed - Issue with default styles not being created on install
* Fixed - Security updates provided by github audit
## 1.1.0 ##
* Fixed - Minor security updates
* Fixed - Minor code cleanup
* Fixed - Link to Types/Design was broken
* Fixed - Link to Settings was broken
* Fixed - Minor updates to strings to allow for translation
* Fixed - Modal notice was not working properly (dismissible)
* Fixed - Error log was being utilized and should not have been
* Fixed - Cron was running hourly and not every 5 minutes
* Fixed - Various typos (We talk pretty one day)
* Fixed - utilizing iris wpColorPicker (For the time being)
* Fixed - Fixed an issue with color changes in the design panel did not show until page refresh
* Added - New UI/UX for creating and styling "Types" of notices
* Added - Courier actually has some branding now
* Added - Default data on plugin activation
* Added - Utility method to sanitize kses content
* Added - Cleaned up CSS across the entire plugin
* Added - New cron schedule (Every 5 minutes)
* Added - New taxonomy for "Style of Notice". This will allow for all different kinds of notices in the future
* Added - Base for CRUD in the future. Mainly just R right now.
* Improved - Added more flexibility to how tabs and subtabs can extend the plugin
* Improved - CSS is only generated and output if CSS is not disabled
* Improved - Placement logic is more flexible now
* Improved - UI/UX to show different notice options depending on other selections
* Improved - How css and javascript is enqueued based on context of admin
* Improved - Code Organization
* Improved - Templates
* Improved - Updated the expiration of notices to increment every 5 minutes for better accuracy and less stress on servers
## 1.0.4 ##
* Cleaned up deployment process further.
## 1.0.2 ##
* Migrated to using composer as our autoloader instead of a proprietary one
* Added Parsedown dependency for Markdown display within the plugin
* Added a changelog.md display to the settings page as a tab
* Added more automation for release to get releases out the door quicker
* Minor code formatting changes
## 1.0.1 ##
* Updated dependencies based on github security notification
## 1.0.0 ##
Initial Release
* Cleaned up UI for date and time selection.
* You can no longer select an expiration date from the past.
* Implemented datetimepicker so time selection is easier.
* Minor typo fix in admin area.
* Minor data sanitization/security hardening.

View File

@@ -0,0 +1,43 @@
{
"name": "linchpin/courier",
"description": "Courier Notification for WordPress",
"homepage": "https://github.com/linchpin/courier",
"version": "1.2.3",
"authors": [
{
"name": "Linchpin",
"email": "sayhi@linchpin.com",
"homepage": "https://linchpin.com",
"role": "Developer"
}
],
"keywords": [
"WordPress",
"linchpin",
"notices",
"notifications",
"alerts",
"gdpr"
],
"support": {
"issues": "https://github.com/linchpin/courier/issues",
"source": "https://github.com/linchpin/courier"
},
"license": "GPL-2.0+",
"require-dev": {
},
"type": "wordpress-plugin",
"require": {
"php": ">=7.0",
"erusev/parsedown": "^1.7"
},
"autoload": {
"psr-4": {
"CourierNotices\\": "src/"
}
},
"scripts": {
"lint": "phpcs .",
"lint-fix": "phpcbf ."
}
}

View File

@@ -0,0 +1,14 @@
Changelog
=========
#### 1.0.3 - July 16 2020
- Small fixes in the plugin readme.
#### 1.0.2 - July 16 2020
- Small fixes in the plugin readme.
#### 1.0.1 - July 16 2020
- Fixes an issue where the "Let's get started" button needed to be clicked twice in some cases.
#### 1.0.0 - July 16 2020
- Initial version of the plugin

View File

@@ -0,0 +1,212 @@
# Copyright (C) 2020 Automattic
# This file is distributed under the GPL-2.0+.
msgid ""
msgstr ""
"Project-Id-Version: Crowdsignal Forms 0.9.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/crowdsignal-forms\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-07-27T13:38:00+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.5.0-alpha-c4c9f7e\n"
"X-Domain: crowdsignal-forms\n"
#. Plugin Name of the plugin
msgid "Crowdsignal Forms"
msgstr ""
#. Plugin URI of the plugin
msgid "https://crowdsignal.com/crowdsignal-forms/"
msgstr ""
#. Description of the plugin
msgid "Crowdsignal Form Blocks"
msgstr ""
#. Author of the plugin
msgid "Automattic"
msgstr ""
#. Author URI of the plugin
msgid "https://automattic.com/"
msgstr ""
#: includes/admin/class-crowdsignal-forms-admin-notices.php:112
msgid "Action failed. Please refresh the page and retry."
msgstr ""
#: includes/admin/class-crowdsignal-forms-admin-notices.php:116
msgid "You don&#8217;t have permission to do this."
msgstr ""
#: includes/admin/class-crowdsignal-forms-admin.php:70
msgid "Crowdsignal"
msgstr ""
#: includes/admin/class-crowdsignal-forms-admin.php:71
#: includes/admin/class-crowdsignal-forms-admin.php:86
msgid "Settings"
msgstr ""
#: includes/admin/class-crowdsignal-forms-admin.php:72
#: includes/admin/class-crowdsignal-forms-admin.php:85
msgid "Getting Started"
msgstr ""
#: includes/admin/class-crowdsignal-forms-settings.php:71
msgid "General"
msgstr ""
#: includes/admin/class-crowdsignal-forms-settings.php:76
#: includes/admin/class-crowdsignal-forms-settings.php:184
msgid "Enter Crowdsignal API Key"
msgstr ""
#. translators: %s is a link to the Crowdsignal connection page.
#: includes/admin/class-crowdsignal-forms-settings.php:163
msgid "To collect responses and data with Crowdsignal Forms you need to <a href=\"%s\" target=\"_blank\">connect the plugin with a Crowdsignal account.</a>"
msgstr ""
#: includes/admin/class-crowdsignal-forms-settings.php:169
msgid "You can do this by entering an API key below:"
msgstr ""
#: includes/admin/class-crowdsignal-forms-settings.php:176
msgid "Settings successfully saved"
msgstr ""
#: includes/admin/class-crowdsignal-forms-settings.php:204
msgid "Disconnect"
msgstr ""
#: includes/admin/class-crowdsignal-forms-settings.php:210
msgid "Connect"
msgstr ""
#: includes/admin/class-crowdsignal-forms-settings.php:221
msgid "If you don't have an API key we can help you here:"
msgstr ""
#: includes/admin/views/html-admin-notice-core-setup.php:17
msgid "You are nearly ready to start creating polls with <strong>Crowdsignal</strong>."
msgstr ""
#: includes/admin/views/html-admin-notice-core-setup.php:21
msgid "Let's Get Started"
msgstr ""
#: includes/admin/views/html-admin-notice-core-setup.php:22
msgid "Skip Setup"
msgstr ""
#: includes/admin/views/html-admin-setup-footer.php:24
msgid "Crowdsignal Support"
msgstr ""
#: includes/admin/views/html-admin-setup-footer.php:24
msgid "Support"
msgstr ""
#: includes/admin/views/html-admin-setup-footer.php:25
msgid "Terms of Service"
msgstr ""
#: includes/admin/views/html-admin-setup-footer.php:25
msgid "Terms"
msgstr ""
#: includes/admin/views/html-admin-setup-footer.php:26
msgid "Privacy Policy"
msgstr ""
#: includes/admin/views/html-admin-setup-footer.php:26
msgid "Privacy"
msgstr ""
#: includes/admin/views/html-admin-setup-header.php:43
msgid "Could not disconnect. Please try again."
msgstr ""
#: includes/admin/views/html-admin-setup-header.php:46
msgid "Successfully disconnected from Crowdsignal."
msgstr ""
#: includes/admin/views/html-admin-setup-header.php:49
msgid "Success! Your Crowdsignal account is successfully connected! You are ready!"
msgstr ""
#: includes/admin/views/html-admin-setup-header.php:52
msgid "You have been connected to Crowdsignal."
msgstr ""
#: includes/admin/views/html-admin-setup-header.php:55
msgid "Your API key has not been updated."
msgstr ""
#: includes/admin/views/html-admin-setup-step-1.php:14
msgid "Welcome to Crowdsignal Forms"
msgstr ""
#: includes/admin/views/html-admin-setup-step-1.php:24
msgid "Lets get started"
msgstr ""
#: includes/admin/views/html-admin-setup-step-2.php:20
msgid "You're ready to start using Crowdsignal!"
msgstr ""
#: includes/admin/views/html-admin-setup-step-3.php:15
msgid "First time using Crowdsignal?"
msgstr ""
#: includes/admin/views/html-admin-setup-step-3.php:20
msgid "You can search for our blocks, like the Poll block, in the library of the block editor."
msgstr ""
#: includes/admin/views/html-admin-setup-step-3.php:22
msgid "Here is a short video to get you started:"
msgstr ""
#. translators: Argument is a link to Crowdsignal's contact page.
#: includes/admin/views/html-admin-setup-step-3.php:37
msgid "<a href=\"%1s\" target=\"_blank\">Any questions about Crowdsignal?</a>"
msgstr ""
#. translators: Argument is a link to Crowdsignal's support page.
#: includes/admin/views/html-admin-setup-step-3.php:52
msgid "<a href=\"%1s\" target=\"_blank\">Read more about us here.</a>"
msgstr ""
#: includes/frontend/blocks/class-crowdsignal-forms-poll-block.php:149
msgid "Untitled Poll"
msgstr ""
#: includes/frontend/blocks/class-crowdsignal-forms-poll-block.php:178
msgid "Submit"
msgstr ""
#: includes/gateways/class-canned-api-gateway.php:60
#: includes/gateways/class-canned-api-gateway.php:79
msgid "Poll not found"
msgstr ""
#: includes/rest-api/controllers/class-polls-controller.php:210
#: includes/rest-api/controllers/class-polls-controller.php:235
msgid "No Poll ID was provided."
msgstr ""
#: includes/rest-api/controllers/class-polls-controller.php:295
#: includes/rest-api/controllers/class-polls-controller.php:336
msgid "Invalid poll ID"
msgstr ""
#: includes/rest-api/controllers/class-polls-controller.php:322
msgid "Invalid post ID"
msgstr ""
#: includes/rest-api/controllers/class-polls-controller.php:413
msgid "Resource not found"
msgstr ""

View File

@@ -0,0 +1,163 @@
# Copyright (C) 2020 Idan Neeman
# This file is distributed under the same license as the Crypto Payments Woo plugin.
msgid ""
msgstr ""
"Project-Id-Version: Crypto Payments Woo 1.1\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/Crypto-Payments-Woo\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-06-05T23:55:11+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.4.0\n"
"X-Domain: WCP_I18N_DOMAIN\n"
#. Plugin Name of the plugin
msgid "Crypto Payments Woo"
msgstr ""
#. Plugin URI of the plugin
msgid "https://github.com/Idan-Neeman/Crypto-Payments-Woo"
msgstr ""
#. Description of the plugin
msgid "Accept Bitcoin/FairCoin payment from WooCommerce store without help of middle man! Receive payment instantly and directly to your own coin address (generate on-the-fly by Electrum) without rotating to 3rd party wallet."
msgstr ""
#. Author of the plugin
msgid "Idan Neeman"
msgstr ""
#. Author URI of the plugin
msgid "https://github.com/Idan-Neeman"
msgstr ""
#: class-wp-osa.php:753
msgid "General Settings"
msgstr ""
#: class-wp-osa.php:762
msgid "BTC Gateway Settings"
msgstr ""
#: class-wp-osa.php:771
msgid "FAIR Gateway Settings"
msgstr ""
#: wcp-checkout-template.php:69
msgid "Verifying payment..."
msgstr ""
#: wcp-checkout-template.php:70
msgid "Error!"
msgstr ""
#: wcp-checkout-template.php:71
msgid "Verify payment in <span id=\"check-time\">60</span> seconds"
msgstr ""
#: wcp-checkout-template.php:72
msgid "&#x2705; Payment received!"
msgstr ""
#: wcp-crypto-gateway-btc.php:68
#: wcp-crypto-gateway-fair.php:75
msgid "Payment Instructions, original template (for reference):<br />"
msgstr ""
#: wcp-crypto-gateway-btc.php:80
msgid "Please send your Bitcoin BTC payment as follows:"
msgstr ""
#: wcp-crypto-gateway-btc.php:84
#: wcp-crypto-gateway-fair.php:91
msgid "Amount"
msgstr ""
#: wcp-crypto-gateway-btc.php:94
msgid "Bitcoin Address"
msgstr ""
#: wcp-crypto-gateway-btc.php:104
#: wcp-crypto-gateway-fair.php:111
msgid "QR code"
msgstr ""
#: wcp-crypto-gateway-btc.php:114
#: wcp-crypto-gateway-fair.php:121
msgid "Status"
msgstr ""
#: wcp-crypto-gateway-btc.php:119
msgid "Waiting for payment (include {{{BITCOINS_CONFIRMATIONS}}} confirmations)..."
msgstr ""
#: wcp-crypto-gateway-btc.php:121
msgid "Check balance in"
msgstr ""
#: wcp-crypto-gateway-btc.php:121
#: wcp-crypto-gateway-fair.php:128
msgid "seconds"
msgstr ""
#: wcp-crypto-gateway-btc.php:128
#: wcp-crypto-gateway-fair.php:135
msgid "Please note:"
msgstr ""
#: wcp-crypto-gateway-btc.php:131
#: wcp-crypto-gateway-fair.php:138
msgid "We are not responsible for lost funds if you send anything other than FAIR"
msgstr ""
#: wcp-crypto-gateway-btc.php:132
#: wcp-crypto-gateway-fair.php:139
msgid "You must initiate a payment within 1 hour, or your order may be cancelled"
msgstr ""
#: wcp-crypto-gateway-btc.php:133
msgid "As soon as your payment is received in full you will receive email confirmation with order delivery details."
msgstr ""
#: wcp-crypto-gateway-fair.php:26
msgid "FairCoin"
msgstr ""
#: wcp-crypto-gateway-fair.php:72
msgid "Specific instructions given to the customer to complete Faircoins payment.<br />You may change it, but make sure these tags will be present: <b>{{{FAIRCOINS_AMOUNT}}}</b>, <b>{{{FAIRCOINS_ADDRESS}}}</b>, <b>{{{FAIRCOINS_PAY_URL}}}</b> and <b>{{{EXTRA_INSTRUCTIONS}}}</b> as these tags will be replaced with customer - specific payment details."
msgstr ""
#: wcp-crypto-gateway-fair.php:87
msgid "Please send your Faircoin FAIR payment as follows:"
msgstr ""
#: wcp-crypto-gateway-fair.php:101
msgid "FairCoin Address"
msgstr ""
#: wcp-crypto-gateway-fair.php:126
msgid "Waiting for payment..."
msgstr ""
#: wcp-crypto-gateway-fair.php:128
msgid "Verifying payment in"
msgstr ""
#: wcp-crypto-gateway-fair.php:137
msgid "The chosen payment method accepts ONLY FairCoin! Any other payments (Bitcoin, LiteCoin etc) will not process and the funds will be lost forever!"
msgstr ""
#: wcp-crypto-gateway-fair.php:140
msgid "As soon as your payment is verified, we will send you a confirmation e-mail with order delivery details."
msgstr ""
#: wcp-crypto-gateway.php:53
msgid "You may send payments from multiple accounts to reach the total required."
msgstr ""
#: wcp-crypto-gateway.php:314
msgid "Please, proceed to the next screen to see necessary payment details."
msgstr ""

View File

@@ -0,0 +1,23 @@
{
"name": "pattonwebz/cta-bar-block",
"description": "",
"version": "1.0.0",
"main": "build/index.js",
"repository": {
"type": "git",
"url": "git+https://github.com/pattonwebz/cta-bar-block.git"
},
"author": "William Patton",
"license": "GPL-2.0-or-later",
"bugs": {
"url": "https://github.com/pattonwebz/cta-bar-block/issues"
},
"homepage": "https://github.com/pattonwebz/cta-bar-block#readme",
"scripts": {
"start": "wp-scripts start",
"build": "wp-scripts build"
},
"devDependencies": {
"@wordpress/scripts": "^12.0.0"
}
}

View File

@@ -0,0 +1,71 @@
# Copyright (C) 2020 Condless
# This file is distributed under the same license as the Default Attributes for WooCommerce plugin.
msgid ""
msgstr ""
"Project-Id-Version: Default Attributes for WooCommerce 1.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/default-"
"attributes-for-woocommerce\n"
"Language-Team: Condless <info@condless.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-09-02 10:14+0300\n"
"PO-Revision-Date: 2020-09-03 18:20+0300\n"
"X-Generator: Poedit 2.4.1\n"
"X-Domain: default-attributes-for-woocommerce\n"
"Last-Translator: Condless <info@condless.com>\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==2 ? 1 : n>10 && n%10==0 ? "
"2 : 3);\n"
"Language: he_IL\n"
#. Plugin Name of the plugin
msgid "Default Attributes for WooCommerce"
msgstr "תכונות ברירת מחדל לווקומרס"
#. Plugin URI of the plugin
msgid "https://en.condless.com/default-attributes-for-woocommerce/"
msgstr "https://www.condless.com/default-attributes-for-woocommerce/"
#. Description of the plugin
msgid ""
"WooCommerce plugin that allows you to apply rules for how default attributes "
"will be set."
msgstr "תוסף לווקומרס המאפשר לך להחיל חוקים על איך ייקבעו תכונות הברירת מחדל."
#. Author of the plugin
msgid "Condless"
msgstr "Condless"
#. Author URI of the plugin
msgid "https://www.condless.com/"
msgstr "https://www.condless.com/"
#: default-attributes-for-woocommerce.php:148
msgid ""
"Set as default an option if it is the only option that has in-stock "
"variations"
msgstr ""
"קבע כברירת מחדל אפשרות אם זו האפשרות היחידה בעלת וריאציות אשר קיימות במלאי"
#: default-attributes-for-woocommerce.php:155
msgid "Set as default the first option of each attribute"
msgstr "קבע כברירת מחדל את האפשרות הראשונה בכל תכונה"
#: default-attributes-for-woocommerce.php:162
msgid "Disable out of stock variations"
msgstr "בטל וריאציות שאזלו מהמלאי"
#: default-attributes-for-woocommerce.php:169
msgid ""
"In archive pages display for variable products the attribute name instead of"
msgstr "בעמודי ארכיון הצג במוצרים עם וריאציות את שם התכונה במקום"
#: default-attributes-for-woocommerce.php:176
msgid ""
"In single product pages remove the select options text if default attribute "
"is set"
msgstr "בעמודי מוצר הסר את הטקסט \"בחר אפשרויות\" אם הוגדרה תכונת ברירת מחדל"
#: default-attributes-for-woocommerce.php:269
msgid "Determines this attribute default value in variable products."
msgstr "קובע את תכונת ברירת המחדל במוצרים עם וריאציות."

View File

@@ -0,0 +1,5 @@
== Changelog ==
= 1.0.0 - 02 April 2020 =
* Initial release

View File

@@ -0,0 +1,218 @@
# Copyright (C) 2020 Nawawi Jamili
# This file is distributed under the same license as the Docket Cache plugin.
msgid ""
msgstr ""
"Project-Id-Version: Docket Cache 20.07.09\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/docket-cache\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2020-07-10T15:23:23+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.4.0\n"
"X-Domain: docket-cache\n"
#. Plugin Name of the plugin
#: includes/src/Plugin.php:280
msgid "Docket Cache"
msgstr ""
#. Description of the plugin
msgid "A file-based persistent WordPress Object Cache stored as a plain PHP code."
msgstr ""
#. Author of the plugin
msgid "Nawawi Jamili"
msgstr ""
#. Author URI of the plugin
msgid "https://rutweb.com"
msgstr ""
#: includes/admin/page.php:30
#: includes/src/Plugin.php:279
msgid "Docket Object Cache"
msgstr ""
#: includes/admin/page.php:33
#: includes/admin/page.php:41
#: includes/admin/page.php:102
msgid "Overview"
msgstr ""
#: includes/admin/page.php:34
msgid "Debug Log"
msgstr ""
#: includes/admin/page.php:35
#: includes/admin/page.php:86
msgid "Options"
msgstr ""
#: includes/admin/page.php:45
#: includes/admin/page.php:106
msgid "Status"
msgstr ""
#: includes/admin/page.php:50
msgid "OPCache"
msgstr ""
#: includes/admin/page.php:55
msgid "PHP Memory Limit"
msgstr ""
#: includes/admin/page.php:60
msgid "WP Memory Limit"
msgstr ""
#: includes/admin/page.php:66
msgid "Cache Size"
msgstr ""
#: includes/admin/page.php:74
msgid "Enable Object Cache"
msgstr ""
#: includes/admin/page.php:76
msgid "Flush Cache"
msgstr ""
#: includes/admin/page.php:77
msgid "Disable Object Cache"
msgstr ""
#: includes/admin/page.php:88
msgid "Configuration Options"
msgstr ""
#: includes/admin/page.php:89
msgid "To adjust the configuration, please see the <a href=\"https://github.com/nawawi/docket-cache#configuration-options\" rel=\"noopener\" target=\"_blank\">configuration options</a> for a full list."
msgstr ""
#: includes/admin/page.php:91
msgid "WP-CLI Commands"
msgstr ""
#: includes/admin/page.php:92
msgid "To use the WP-CLI commands, please see the <a href=\"https://github.com/nawawi/docket-cache#wp-cli-commands\" rel=\"noopener\" target=\"_blank\">WP-CLI commands</a> for a full list."
msgstr ""
#: includes/admin/page.php:110
msgid "Log File"
msgstr ""
#: includes/admin/page.php:115
msgid "Log Data"
msgstr ""
#: includes/admin/page.php:116
msgid "Not available"
msgstr ""
#: includes/admin/page.php:129
msgid "Refresh"
msgstr ""
#: includes/src/CLI/Command.php:85
msgid "Docket object cache already enabled."
msgstr ""
#: includes/src/CLI/Command.php:89
msgid "An unknown object cache drop-in was found. To use Docket object cache, run: wp docket-cache update-dropin."
msgstr ""
#: includes/src/CLI/Command.php:93
#: includes/src/Plugin.php:411
msgid "Object cache enabled."
msgstr ""
#: includes/src/CLI/Command.php:96
#: includes/src/Plugin.php:414
msgid "Object cache could not be enabled."
msgstr ""
#: includes/src/CLI/Command.php:112
#: includes/src/CLI/Command.php:157
msgid "No object cache drop-in found."
msgstr ""
#: includes/src/CLI/Command.php:116
msgid "An unknown object cache drop-in was found. To use Docket run: wp docket-cache update-dropin."
msgstr ""
#: includes/src/CLI/Command.php:120
#: includes/src/Plugin.php:417
msgid "Object cache disabled."
msgstr ""
#: includes/src/CLI/Command.php:123
#: includes/src/Plugin.php:420
msgid "Object cache could not be disabled."
msgstr ""
#: includes/src/CLI/Command.php:140
#: includes/src/Plugin.php:429
msgid "Updated object cache drop-in and enabled Docket object cache."
msgstr ""
#: includes/src/CLI/Command.php:142
msgid "Object cache drop-in could not be updated."
msgstr ""
#: includes/src/Plugin.php:46
msgid "Disabled"
msgstr ""
#: includes/src/Plugin.php:47
msgid "Enable"
msgstr ""
#: includes/src/Plugin.php:48
msgid "Not Available"
msgstr ""
#: includes/src/Plugin.php:49
msgid "Unknown"
msgstr ""
#: includes/src/Plugin.php:151
msgid "WP_Filesystem not available"
msgstr ""
#. translators: %s: path name
#: includes/src/Plugin.php:241
msgid "Invalid setting for DOCKET_CACHE_PATH: %s"
msgstr ""
#. translators: %s: url
#: includes/src/Plugin.php:315
msgid "The Docket Object Cache drop-in is outdated. Please <a href=\"%s\">update it now</a>"
msgstr ""
#. translators: %s: url
#: includes/src/Plugin.php:319
msgid "An unknown object cache drop-in was found. To use Docket, <a href=\"%s\" class=\"button button-secondary button-large\">please replace it now</a>."
msgstr ""
#: includes/src/Plugin.php:403
msgid "This plugin requires PHP 7.2 or greater."
msgstr ""
#: includes/src/Plugin.php:423
msgid "Object cache was flushed."
msgstr ""
#: includes/src/Plugin.php:426
msgid "Object cache could not be flushed."
msgstr ""
#: includes/src/Plugin.php:432
msgid "Docket object cache drop-in could not be updated."
msgstr ""
#: includes/src/Plugin.php:450
msgid "Settings"
msgstr ""

Some files were not shown because too many files have changed in this diff Show More