Version Description
- Fix inconsistency in previous deploy
Download this release
Release Info
Developer | phbernard |
Plugin | Favicon by RealFaviconGenerator |
Version | 1.3.22 |
Comparing to | |
See all releases |
Code changes from version 1.3.21 to 1.3.22
- README.txt +11 -2
- admin/class-favicon-by-realfavicongenerator-admin.php +2 -2
- favicon-by-realfavicongenerator.php +1 -1
- trunk/LICENSE.txt +0 -339
- trunk/README.txt +0 -295
- trunk/admin/assets/css/admin.css +0 -5
- trunk/admin/class-favicon-by-realfavicongenerator-admin.php +0 -520
- trunk/admin/class-favicon-by-realfavicongenerator-api-response.php +0 -307
- trunk/admin/views/appearance.php +0 -317
- trunk/admin/views/keep_active_notice.php +0 -10
- trunk/admin/views/settings.php +0 -36
- trunk/favicon-by-realfavicongenerator.php +0 -51
- trunk/languages/favicon-by-realfavicongenerator-cs_CZ.mo +0 -0
- trunk/languages/favicon-by-realfavicongenerator-cs_CZ.po +0 -239
- trunk/languages/favicon-by-realfavicongenerator-da_DK.mo +0 -0
- trunk/languages/favicon-by-realfavicongenerator-da_DK.po +0 -244
- trunk/languages/favicon-by-realfavicongenerator-fr_FR.mo +0 -0
- trunk/languages/favicon-by-realfavicongenerator-fr_FR.po +0 -245
- trunk/languages/favicon-by-realfavicongenerator-id_ID.mo +0 -0
- trunk/languages/favicon-by-realfavicongenerator-id_ID.po +0 -200
- trunk/languages/favicon-by-realfavicongenerator-nl_NL.mo +0 -0
- trunk/languages/favicon-by-realfavicongenerator-nl_NL.po +0 -188
- trunk/languages/favicon-by-realfavicongenerator-pl_PL.mo +0 -0
- trunk/languages/favicon-by-realfavicongenerator-pl_PL.po +0 -246
- trunk/languages/favicon-by-realfavicongenerator-pt_BR.mo +0 -0
- trunk/languages/favicon-by-realfavicongenerator-pt_BR.po +0 -188
- trunk/languages/favicon-by-realfavicongenerator-ru_RU.mo +0 -0
- trunk/languages/favicon-by-realfavicongenerator-ru_RU.po +0 -242
- trunk/languages/favicon-by-realfavicongenerator-sv_SE.mo +0 -0
- trunk/languages/favicon-by-realfavicongenerator-sv_SE.po +0 -186
- trunk/languages/favicon-by-realfavicongenerator.pot +0 -220
- trunk/public/class-favicon-by-realfavicongenerator-common.php +0 -475
- trunk/public/class-favicon-by-realfavicongenerator.php +0 -38
- trunk/uninstall.php +0 -39
README.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: phbernard
|
|
3 |
Donate link: http://realfavicongenerator.net/donate
|
4 |
Tags: favicon, favicon icon, favicon image, favicon code, favicon change, favicon manager, short icon, addressbar logo, apple touch icon, icon, iphone, admin, wordpress, realfavicongenerator, real favicon generator
|
5 |
Requires at least: 3.5
|
6 |
-
Tested up to: 5.
|
7 |
-
Stable tag: 1.3.
|
8 |
License: GPLv2
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -80,6 +80,15 @@ This screen presents you a preview of the favicon you various platforms, so you
|
|
80 |
|
81 |
== Changelog ==
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
= 1.3.20 =
|
84 |
|
85 |
- Fix: media selection works again
|
3 |
Donate link: http://realfavicongenerator.net/donate
|
4 |
Tags: favicon, favicon icon, favicon image, favicon code, favicon change, favicon manager, short icon, addressbar logo, apple touch icon, icon, iphone, admin, wordpress, realfavicongenerator, real favicon generator
|
5 |
Requires at least: 3.5
|
6 |
+
Tested up to: 5.8
|
7 |
+
Stable tag: 1.3.22
|
8 |
License: GPLv2
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
80 |
|
81 |
== Changelog ==
|
82 |
|
83 |
+
= 1.3.22 =
|
84 |
+
|
85 |
+
- Fix inconsistency in previous deploy
|
86 |
+
|
87 |
+
= 1.3.21 =
|
88 |
+
|
89 |
+
- Plugin was tested up to WordPress 5.8
|
90 |
+
- Fix XSS security issue, reported by WPSpan.com. See https://wpscan.com/vulnerability/ed9d26be-cc96-4274-a05b-0b7ad9d8cfd9?fbclid=IwAR2aRMXRjbGm9ppoI9tM-OHm26Q0ax4yt0MkcP5sp0-pz9D4eVIEHQwvG1Y
|
91 |
+
|
92 |
= 1.3.20 =
|
93 |
|
94 |
- Fix: media selection works again
|
admin/class-favicon-by-realfavicongenerator-admin.php
CHANGED
@@ -120,7 +120,7 @@ class Favicon_By_RealFaviconGenerator_Admin extends Favicon_By_RealFaviconGenera
|
|
120 |
// New favicon to install:
|
121 |
// Parameters will be processed with an Ajax call
|
122 |
|
123 |
-
$new_favicon_params_url = $_REQUEST['json_result_url'];
|
124 |
$ajax_url = admin_url( 'admin-ajax.php', isset( $_SERVER['HTTPS'] ) ? 'https://' : 'http://' );
|
125 |
}
|
126 |
else {
|
@@ -148,7 +148,7 @@ class Favicon_By_RealFaviconGenerator_Admin extends Favicon_By_RealFaviconGenera
|
|
148 |
private function download_result_json( $url ) {
|
149 |
$resp = wp_remote_get( $url );
|
150 |
if ( is_wp_error( $resp )) {
|
151 |
-
throw new InvalidArgumentException( "Cannot download JSON file at " . $url . ": " . $resp->get_error_message() );
|
152 |
}
|
153 |
|
154 |
$json = wp_remote_retrieve_body( $resp );
|
120 |
// New favicon to install:
|
121 |
// Parameters will be processed with an Ajax call
|
122 |
|
123 |
+
$new_favicon_params_url = filter_var ( $_REQUEST['json_result_url'], FILTER_SANITIZE_URL );
|
124 |
$ajax_url = admin_url( 'admin-ajax.php', isset( $_SERVER['HTTPS'] ) ? 'https://' : 'http://' );
|
125 |
}
|
126 |
else {
|
148 |
private function download_result_json( $url ) {
|
149 |
$resp = wp_remote_get( $url );
|
150 |
if ( is_wp_error( $resp )) {
|
151 |
+
throw new InvalidArgumentException( "Cannot download JSON file at " . htmlspecialchars( $url ) . ": " . $resp->get_error_message() );
|
152 |
}
|
153 |
|
154 |
$json = wp_remote_retrieve_body( $resp );
|
favicon-by-realfavicongenerator.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
* Plugin Name: Favicon by RealFaviconGenerator
|
13 |
* Plugin URI: http://realfavicongenerator.net/extensions/wordpress
|
14 |
* Description: Create and install your favicon for all platforms: PC/Mac of course, but also iPhone/iPad, Android devices, Windows 8 tablets, etc.
|
15 |
-
* Version: 1.3.
|
16 |
* Author: Philippe Bernard
|
17 |
* Author URI: http://realfavicongenerator.net/
|
18 |
* License: GPLv2
|
12 |
* Plugin Name: Favicon by RealFaviconGenerator
|
13 |
* Plugin URI: http://realfavicongenerator.net/extensions/wordpress
|
14 |
* Description: Create and install your favicon for all platforms: PC/Mac of course, but also iPhone/iPad, Android devices, Windows 8 tablets, etc.
|
15 |
+
* Version: 1.3.22
|
16 |
* Author: Philippe Bernard
|
17 |
* Author URI: http://realfavicongenerator.net/
|
18 |
* License: GPLv2
|
trunk/LICENSE.txt
DELETED
@@ -1,339 +0,0 @@
|
|
1 |
-
GNU GENERAL PUBLIC LICENSE
|
2 |
-
Version 2, June 1991
|
3 |
-
|
4 |
-
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
5 |
-
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
6 |
-
Everyone is permitted to copy and distribute verbatim copies
|
7 |
-
of this license document, but changing it is not allowed.
|
8 |
-
|
9 |
-
Preamble
|
10 |
-
|
11 |
-
The licenses for most software are designed to take away your
|
12 |
-
freedom to share and change it. By contrast, the GNU General Public
|
13 |
-
License is intended to guarantee your freedom to share and change free
|
14 |
-
software--to make sure the software is free for all its users. This
|
15 |
-
General Public License applies to most of the Free Software
|
16 |
-
Foundation's software and to any other program whose authors commit to
|
17 |
-
using it. (Some other Free Software Foundation software is covered by
|
18 |
-
the GNU Lesser General Public License instead.) You can apply it to
|
19 |
-
your programs, too.
|
20 |
-
|
21 |
-
When we speak of free software, we are referring to freedom, not
|
22 |
-
price. Our General Public Licenses are designed to make sure that you
|
23 |
-
have the freedom to distribute copies of free software (and charge for
|
24 |
-
this service if you wish), that you receive source code or can get it
|
25 |
-
if you want it, that you can change the software or use pieces of it
|
26 |
-
in new free programs; and that you know you can do these things.
|
27 |
-
|
28 |
-
To protect your rights, we need to make restrictions that forbid
|
29 |
-
anyone to deny you these rights or to ask you to surrender the rights.
|
30 |
-
These restrictions translate to certain responsibilities for you if you
|
31 |
-
distribute copies of the software, or if you modify it.
|
32 |
-
|
33 |
-
For example, if you distribute copies of such a program, whether
|
34 |
-
gratis or for a fee, you must give the recipients all the rights that
|
35 |
-
you have. You must make sure that they, too, receive or can get the
|
36 |
-
source code. And you must show them these terms so they know their
|
37 |
-
rights.
|
38 |
-
|
39 |
-
We protect your rights with two steps: (1) copyright the software, and
|
40 |
-
(2) offer you this license which gives you legal permission to copy,
|
41 |
-
distribute and/or modify the software.
|
42 |
-
|
43 |
-
Also, for each author's protection and ours, we want to make certain
|
44 |
-
that everyone understands that there is no warranty for this free
|
45 |
-
software. If the software is modified by someone else and passed on, we
|
46 |
-
want its recipients to know that what they have is not the original, so
|
47 |
-
that any problems introduced by others will not reflect on the original
|
48 |
-
authors' reputations.
|
49 |
-
|
50 |
-
Finally, any free program is threatened constantly by software
|
51 |
-
patents. We wish to avoid the danger that redistributors of a free
|
52 |
-
program will individually obtain patent licenses, in effect making the
|
53 |
-
program proprietary. To prevent this, we have made it clear that any
|
54 |
-
patent must be licensed for everyone's free use or not licensed at all.
|
55 |
-
|
56 |
-
The precise terms and conditions for copying, distribution and
|
57 |
-
modification follow.
|
58 |
-
|
59 |
-
GNU GENERAL PUBLIC LICENSE
|
60 |
-
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
61 |
-
|
62 |
-
0. This License applies to any program or other work which contains
|
63 |
-
a notice placed by the copyright holder saying it may be distributed
|
64 |
-
under the terms of this General Public License. The "Program", below,
|
65 |
-
refers to any such program or work, and a "work based on the Program"
|
66 |
-
means either the Program or any derivative work under copyright law:
|
67 |
-
that is to say, a work containing the Program or a portion of it,
|
68 |
-
either verbatim or with modifications and/or translated into another
|
69 |
-
language. (Hereinafter, translation is included without limitation in
|
70 |
-
the term "modification".) Each licensee is addressed as "you".
|
71 |
-
|
72 |
-
Activities other than copying, distribution and modification are not
|
73 |
-
covered by this License; they are outside its scope. The act of
|
74 |
-
running the Program is not restricted, and the output from the Program
|
75 |
-
is covered only if its contents constitute a work based on the
|
76 |
-
Program (independent of having been made by running the Program).
|
77 |
-
Whether that is true depends on what the Program does.
|
78 |
-
|
79 |
-
1. You may copy and distribute verbatim copies of the Program's
|
80 |
-
source code as you receive it, in any medium, provided that you
|
81 |
-
conspicuously and appropriately publish on each copy an appropriate
|
82 |
-
copyright notice and disclaimer of warranty; keep intact all the
|
83 |
-
notices that refer to this License and to the absence of any warranty;
|
84 |
-
and give any other recipients of the Program a copy of this License
|
85 |
-
along with the Program.
|
86 |
-
|
87 |
-
You may charge a fee for the physical act of transferring a copy, and
|
88 |
-
you may at your option offer warranty protection in exchange for a fee.
|
89 |
-
|
90 |
-
2. You may modify your copy or copies of the Program or any portion
|
91 |
-
of it, thus forming a work based on the Program, and copy and
|
92 |
-
distribute such modifications or work under the terms of Section 1
|
93 |
-
above, provided that you also meet all of these conditions:
|
94 |
-
|
95 |
-
a) You must cause the modified files to carry prominent notices
|
96 |
-
stating that you changed the files and the date of any change.
|
97 |
-
|
98 |
-
b) You must cause any work that you distribute or publish, that in
|
99 |
-
whole or in part contains or is derived from the Program or any
|
100 |
-
part thereof, to be licensed as a whole at no charge to all third
|
101 |
-
parties under the terms of this License.
|
102 |
-
|
103 |
-
c) If the modified program normally reads commands interactively
|
104 |
-
when run, you must cause it, when started running for such
|
105 |
-
interactive use in the most ordinary way, to print or display an
|
106 |
-
announcement including an appropriate copyright notice and a
|
107 |
-
notice that there is no warranty (or else, saying that you provide
|
108 |
-
a warranty) and that users may redistribute the program under
|
109 |
-
these conditions, and telling the user how to view a copy of this
|
110 |
-
License. (Exception: if the Program itself is interactive but
|
111 |
-
does not normally print such an announcement, your work based on
|
112 |
-
the Program is not required to print an announcement.)
|
113 |
-
|
114 |
-
These requirements apply to the modified work as a whole. If
|
115 |
-
identifiable sections of that work are not derived from the Program,
|
116 |
-
and can be reasonably considered independent and separate works in
|
117 |
-
themselves, then this License, and its terms, do not apply to those
|
118 |
-
sections when you distribute them as separate works. But when you
|
119 |
-
distribute the same sections as part of a whole which is a work based
|
120 |
-
on the Program, the distribution of the whole must be on the terms of
|
121 |
-
this License, whose permissions for other licensees extend to the
|
122 |
-
entire whole, and thus to each and every part regardless of who wrote it.
|
123 |
-
|
124 |
-
Thus, it is not the intent of this section to claim rights or contest
|
125 |
-
your rights to work written entirely by you; rather, the intent is to
|
126 |
-
exercise the right to control the distribution of derivative or
|
127 |
-
collective works based on the Program.
|
128 |
-
|
129 |
-
In addition, mere aggregation of another work not based on the Program
|
130 |
-
with the Program (or with a work based on the Program) on a volume of
|
131 |
-
a storage or distribution medium does not bring the other work under
|
132 |
-
the scope of this License.
|
133 |
-
|
134 |
-
3. You may copy and distribute the Program (or a work based on it,
|
135 |
-
under Section 2) in object code or executable form under the terms of
|
136 |
-
Sections 1 and 2 above provided that you also do one of the following:
|
137 |
-
|
138 |
-
a) Accompany it with the complete corresponding machine-readable
|
139 |
-
source code, which must be distributed under the terms of Sections
|
140 |
-
1 and 2 above on a medium customarily used for software interchange; or,
|
141 |
-
|
142 |
-
b) Accompany it with a written offer, valid for at least three
|
143 |
-
years, to give any third party, for a charge no more than your
|
144 |
-
cost of physically performing source distribution, a complete
|
145 |
-
machine-readable copy of the corresponding source code, to be
|
146 |
-
distributed under the terms of Sections 1 and 2 above on a medium
|
147 |
-
customarily used for software interchange; or,
|
148 |
-
|
149 |
-
c) Accompany it with the information you received as to the offer
|
150 |
-
to distribute corresponding source code. (This alternative is
|
151 |
-
allowed only for noncommercial distribution and only if you
|
152 |
-
received the program in object code or executable form with such
|
153 |
-
an offer, in accord with Subsection b above.)
|
154 |
-
|
155 |
-
The source code for a work means the preferred form of the work for
|
156 |
-
making modifications to it. For an executable work, complete source
|
157 |
-
code means all the source code for all modules it contains, plus any
|
158 |
-
associated interface definition files, plus the scripts used to
|
159 |
-
control compilation and installation of the executable. However, as a
|
160 |
-
special exception, the source code distributed need not include
|
161 |
-
anything that is normally distributed (in either source or binary
|
162 |
-
form) with the major components (compiler, kernel, and so on) of the
|
163 |
-
operating system on which the executable runs, unless that component
|
164 |
-
itself accompanies the executable.
|
165 |
-
|
166 |
-
If distribution of executable or object code is made by offering
|
167 |
-
access to copy from a designated place, then offering equivalent
|
168 |
-
access to copy the source code from the same place counts as
|
169 |
-
distribution of the source code, even though third parties are not
|
170 |
-
compelled to copy the source along with the object code.
|
171 |
-
|
172 |
-
4. You may not copy, modify, sublicense, or distribute the Program
|
173 |
-
except as expressly provided under this License. Any attempt
|
174 |
-
otherwise to copy, modify, sublicense or distribute the Program is
|
175 |
-
void, and will automatically terminate your rights under this License.
|
176 |
-
However, parties who have received copies, or rights, from you under
|
177 |
-
this License will not have their licenses terminated so long as such
|
178 |
-
parties remain in full compliance.
|
179 |
-
|
180 |
-
5. You are not required to accept this License, since you have not
|
181 |
-
signed it. However, nothing else grants you permission to modify or
|
182 |
-
distribute the Program or its derivative works. These actions are
|
183 |
-
prohibited by law if you do not accept this License. Therefore, by
|
184 |
-
modifying or distributing the Program (or any work based on the
|
185 |
-
Program), you indicate your acceptance of this License to do so, and
|
186 |
-
all its terms and conditions for copying, distributing or modifying
|
187 |
-
the Program or works based on it.
|
188 |
-
|
189 |
-
6. Each time you redistribute the Program (or any work based on the
|
190 |
-
Program), the recipient automatically receives a license from the
|
191 |
-
original licensor to copy, distribute or modify the Program subject to
|
192 |
-
these terms and conditions. You may not impose any further
|
193 |
-
restrictions on the recipients' exercise of the rights granted herein.
|
194 |
-
You are not responsible for enforcing compliance by third parties to
|
195 |
-
this License.
|
196 |
-
|
197 |
-
7. If, as a consequence of a court judgment or allegation of patent
|
198 |
-
infringement or for any other reason (not limited to patent issues),
|
199 |
-
conditions are imposed on you (whether by court order, agreement or
|
200 |
-
otherwise) that contradict the conditions of this License, they do not
|
201 |
-
excuse you from the conditions of this License. If you cannot
|
202 |
-
distribute so as to satisfy simultaneously your obligations under this
|
203 |
-
License and any other pertinent obligations, then as a consequence you
|
204 |
-
may not distribute the Program at all. For example, if a patent
|
205 |
-
license would not permit royalty-free redistribution of the Program by
|
206 |
-
all those who receive copies directly or indirectly through you, then
|
207 |
-
the only way you could satisfy both it and this License would be to
|
208 |
-
refrain entirely from distribution of the Program.
|
209 |
-
|
210 |
-
If any portion of this section is held invalid or unenforceable under
|
211 |
-
any particular circumstance, the balance of the section is intended to
|
212 |
-
apply and the section as a whole is intended to apply in other
|
213 |
-
circumstances.
|
214 |
-
|
215 |
-
It is not the purpose of this section to induce you to infringe any
|
216 |
-
patents or other property right claims or to contest validity of any
|
217 |
-
such claims; this section has the sole purpose of protecting the
|
218 |
-
integrity of the free software distribution system, which is
|
219 |
-
implemented by public license practices. Many people have made
|
220 |
-
generous contributions to the wide range of software distributed
|
221 |
-
through that system in reliance on consistent application of that
|
222 |
-
system; it is up to the author/donor to decide if he or she is willing
|
223 |
-
to distribute software through any other system and a licensee cannot
|
224 |
-
impose that choice.
|
225 |
-
|
226 |
-
This section is intended to make thoroughly clear what is believed to
|
227 |
-
be a consequence of the rest of this License.
|
228 |
-
|
229 |
-
8. If the distribution and/or use of the Program is restricted in
|
230 |
-
certain countries either by patents or by copyrighted interfaces, the
|
231 |
-
original copyright holder who places the Program under this License
|
232 |
-
may add an explicit geographical distribution limitation excluding
|
233 |
-
those countries, so that distribution is permitted only in or among
|
234 |
-
countries not thus excluded. In such case, this License incorporates
|
235 |
-
the limitation as if written in the body of this License.
|
236 |
-
|
237 |
-
9. The Free Software Foundation may publish revised and/or new versions
|
238 |
-
of the General Public License from time to time. Such new versions will
|
239 |
-
be similar in spirit to the present version, but may differ in detail to
|
240 |
-
address new problems or concerns.
|
241 |
-
|
242 |
-
Each version is given a distinguishing version number. If the Program
|
243 |
-
specifies a version number of this License which applies to it and "any
|
244 |
-
later version", you have the option of following the terms and conditions
|
245 |
-
either of that version or of any later version published by the Free
|
246 |
-
Software Foundation. If the Program does not specify a version number of
|
247 |
-
this License, you may choose any version ever published by the Free Software
|
248 |
-
Foundation.
|
249 |
-
|
250 |
-
10. If you wish to incorporate parts of the Program into other free
|
251 |
-
programs whose distribution conditions are different, write to the author
|
252 |
-
to ask for permission. For software which is copyrighted by the Free
|
253 |
-
Software Foundation, write to the Free Software Foundation; we sometimes
|
254 |
-
make exceptions for this. Our decision will be guided by the two goals
|
255 |
-
of preserving the free status of all derivatives of our free software and
|
256 |
-
of promoting the sharing and reuse of software generally.
|
257 |
-
|
258 |
-
NO WARRANTY
|
259 |
-
|
260 |
-
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
261 |
-
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
262 |
-
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
263 |
-
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
264 |
-
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
265 |
-
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
266 |
-
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
267 |
-
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
268 |
-
REPAIR OR CORRECTION.
|
269 |
-
|
270 |
-
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
271 |
-
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
272 |
-
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
273 |
-
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
274 |
-
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
275 |
-
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
276 |
-
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
277 |
-
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
278 |
-
POSSIBILITY OF SUCH DAMAGES.
|
279 |
-
|
280 |
-
END OF TERMS AND CONDITIONS
|
281 |
-
|
282 |
-
How to Apply These Terms to Your New Programs
|
283 |
-
|
284 |
-
If you develop a new program, and you want it to be of the greatest
|
285 |
-
possible use to the public, the best way to achieve this is to make it
|
286 |
-
free software which everyone can redistribute and change under these terms.
|
287 |
-
|
288 |
-
To do so, attach the following notices to the program. It is safest
|
289 |
-
to attach them to the start of each source file to most effectively
|
290 |
-
convey the exclusion of warranty; and each file should have at least
|
291 |
-
the "copyright" line and a pointer to where the full notice is found.
|
292 |
-
|
293 |
-
<one line to give the program's name and a brief idea of what it does.>
|
294 |
-
Copyright (C) <year> <name of author>
|
295 |
-
|
296 |
-
This program is free software; you can redistribute it and/or modify
|
297 |
-
it under the terms of the GNU General Public License as published by
|
298 |
-
the Free Software Foundation; either version 2 of the License, or
|
299 |
-
(at your option) any later version.
|
300 |
-
|
301 |
-
This program is distributed in the hope that it will be useful,
|
302 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
303 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
304 |
-
GNU General Public License for more details.
|
305 |
-
|
306 |
-
You should have received a copy of the GNU General Public License along
|
307 |
-
with this program; if not, write to the Free Software Foundation, Inc.,
|
308 |
-
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
309 |
-
|
310 |
-
Also add information on how to contact you by electronic and paper mail.
|
311 |
-
|
312 |
-
If the program is interactive, make it output a short notice like this
|
313 |
-
when it starts in an interactive mode:
|
314 |
-
|
315 |
-
Gnomovision version 69, Copyright (C) year name of author
|
316 |
-
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
317 |
-
This is free software, and you are welcome to redistribute it
|
318 |
-
under certain conditions; type `show c' for details.
|
319 |
-
|
320 |
-
The hypothetical commands `show w' and `show c' should show the appropriate
|
321 |
-
parts of the General Public License. Of course, the commands you use may
|
322 |
-
be called something other than `show w' and `show c'; they could even be
|
323 |
-
mouse-clicks or menu items--whatever suits your program.
|
324 |
-
|
325 |
-
You should also get your employer (if you work as a programmer) or your
|
326 |
-
school, if any, to sign a "copyright disclaimer" for the program, if
|
327 |
-
necessary. Here is a sample; alter the names:
|
328 |
-
|
329 |
-
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
330 |
-
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
331 |
-
|
332 |
-
<signature of Ty Coon>, 1 April 1989
|
333 |
-
Ty Coon, President of Vice
|
334 |
-
|
335 |
-
This General Public License does not permit incorporating your program into
|
336 |
-
proprietary programs. If your program is a subroutine library, you may
|
337 |
-
consider it more useful to permit linking proprietary applications with the
|
338 |
-
library. If this is what you want to do, use the GNU Lesser General
|
339 |
-
Public License instead of this License.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/README.txt
DELETED
@@ -1,295 +0,0 @@
|
|
1 |
-
=== Favicon by RealFaviconGenerator ===
|
2 |
-
Contributors: phbernard
|
3 |
-
Donate link: http://realfavicongenerator.net/donate
|
4 |
-
Tags: favicon, favicon icon, favicon image, favicon code, favicon change, favicon manager, short icon, addressbar logo, apple touch icon, icon, iphone, admin, wordpress, realfavicongenerator, real favicon generator
|
5 |
-
Requires at least: 3.5
|
6 |
-
Tested up to: 5.8
|
7 |
-
Stable tag: 1.3.21
|
8 |
-
License: GPLv2
|
9 |
-
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
-
|
11 |
-
Create and install your favicon for all platforms: PC/Mac, iPhone/iPad, Android devices, Windows 8 tablets...
|
12 |
-
|
13 |
-
== Description ==
|
14 |
-
|
15 |
-
Generate and setup a favicon for desktop browsers, iPhone/iPad, Android devices, Windows 8 tablets and more. In a matter of seconds, design an icon that looks great on all major platforms.
|
16 |
-
|
17 |
-
Favicon is not just a single `favicon.ico` file dropped in the middle of your site. Nowadays, with so many different platforms and devices, you need a bunch of pictures to get the job done. With RealFaviconGenerator, generate all the icons you need for desktop browsers, iPhone/iPad, Android devices, Windows 8 devices, and more.
|
18 |
-
|
19 |
-
iOS devices use a high resolution Apple touch icon to illustrate bookmarks and home screen shortcuts. A first generation iPhone needs a 57x57 picture, whereas a brand new iPad with Retina screen looks for a 152x152 picture. Android Chrome also use these pictures if it finds them. Windows 8 takes another route with a dedicated set of icons and HTML declarations.
|
20 |
-
|
21 |
-
Favicon is not only a matter of pictures with different resolutions. The various platforms coms with different UI guidelines. For example, the classic desktop favicons often use transparency. But iOS requires opaque icons. And Windows 8 has its own recommendations.
|
22 |
-
|
23 |
-
Save hours of research and image edition with RealFaviconGenerator and its companion plugin. In a matter of seconds, you setup a favicon compatible with:
|
24 |
-
|
25 |
-
- Windows (IE, Chrome, Firefox, Opera, Safari)
|
26 |
-
- Mac (Safari, Chrome, Firefox, Opera, Camino)
|
27 |
-
- iOS (Safari, Chrome, Coast)
|
28 |
-
- Android (Chrome, Firefox)
|
29 |
-
- Surface (IE)
|
30 |
-
- And more
|
31 |
-
|
32 |
-
We take compatibility very seriously. See http://realfavicongenerator.net/favicon_compatibility for the full list.
|
33 |
-
|
34 |
-
** Localization **
|
35 |
-
|
36 |
-
* English (`en_EN`) by [Philippe Bernard](http://realfavicongenerator.net/)
|
37 |
-
* French (`fr_FR`) by [Philippe Bernard](http://realfavicongenerator.net/)
|
38 |
-
* Swedish (`sv_SE`) by [Linus Wileryd](https://twitter.com/wileryd)
|
39 |
-
* Brazilian Portuguese (`pt_BR`) by Marcelo Volgarini, [Criação de Sites](http://www.techload.com.br/criacao-de-sites-ribeirao-preto)
|
40 |
-
* Dutch (`nl_NL`) by [Axel Vanderhaeghen](https://eco13.eu)
|
41 |
-
* Danish (`da_DK`) by [Alexander Leo-Hansen](http://alexanderleohansen.dk/)
|
42 |
-
* Czech (`cs_CZ`) by an anonymous translator
|
43 |
-
* Polish (`pl_PL`) by [Maciej Gryniuk](http://maciej-gryniuk.tk/)
|
44 |
-
* Russian (`ru_RU`) by Natasha Diatko, [UStarCash](https://www.ustarcash.com)
|
45 |
-
* Indonesian (`id_ID`) by [Jordan Silaen](https://www.chameleonjohn.com/)
|
46 |
-
|
47 |
-
[](http://coderisk.com/wp/plugin/favicon-by-realfavicongenerator/RIPS-TVYsdQTMAr)
|
48 |
-
|
49 |
-
== Installation ==
|
50 |
-
|
51 |
-
= Using The WordPress Dashboard =
|
52 |
-
|
53 |
-
1. Navigate to the 'Add New' in the plugins dashboard
|
54 |
-
2. Search for 'Favicon by RealFaviconGenerator'
|
55 |
-
3. Click 'Install Now'
|
56 |
-
4. Activate the plugin on the Plugin dashboard
|
57 |
-
5. Navigate to the 'Favicon' entry in the Appearance menu
|
58 |
-
6. Select a master picture from the Media Library (optional)
|
59 |
-
7. Click the 'Generate Favicon' button and follow the instructions.
|
60 |
-
|
61 |
-
= Using FTP =
|
62 |
-
|
63 |
-
1. Download `favicon-by-realfavicongenerator.zip`
|
64 |
-
2. Extract the `favicon-by-realfavicongenerator` directory to your computer
|
65 |
-
3. Upload the `favicon-by-realfavicongenerator` directory to the `/wp-content/plugins/` directory
|
66 |
-
4. Activate the plugin on the Plugin dashboard
|
67 |
-
5. Navigate to the 'Favicon' entry in the Appearance menu
|
68 |
-
6. Select a master picture from the Media Library (optional)
|
69 |
-
7. Click the 'Generate Favicon' button and follow the instructions.
|
70 |
-
|
71 |
-
== Screenshots ==
|
72 |
-
|
73 |
-
1. Initial favicon setup screen. You are invited to setup your favicon.
|
74 |
-
2. Select a master picture from the Media Library (optional)
|
75 |
-
3. Once you hit the Generate Favicon button, you are redirected to <a href="http://realfavicongenerator.net/">RealFaviconGenerator</a>,
|
76 |
-
where you can design your favicon: adding a background to your iOS picture, using a saturated version of your master picture for Windows 8...
|
77 |
-
4. When you are done with the favicon editor, you are redirected to the WordPress Dashboard. The favicon is installed automatically.
|
78 |
-
This screen presents you a preview of the favicon you various platforms, so you know how your blog looks like on various platforms.
|
79 |
-
5. You can also trigger RealFaviconGenerator's favicon checker, to make sure your favicon is correctly setup.
|
80 |
-
|
81 |
-
== Changelog ==
|
82 |
-
|
83 |
-
= 1.3.21 =
|
84 |
-
|
85 |
-
- Plugin was tested up to WordPress 5.8
|
86 |
-
- Fix XSS security issue, reported by WPSpan.com. See https://wpscan.com/vulnerability/ed9d26be-cc96-4274-a05b-0b7ad9d8cfd9?fbclid=IwAR2aRMXRjbGm9ppoI9tM-OHm26Q0ax4yt0MkcP5sp0-pz9D4eVIEHQwvG1Y
|
87 |
-
|
88 |
-
= 1.3.20 =
|
89 |
-
|
90 |
-
- Fix: media selection works again
|
91 |
-
- Plugin was tested up to WordPress 5.6
|
92 |
-
|
93 |
-
= 1.3.19 =
|
94 |
-
|
95 |
-
- Plugin was tested up to WordPress 5.5.3
|
96 |
-
|
97 |
-
= 1.3.18 =
|
98 |
-
|
99 |
-
- Remove reference to deprecated function screen_icon
|
100 |
-
- Plugin was tested up to WordPress 5.4
|
101 |
-
|
102 |
-
= 1.3.17 =
|
103 |
-
|
104 |
-
- Changes to clear security warnings from CodeRisk
|
105 |
-
|
106 |
-
= 1.3.16 =
|
107 |
-
|
108 |
-
- Plugin was tested up to WordPress 5.3.2
|
109 |
-
|
110 |
-
= 1.3.15 =
|
111 |
-
|
112 |
-
- Plugin was tested up to WordPress 5.1
|
113 |
-
|
114 |
-
= 1.3.14 =
|
115 |
-
|
116 |
-
- Plugin was tested up to WordPress 5.0-beta5
|
117 |
-
|
118 |
-
= 1.3.13 =
|
119 |
-
|
120 |
-
- Plugin was tested up to WordPress 4.9.7
|
121 |
-
|
122 |
-
= 1.3.12 =
|
123 |
-
|
124 |
-
Never published, no change
|
125 |
-
|
126 |
-
= 1.3.11 =
|
127 |
-
|
128 |
-
- id/ID translation added, thanks to Jordan Silaen
|
129 |
-
- Plugin was tested up to WordPress 4.8.1
|
130 |
-
|
131 |
-
= 1.3.10 =
|
132 |
-
|
133 |
-
- Always access RealFaviconGenerator via HTTPS
|
134 |
-
- Clarification in local path separators for Windows
|
135 |
-
- Plugin was tested up to WordPress 4.7.1
|
136 |
-
- Notice to ask administrator to not deactivate the plugin
|
137 |
-
|
138 |
-
= 1.3.9 =
|
139 |
-
|
140 |
-
- Plugin was tested up to WordPress 4.7
|
141 |
-
|
142 |
-
= 1.3.8 =
|
143 |
-
|
144 |
-
- Plugin was tested up to WordPress 4.6
|
145 |
-
|
146 |
-
= 1.3.7 =
|
147 |
-
|
148 |
-
- Fix: Plugin keywords rephrased (some were not taken into account).
|
149 |
-
|
150 |
-
= 1.3.6 =
|
151 |
-
|
152 |
-
- Fix: the icons path was sometimes wrong when the upload directory was the root directory
|
153 |
-
|
154 |
-
= 1.3.5 =
|
155 |
-
|
156 |
-
- pl/PL translation added, thanks to Maciej Gryniuk
|
157 |
-
- ru/RU translation added, thanks to Natasha Diatko
|
158 |
-
|
159 |
-
= 1.3.4 =
|
160 |
-
|
161 |
-
- Plugin was tested up to WordPress 4.5
|
162 |
-
|
163 |
-
= 1.3.3 =
|
164 |
-
|
165 |
-
- Deactivate debug logs
|
166 |
-
|
167 |
-
= 1.3.2 =
|
168 |
-
|
169 |
-
- Typos in French translations
|
170 |
-
- Warning fix for PHP7
|
171 |
-
- Tested up to WordPress 4.4.1
|
172 |
-
- cs/CZ translation added, thanks to an anonymous translator
|
173 |
-
|
174 |
-
= 1.3.1 =
|
175 |
-
|
176 |
-
- Hotfix in previous version.
|
177 |
-
|
178 |
-
= 1.3.0 =
|
179 |
-
|
180 |
-
- The plugin takes advantage of RealFaviconGenerator's non-interactive API to upgrade the favicon automatically whenever a new version is available.
|
181 |
-
|
182 |
-
= 1.2.15 =
|
183 |
-
|
184 |
-
- Donation link added.
|
185 |
-
- Plugin now works when access to file system is via FTP (not direct). See https://wordpress.org/support/topic/no-images-created
|
186 |
-
|
187 |
-
= 1.2.14 =
|
188 |
-
|
189 |
-
- Security improvement.
|
190 |
-
- Warning fix regarding NONCE_ACTION_NAME.
|
191 |
-
- Useless PHP closing tags removed.
|
192 |
-
- Error checking added to favicon package unzipping.
|
193 |
-
|
194 |
-
= 1.2.13 =
|
195 |
-
|
196 |
-
- XSS vulnerability fixed, reported by [Kacper Szurek](http://security.szurek.pl/)
|
197 |
-
|
198 |
-
= 1.2.12 =
|
199 |
-
|
200 |
-
- Performance improvements: favicon update checking is now done in the Admin section (not the Public section), locales are not loaded in the Public section anymore.
|
201 |
-
- Take advantage of the Rewrite API (when available) to make the files appear to be in the root directory. So http://example.com/favicon.ico works (eg. when requested by Yandex).
|
202 |
-
- nl/NL translation added, thanks to Axel Vanderhaeghen.
|
203 |
-
|
204 |
-
= 1.2.11 =
|
205 |
-
|
206 |
-
- When the admin's browser cannot get the picture selected from the Media Library, the UI fails gracefully.
|
207 |
-
- Favicon package unzipping is more robust.
|
208 |
-
- Notice to ask users to rank the plugin on WordPress.org.
|
209 |
-
|
210 |
-
= 1.2.10 =
|
211 |
-
|
212 |
-
- Warning fix when used with BuddyPress (bp_setup_current_user). See https://wordpress.org/support/topic/wp_debug-notice-for-bp_setup_current_user.
|
213 |
-
|
214 |
-
= 1.2.9 =
|
215 |
-
|
216 |
-
- When selected from the Media Library, the master picture is now retrieved by WP administrator's browser to prevent several issues (locally hosted blogs, blogs protected in a way or another, etc.).
|
217 |
-
|
218 |
-
= 1.2.8 =
|
219 |
-
|
220 |
-
- Plugin successfully tested against WordPress 4.1.
|
221 |
-
|
222 |
-
= 1.2.7 =
|
223 |
-
|
224 |
-
- Fix for WordPress sites hosted on Windows.
|
225 |
-
|
226 |
-
= 1.2.6 =
|
227 |
-
|
228 |
-
- The plugin is now compatible with multisite.
|
229 |
-
|
230 |
-
= 1.2.5 =
|
231 |
-
|
232 |
-
- Fix for login page: favicon code was not injected in this particular page.
|
233 |
-
|
234 |
-
= 1.2.4 =
|
235 |
-
|
236 |
-
- Remove debug messages to avoid false positives in error log.
|
237 |
-
|
238 |
-
= 1.2.3 =
|
239 |
-
|
240 |
-
- Update notifications can be dismissed once for all.
|
241 |
-
- New Settings page to enable/disable update notifications.
|
242 |
-
|
243 |
-
= 1.2.2 =
|
244 |
-
|
245 |
-
- Fix for the 403 issue with HostGator hosting service (http://wordpress.org/support/topic/403-error-when-generating-favicon).
|
246 |
-
|
247 |
-
= 1.2.1 =
|
248 |
-
|
249 |
-
- Fix in plugin removal and update checking.
|
250 |
-
|
251 |
-
= 1.2.0 =
|
252 |
-
|
253 |
-
- The plugin now warns the user when RealFaviconGenerator was updated and the favicon should be generated again.
|
254 |
-
|
255 |
-
= 1.1.1 =
|
256 |
-
|
257 |
-
- Rewrite API usage disabled. Favicon files do not appear to be in the root directory of the blog anymore.
|
258 |
-
|
259 |
-
= 1.1.0 =
|
260 |
-
|
261 |
-
- Run RealFaviconGenerator's favicon checker from the admin interface.
|
262 |
-
|
263 |
-
= 1.0.7 =
|
264 |
-
|
265 |
-
- Deactivate default Genesis favicon when one is configured in FbRFG.
|
266 |
-
|
267 |
-
= 1.0.6 =
|
268 |
-
|
269 |
-
- Error management improved during favicon install.
|
270 |
-
|
271 |
-
= 1.0.5 =
|
272 |
-
|
273 |
-
- Do not try to rewrite the favicon files URL when .htaccess is not writable.
|
274 |
-
|
275 |
-
= 1.0.4 =
|
276 |
-
|
277 |
-
- Option to not rewrite the favicon files URL, even when this is possible.
|
278 |
-
|
279 |
-
= 1.0.3 =
|
280 |
-
|
281 |
-
- Plugin code syntax changed to fit older versions of PHP.
|
282 |
-
|
283 |
-
= 1.0.2 =
|
284 |
-
|
285 |
-
- Callback URL was too long for some servers. It has been shorten.
|
286 |
-
|
287 |
-
= 1.0.1 =
|
288 |
-
|
289 |
-
- Favicon admin settings are now in the Appearance menu.
|
290 |
-
- Fix in favicon package download.
|
291 |
-
- Fix in error management during favicon installation.
|
292 |
-
|
293 |
-
= 1.0 =
|
294 |
-
|
295 |
-
Initial version.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/admin/assets/css/admin.css
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
/* Copyright 2014-2016 RealFaviconGenerator */
|
2 |
-
|
3 |
-
.wrap img {
|
4 |
-
border: 2px solid #aaa;
|
5 |
-
}
|
|
|
|
|
|
|
|
|
|
trunk/admin/class-favicon-by-realfavicongenerator-admin.php
DELETED
@@ -1,520 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Copyright 2014-2016 RealFaviconGenerator
|
3 |
-
|
4 |
-
require_once plugin_dir_path( __FILE__ ) . '..' . DIRECTORY_SEPARATOR .
|
5 |
-
'public' . DIRECTORY_SEPARATOR . 'class-favicon-by-realfavicongenerator-common.php';
|
6 |
-
require_once plugin_dir_path( __FILE__ ) . 'class-favicon-by-realfavicongenerator-api-response.php';
|
7 |
-
|
8 |
-
class Favicon_By_RealFaviconGenerator_Admin extends Favicon_By_RealFaviconGenerator_Common {
|
9 |
-
|
10 |
-
const DISMISS_UPDATE_NOTIICATION = 'fbrfg_dismiss_update_notification';
|
11 |
-
const DISMISS_AUTOMATIC_UPDATE_NOTIICATION = 'fbrfg_dismiss_autmatic_update_notification';
|
12 |
-
const DISMISS_UPDATE_ALL_UPDATE_NOTIICATIONS = 'fbrfg_dismiss_all_update_notifications';
|
13 |
-
const SETTINGS_FORM = 'fbrfg_settings_form';
|
14 |
-
const NONCE_ACTION_NAME = 'favicon_generation';
|
15 |
-
|
16 |
-
protected static $instance = null;
|
17 |
-
|
18 |
-
private function __construct() {
|
19 |
-
add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
|
20 |
-
|
21 |
-
add_action( 'admin_head', array( $this, 'add_favicon_markups' ) );
|
22 |
-
|
23 |
-
// Deactivate Genesis default favicon
|
24 |
-
add_filter( 'genesis_pre_load_favicon', array( $this, 'return_empty_favicon_for_genesis' ) );
|
25 |
-
|
26 |
-
// See
|
27 |
-
// - https://wordpress.org/support/topic/wp_debug-notice-for-bp_setup_current_user
|
28 |
-
// - https://buddypress.org/support/topic/wp_debug-notice-for-bp_setup_current_user
|
29 |
-
// The idea: is_super_admin must not be called too soon.
|
30 |
-
add_action( 'init', array( $this, 'register_admin_actions' ) );
|
31 |
-
|
32 |
-
// Check for updates
|
33 |
-
add_action( Favicon_By_RealFaviconGenerator_Common::ACTION_CHECK_FOR_UPDATE, array( $this, 'check_for_updates' ) );
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Return an instance of this class.
|
38 |
-
*
|
39 |
-
* @since 1.0
|
40 |
-
*
|
41 |
-
* @return object A single instance of this class.
|
42 |
-
*/
|
43 |
-
public static function get_instance() {
|
44 |
-
|
45 |
-
// If the single instance hasn't been set, set it now.
|
46 |
-
if ( null == self::$instance ) {
|
47 |
-
self::$instance = new self;
|
48 |
-
}
|
49 |
-
|
50 |
-
return self::$instance;
|
51 |
-
}
|
52 |
-
|
53 |
-
public function register_admin_actions() {
|
54 |
-
// Except for the headers, everything is accessible only to the admin
|
55 |
-
if ( ! is_super_admin() ) {
|
56 |
-
return;
|
57 |
-
}
|
58 |
-
|
59 |
-
add_action( 'admin_menu',
|
60 |
-
array( $this, 'create_favicon_settings_menu' ) );
|
61 |
-
|
62 |
-
add_action('wp_ajax_' . Favicon_By_RealFaviconGenerator_Common::PLUGIN_PREFIX . '_install_new_favicon',
|
63 |
-
array( $this, 'install_new_favicon' ) );
|
64 |
-
add_action('wp_ajax_nopriv_' . Favicon_By_RealFaviconGenerator_Common::PLUGIN_PREFIX . '_install_new_favicon',
|
65 |
-
array( $this, 'install_new_favicon' ) );
|
66 |
-
|
67 |
-
// Update notice
|
68 |
-
add_action('admin_notices', array( $this, 'display_update_notice' ) );
|
69 |
-
add_action('admin_init', array( $this, 'process_ignored_notice' ) );
|
70 |
-
|
71 |
-
// Schedule update check
|
72 |
-
if ( ! wp_next_scheduled( Favicon_By_RealFaviconGenerator_Common::ACTION_CHECK_FOR_UPDATE ) ) {
|
73 |
-
wp_schedule_event( time(), 'daily', Favicon_By_RealFaviconGenerator_Common::ACTION_CHECK_FOR_UPDATE );
|
74 |
-
}
|
75 |
-
}
|
76 |
-
|
77 |
-
public function create_favicon_settings_menu() {
|
78 |
-
add_theme_page( __( 'Favicon', Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG ),
|
79 |
-
__( 'Favicon', Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG ), 'manage_options', __FILE__ . 'favicon_appearance_menu',
|
80 |
-
array( $this, 'create_favicon_appearance_page' ) );
|
81 |
-
|
82 |
-
add_options_page( __( 'Favicon Settings', Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG ),
|
83 |
-
__( 'Favicon', Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG ), 'manage_options', __FILE__ . 'favicon_settings_menu',
|
84 |
-
array( $this, 'create_favicon_settings_page' ) );
|
85 |
-
}
|
86 |
-
|
87 |
-
public function create_favicon_settings_page() {
|
88 |
-
global $current_user;
|
89 |
-
|
90 |
-
$user_id = $current_user->ID;
|
91 |
-
|
92 |
-
// Prepare variables
|
93 |
-
$favicon_appearance_url = admin_url( 'themes.php?page=' . __FILE__ . 'favicon_appearance_menu' );
|
94 |
-
$favicon_admin_url = admin_url( 'options-general.php?page=' . __FILE__ . 'favicon_settings_menu' );
|
95 |
-
$display_update_notifications = ! $this->get_boolean_user_option(
|
96 |
-
Favicon_By_RealFaviconGenerator_Common::META_NO_UPDATE_NOTICE );
|
97 |
-
|
98 |
-
// Template time!
|
99 |
-
include_once( plugin_dir_path(__FILE__) . 'views' . DIRECTORY_SEPARATOR . 'settings.php' );
|
100 |
-
}
|
101 |
-
|
102 |
-
public function create_favicon_appearance_page() {
|
103 |
-
$result = NULL;
|
104 |
-
|
105 |
-
// Prepare settings page
|
106 |
-
|
107 |
-
// Option to allow user to not use the Rewrite API: display it only when the Rewrite API is available
|
108 |
-
// Due to too many problems with the rewrite API (for example, http://wordpress.org/support/topic/do-not-work-8),
|
109 |
-
// it was deciced to turn the feature off once for all
|
110 |
-
$can_rewrite = false;
|
111 |
-
|
112 |
-
$pic_path = $this->get_full_picture_path();
|
113 |
-
|
114 |
-
$favicon_configured = $this->is_favicon_configured();
|
115 |
-
$favicon_in_root = $this->is_favicon_in_root();
|
116 |
-
|
117 |
-
$preview_url = $this->is_preview_available() ? $this->get_preview_url() : NULL;
|
118 |
-
|
119 |
-
if ( isset( $_REQUEST['json_result_url'] ) ) {
|
120 |
-
// New favicon to install:
|
121 |
-
// Parameters will be processed with an Ajax call
|
122 |
-
|
123 |
-
$new_favicon_params_url = filter_var ( $_REQUEST['json_result_url'], FILTER_SANITIZE_URL );
|
124 |
-
$ajax_url = admin_url( 'admin-ajax.php', isset( $_SERVER['HTTPS'] ) ? 'https://' : 'http://' );
|
125 |
-
}
|
126 |
-
else {
|
127 |
-
// No new favicon, simply display the settings page
|
128 |
-
$new_favicon_params_url = NULL;
|
129 |
-
}
|
130 |
-
|
131 |
-
// Nonce
|
132 |
-
$nonce = wp_create_nonce( Favicon_By_RealFaviconGenerator_Admin::NONCE_ACTION_NAME );
|
133 |
-
|
134 |
-
// External files
|
135 |
-
wp_enqueue_script( 'jquery' );
|
136 |
-
wp_enqueue_script( 'jquery-ui' );
|
137 |
-
wp_enqueue_script( 'jquery-effects-pulsate' );
|
138 |
-
wp_enqueue_media();
|
139 |
-
wp_enqueue_style( 'fbrfg_admin_style', plugins_url(
|
140 |
-
'assets' . DIRECTORY_SEPARATOR . 'css' . DIRECTORY_SEPARATOR . 'admin.css',
|
141 |
-
__FILE__ ) );
|
142 |
-
|
143 |
-
// Template time!
|
144 |
-
include_once( plugin_dir_path(__FILE__) . 'views' . DIRECTORY_SEPARATOR .
|
145 |
-
'appearance.php' );
|
146 |
-
}
|
147 |
-
|
148 |
-
private function download_result_json( $url ) {
|
149 |
-
$resp = wp_remote_get( $url );
|
150 |
-
if ( is_wp_error( $resp )) {
|
151 |
-
throw new InvalidArgumentException( "Cannot download JSON file at " . htmlspecialchars( $url ) . ": " . $resp->get_error_message() );
|
152 |
-
}
|
153 |
-
|
154 |
-
$json = wp_remote_retrieve_body( $resp );
|
155 |
-
if ( empty( $json ) ) {
|
156 |
-
throw new InvalidArgumentException( "Empty JSON document at " . $url );
|
157 |
-
}
|
158 |
-
|
159 |
-
return $json;
|
160 |
-
}
|
161 |
-
|
162 |
-
public function install_new_favicon() {
|
163 |
-
header("Content-type: application/json");
|
164 |
-
|
165 |
-
try {
|
166 |
-
// URL is explicitely decoded to compensate the extra encoding performed while generating the settings page
|
167 |
-
$url = 'https://realfavicongenerator.net' . $_REQUEST['json_result_url'];
|
168 |
-
|
169 |
-
$result = $this->download_result_json( $url );
|
170 |
-
|
171 |
-
$response = new Favicon_By_RealFaviconGenerator_Api_Response( $result );
|
172 |
-
|
173 |
-
if ( ! wp_verify_nonce( $response->getCustomParameter(), Favicon_By_RealFaviconGenerator_Admin::NONCE_ACTION_NAME ) ) {
|
174 |
-
// Attack in progress?
|
175 |
-
?>
|
176 |
-
{
|
177 |
-
"status": "error",
|
178 |
-
"message": "<?php _e( 'Nonce was not recognized. This case is supposed to happen only in case of XSS attack. If you feel like something is wrong, please <a href=\"mailto:contact@realfavicongenerator.net\">contact us</a>.', FBRFG_PLUGIN_SLUG ) ?>"
|
179 |
-
}
|
180 |
-
<?php
|
181 |
-
}
|
182 |
-
else {
|
183 |
-
$zip_path = Favicon_By_RealFaviconGenerator_Common::get_tmp_dir();
|
184 |
-
if ( ! file_exists( $zip_path ) ) {
|
185 |
-
if ( mkdir( $zip_path, 0755, true ) !== true ) {
|
186 |
-
throw new InvalidArgumentException( sprintf( __( 'Cannot create directory %s to store the favicon package', FBRFG_PLUGIN_SLUG), $zip_path ) );
|
187 |
-
}
|
188 |
-
}
|
189 |
-
$response->downloadAndUnpack( $zip_path );
|
190 |
-
|
191 |
-
$this->store_pictures( $response );
|
192 |
-
|
193 |
-
$this->store_preview( $response->getPreviewPath() );
|
194 |
-
|
195 |
-
Favicon_By_RealFaviconGenerator_Common::remove_directory( $zip_path );
|
196 |
-
|
197 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_HTML_CODE, $response->getHtmlCode() );
|
198 |
-
|
199 |
-
$this->set_favicon_configured( true, $response->isFilesInRoot(), $response->getVersion(), $response->getNonInteractiveAPIRequest() );
|
200 |
-
?>
|
201 |
-
{
|
202 |
-
"status": "success",
|
203 |
-
"preview_url": <?php echo json_encode( $this->get_preview_url() ) ?>,
|
204 |
-
"favicon_in_root": <?php echo json_encode( $this->is_favicon_in_root() ) ?>
|
205 |
-
}
|
206 |
-
<?php
|
207 |
-
}
|
208 |
-
}
|
209 |
-
catch(Exception $e) {
|
210 |
-
?>
|
211 |
-
{
|
212 |
-
"status": "error",
|
213 |
-
"message": <?php echo json_encode( $e->getMessage() ) ?>
|
214 |
-
}
|
215 |
-
<?php
|
216 |
-
}
|
217 |
-
|
218 |
-
die();
|
219 |
-
}
|
220 |
-
|
221 |
-
public function get_picture_dir() {
|
222 |
-
return Favicon_By_RealFaviconGenerator_Common::get_files_dir();
|
223 |
-
}
|
224 |
-
|
225 |
-
/**
|
226 |
-
* Returns http//somesite.com/blog/wp-content/upload/fbrfg/
|
227 |
-
*/
|
228 |
-
public function get_picture_url() {
|
229 |
-
return Favicon_By_RealFaviconGenerator_Common::get_files_url();
|
230 |
-
}
|
231 |
-
|
232 |
-
/**
|
233 |
-
* Returns /blog/wp-content/upload/fbrfg/
|
234 |
-
*/
|
235 |
-
public function get_full_picture_path() {
|
236 |
-
return parse_url( $this->get_picture_url(), PHP_URL_PATH );
|
237 |
-
}
|
238 |
-
|
239 |
-
/**
|
240 |
-
* Returns wp-content/upload/fbrfg/
|
241 |
-
*/
|
242 |
-
public function get_picture_path() {
|
243 |
-
return substr( $this->get_picture_url(), strlen( home_url() ) );
|
244 |
-
}
|
245 |
-
|
246 |
-
public function get_preview_path( $preview_file_name = NULL ) {
|
247 |
-
if ( ! $preview_file_name ) {
|
248 |
-
$preview_file_name = $this->get_preview_file_name();
|
249 |
-
}
|
250 |
-
return $this->get_picture_dir() . 'preview' . DIRECTORY_SEPARATOR .
|
251 |
-
$preview_file_name;
|
252 |
-
}
|
253 |
-
|
254 |
-
public function get_preview_url( $preview_file_name = NULL ) {
|
255 |
-
if ( ! $preview_file_name ) {
|
256 |
-
$preview_file_name = $this->get_preview_file_name();
|
257 |
-
}
|
258 |
-
return $this->get_picture_url() . '/preview/' . $preview_file_name;
|
259 |
-
}
|
260 |
-
|
261 |
-
public function store_preview( $preview_path ) {
|
262 |
-
// Remove previous preview, if any
|
263 |
-
$previous_preview = $this->get_preview_file_name();
|
264 |
-
if ( $previous_preview != NULL && ( file_exists( $this->get_preview_path( $previous_preview ) ) ) ) {
|
265 |
-
unlink( $this->get_preview_path( $previous_preview ) );
|
266 |
-
}
|
267 |
-
|
268 |
-
if ( $preview_path == NULL ) {
|
269 |
-
// "Unregister" previous preview, if any
|
270 |
-
$this->set_preview_file_name( NULL );
|
271 |
-
return NULL;
|
272 |
-
}
|
273 |
-
else {
|
274 |
-
$preview_file_name = 'preview_' . hash( 'sha256', 'RFB stuff here ' . rand() . microtime() ) . '.png';
|
275 |
-
}
|
276 |
-
|
277 |
-
if ( ! file_exists( dirname( $this->get_preview_path( $preview_file_name ) ) ) ) {
|
278 |
-
mkdir( dirname( $this->get_preview_path( $preview_file_name ) ), 0755 );
|
279 |
-
}
|
280 |
-
|
281 |
-
$this->portable_rename( $preview_path, $this->get_preview_path( $preview_file_name ) );
|
282 |
-
|
283 |
-
$this->set_preview_file_name( $preview_file_name );
|
284 |
-
}
|
285 |
-
|
286 |
-
public function store_pictures( $rfg_response ) {
|
287 |
-
$working_dir = $this->get_picture_dir();
|
288 |
-
|
289 |
-
// Move pictures to production directory
|
290 |
-
$files = glob( $working_dir . '*' );
|
291 |
-
foreach( $files as $file ) {
|
292 |
-
if ( is_file( $file ) ) {
|
293 |
-
unlink( $file );
|
294 |
-
}
|
295 |
-
}
|
296 |
-
$files = glob( $rfg_response->getProductionPackagePath() . '/*' );
|
297 |
-
foreach( $files as $file ) {
|
298 |
-
if ( is_file( $file ) ) {
|
299 |
-
$this->portable_rename( $file, $working_dir . basename( $file ) );
|
300 |
-
}
|
301 |
-
}
|
302 |
-
|
303 |
-
// Even if the package was not supposed to be put in root, make the files (also) appear at the root of the site
|
304 |
-
// So /favicon.ico works, for example.
|
305 |
-
// See https://wordpress.org/support/topic/choose-between-rewrite-api-and-dedicated-directory
|
306 |
-
if ( $this->can_access_pics_with_url_rewrite() ) {
|
307 |
-
$this->rewrite_pictures_url( $working_dir );
|
308 |
-
flush_rewrite_rules();
|
309 |
-
}
|
310 |
-
}
|
311 |
-
|
312 |
-
public function rewrite_pictures_url( $pic_dir ) {
|
313 |
-
foreach ( scandir( $pic_dir ) as $file ) {
|
314 |
-
if ( ! is_dir( $pic_dir . DIRECTORY_SEPARATOR . $file ) ) {
|
315 |
-
add_rewrite_rule( str_replace( '.', '\.', $file ),
|
316 |
-
trim( $this->get_picture_path(), '/' ) . '/' . $file );
|
317 |
-
}
|
318 |
-
}
|
319 |
-
}
|
320 |
-
|
321 |
-
/**
|
322 |
-
* Indicate if it is possible to create URLs such as /favicon.ico
|
323 |
-
*/
|
324 |
-
public function can_access_pics_with_url_rewrite() {
|
325 |
-
global $wp_rewrite;
|
326 |
-
|
327 |
-
// If blog is in root AND rewriting is available (http://wordpress.stackexchange.com/questions/142273/checking-that-the-rewrite-api-is-available),
|
328 |
-
// we can produce URLs such as /favicon.ico
|
329 |
-
$rewrite = ( $this->wp_in_root() && $wp_rewrite->using_permalinks() );
|
330 |
-
if ( ! $rewrite ) {
|
331 |
-
return false;
|
332 |
-
}
|
333 |
-
|
334 |
-
// See http://wordpress.org/support/topic/fbrfg-not-updating-htaccess-rewrite-rules
|
335 |
-
$htaccess = get_home_path() . DIRECTORY_SEPARATOR . '.htaccess';
|
336 |
-
// Two cases:
|
337 |
-
// - There is no .htaccess. Either we are not using Apache (so the Rewrite API is supposed to handle
|
338 |
-
// the rewriting differently) or there is a problem with Apache/WordPress config, but this is not our job.
|
339 |
-
// - .htaccess is present. If so, it should be writable.
|
340 |
-
return ( ( ! file_exists( $htaccess ) ) || is_writable( $htaccess ) );
|
341 |
-
}
|
342 |
-
|
343 |
-
/**
|
344 |
-
* Indicate if WP is installed in the root of the web site (eg. http://mysite.com) or not (eg. http://mysite.com/blog).
|
345 |
-
*/
|
346 |
-
public function wp_in_root() {
|
347 |
-
$path = parse_url( home_url(), PHP_URL_PATH );
|
348 |
-
return ( ($path == NULL) || (strlen( $path ) == 0) );
|
349 |
-
}
|
350 |
-
|
351 |
-
public function set_boolean_user_option( $option_name, $option_value ) {
|
352 |
-
global $current_user;
|
353 |
-
$user_id = $current_user->ID;
|
354 |
-
|
355 |
-
update_user_option( $user_id, $option_name, $option_value );
|
356 |
-
}
|
357 |
-
|
358 |
-
public function get_boolean_user_option( $option_name ) {
|
359 |
-
global $current_user;
|
360 |
-
$user_id = $current_user->ID;
|
361 |
-
|
362 |
-
return get_user_option( $option_name );
|
363 |
-
}
|
364 |
-
|
365 |
-
public function is_manual_update_notice_to_be_displayed() {
|
366 |
-
$this->log_info( 'Check if manual update notice should be displayed' );
|
367 |
-
|
368 |
-
if ( isset($_REQUEST['json_result_url'] ) ) {
|
369 |
-
$this->log_info( 'Favicon installation in progress, disable notice' );
|
370 |
-
return false;
|
371 |
-
}
|
372 |
-
|
373 |
-
// Did the user prevent all notices?
|
374 |
-
if ( $this->get_boolean_user_option( Favicon_By_RealFaviconGenerator_Common::META_NO_UPDATE_NOTICE ) ) {
|
375 |
-
$this->log_info( 'User disabled all update notices' );
|
376 |
-
return false;
|
377 |
-
}
|
378 |
-
|
379 |
-
// No update
|
380 |
-
if ( $this->get_latest_manual_available_update() == NULL ) {
|
381 |
-
$this->log_info( 'There is no pending manual update' );
|
382 |
-
return false;
|
383 |
-
}
|
384 |
-
|
385 |
-
// Did the user prevent the notice for this particular version?
|
386 |
-
if ( $this->get_boolean_user_option( Favicon_By_RealFaviconGenerator_Common::META_NO_UPDATE_NOTICE_FOR_VERSION . $this->get_latest_manual_available_update() ) ) {
|
387 |
-
$this->log_info( 'User disabled update notices for ' . $this->get_latest_manual_available_update() );
|
388 |
-
return false;
|
389 |
-
}
|
390 |
-
|
391 |
-
// If, for some reasons, the current version matches the "latest update",
|
392 |
-
// then the updated was already done.
|
393 |
-
$result = ( $this->get_latest_manual_available_update() != $this->get_favicon_current_version() );
|
394 |
-
$this->log_info( 'Compare current version (' . $this->get_favicon_current_version() . ') and latest update (' .
|
395 |
-
$this->get_latest_manual_available_update() . '): ' . ( $result ? 'true' : 'false' ) );
|
396 |
-
|
397 |
-
return $result;
|
398 |
-
}
|
399 |
-
|
400 |
-
public function is_automatic_update_notice_to_be_displayed() {
|
401 |
-
$this->log_info( 'Check if automatic update notice should be displayed' );
|
402 |
-
|
403 |
-
if ( isset($_REQUEST['json_result_url'] ) ) {
|
404 |
-
$this->log_info( 'Favicon installation in progress, disable notice' );
|
405 |
-
return false;
|
406 |
-
}
|
407 |
-
|
408 |
-
// Did the user prevent all notices?
|
409 |
-
if ( $this->get_boolean_user_option( Favicon_By_RealFaviconGenerator_Common::META_NO_UPDATE_NOTICE ) ) {
|
410 |
-
$this->log_info( 'User disabled all update notices' );
|
411 |
-
return false;
|
412 |
-
}
|
413 |
-
|
414 |
-
$versions = $this->get_most_recent_automatic_update();
|
415 |
-
// Was there an update?
|
416 |
-
if ( $versions == NULL ) {
|
417 |
-
$this->log_info( 'There was no automatic update' );
|
418 |
-
return false;
|
419 |
-
}
|
420 |
-
|
421 |
-
// Did the user prevent the notice for this particular version?
|
422 |
-
if ( $this->get_boolean_user_option( Favicon_By_RealFaviconGenerator_Common::META_NO_AUTOMATIC_UPDATE_NOTICE_FOR_VERSION . $versions[0] . '_' . $versions[1] ) ) {
|
423 |
-
$this->log_info( 'User disabled update notice for update from ' . $versions[0] . ' to ' . $versions[1] );
|
424 |
-
return false;
|
425 |
-
}
|
426 |
-
|
427 |
-
$this->log_info( 'Automatic update notice should be displayed' );
|
428 |
-
return true;
|
429 |
-
}
|
430 |
-
|
431 |
-
public function display_update_notice() {
|
432 |
-
if ( $this->is_manual_update_notice_to_be_displayed() ) {
|
433 |
-
$this->log_info( 'Display manual update notice' );
|
434 |
-
|
435 |
-
$description = $this->get_updates_description( $this->get_favicon_current_version(), $this->get_latest_manual_available_update() );
|
436 |
-
?>
|
437 |
-
<div class="update-nag">
|
438 |
-
<p>
|
439 |
-
<strong><?php _e( 'An update is available on RealFaviconGenerator:', FBRFG_PLUGIN_SLUG ) ?></strong>
|
440 |
-
</p>
|
441 |
-
|
442 |
-
<?php echo $description ?>
|
443 |
-
|
444 |
-
<p>
|
445 |
-
<?php printf( __( 'You might want to <a href="%s">generate your favicon again</a>',
|
446 |
-
FBRFG_PLUGIN_SLUG ), admin_url( 'themes.php?page=' . __FILE__ . 'favicon_appearance_menu') ) ?>
|
447 |
-
</p>
|
448 |
-
|
449 |
-
<p>
|
450 |
-
<a href="<?php echo $this->add_parameter_to_current_url( Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_NOTIICATION . '=0' ) ?>">
|
451 |
-
<?php _e( 'Hide this notice', FBRFG_PLUGIN_SLUG) ?>
|
452 |
-
</a>
|
453 |
-
|
|
454 |
-
<a href="<?php echo $this->add_parameter_to_current_url( Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_ALL_UPDATE_NOTIICATIONS . '=0' ) ?>">
|
455 |
-
<?php _e( 'Do not warn me again in case of update', FBRFG_PLUGIN_SLUG) ?>
|
456 |
-
</a>
|
457 |
-
</p>
|
458 |
-
</div>
|
459 |
-
<?php
|
460 |
-
}
|
461 |
-
else if ( $this->is_automatic_update_notice_to_be_displayed() ) {
|
462 |
-
$this->log_info( 'Display automatic update notice' );
|
463 |
-
|
464 |
-
$auto_versions = $this->get_most_recent_automatic_update();
|
465 |
-
$description = $this->get_updates_description( $auto_versions[0], $auto_versions[1] );
|
466 |
-
?>
|
467 |
-
<div class="update-nag">
|
468 |
-
<p><strong><?php _e( 'Your favicon was updated automatically:', FBRFG_PLUGIN_SLUG ) ?></strong></p>
|
469 |
-
|
470 |
-
<?php echo $description ?>
|
471 |
-
|
472 |
-
<p>
|
473 |
-
<a href="<?php echo $this->add_parameter_to_current_url( Favicon_By_RealFaviconGenerator_Admin::DISMISS_AUTOMATIC_UPDATE_NOTIICATION . '=0' ) ?>">
|
474 |
-
<?php _e( 'Hide this notice', FBRFG_PLUGIN_SLUG) ?>
|
475 |
-
</a>
|
476 |
-
|
|
477 |
-
<a href="<?php echo $this->add_parameter_to_current_url( Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_ALL_UPDATE_NOTIICATIONS . '=0' ) ?>">
|
478 |
-
<?php _e( 'Do not warn me again in case of update', FBRFG_PLUGIN_SLUG) ?>
|
479 |
-
</a>
|
480 |
-
</p>
|
481 |
-
</div>
|
482 |
-
<?php
|
483 |
-
}
|
484 |
-
}
|
485 |
-
|
486 |
-
public function process_ignored_notice() {
|
487 |
-
global $current_user;
|
488 |
-
$user_id = $current_user->ID;
|
489 |
-
|
490 |
-
if ( isset( $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_NOTIICATION] ) &&
|
491 |
-
'0' == $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_NOTIICATION] ) {
|
492 |
-
$this->log_info( 'Disable manual update notice for ' . $this->get_latest_manual_available_update() );
|
493 |
-
$this->set_boolean_user_option( Favicon_By_RealFaviconGenerator_Common::META_NO_UPDATE_NOTICE_FOR_VERSION . $this->get_latest_manual_available_update(), true );
|
494 |
-
}
|
495 |
-
|
496 |
-
if ( isset( $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::DISMISS_AUTOMATIC_UPDATE_NOTIICATION] ) &&
|
497 |
-
'0' == $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::DISMISS_AUTOMATIC_UPDATE_NOTIICATION] ) {
|
498 |
-
$versions = $this->get_most_recent_automatic_update();
|
499 |
-
$this->log_info( 'Disable automatic update notice for ' . $versions[0] . '-' . $versions[1] );
|
500 |
-
$this->set_boolean_user_option( Favicon_By_RealFaviconGenerator_Common::META_NO_AUTOMATIC_UPDATE_NOTICE_FOR_VERSION .
|
501 |
-
$versions[0] . '_' . $versions[1], true );
|
502 |
-
}
|
503 |
-
|
504 |
-
$no_notices = NULL;
|
505 |
-
if ( ( isset( $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_ALL_UPDATE_NOTIICATIONS] ) &&
|
506 |
-
'0' == $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_ALL_UPDATE_NOTIICATIONS] ) ) {
|
507 |
-
// The "no more notifications" link was clicked in the notification itself
|
508 |
-
$no_notices = true;
|
509 |
-
}
|
510 |
-
if ( isset( $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::SETTINGS_FORM] ) &&
|
511 |
-
'1' == $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::SETTINGS_FORM] ) {
|
512 |
-
// The settings form was validated
|
513 |
-
$no_notices = ( ! isset( $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_ALL_UPDATE_NOTIICATIONS] ) ||
|
514 |
-
( '0' == $_REQUEST[Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_ALL_UPDATE_NOTIICATIONS] ) );
|
515 |
-
}
|
516 |
-
if ( $no_notices !== NULL ) {
|
517 |
-
$this->set_boolean_user_option( Favicon_By_RealFaviconGenerator_Common::META_NO_UPDATE_NOTICE, $no_notices );
|
518 |
-
}
|
519 |
-
}
|
520 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/admin/class-favicon-by-realfavicongenerator-api-response.php
DELETED
@@ -1,307 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Copyright 2014-2016 RealFaviconGenerator
|
3 |
-
|
4 |
-
define( 'RFG_PACKAGE_URL', 'package_url' );
|
5 |
-
define( 'RFG_COMPRESSION', 'compression' );
|
6 |
-
define( 'RFG_HTML_CODE', 'html_code' );
|
7 |
-
define( 'RFG_FILES_URLS', 'files_url' );
|
8 |
-
define( 'RFG_FILES_IN_ROOT', 'files_in_root' );
|
9 |
-
define( 'RFG_FILES_PATH', 'files_path' );
|
10 |
-
define( 'RFG_PREVIEW_PICTURE_URL', 'preview_picture_url' );
|
11 |
-
define( 'RFG_CUSTOM_PARAMETER', 'custom_parameter' );
|
12 |
-
define( 'RFG_VERSION', 'version' );
|
13 |
-
define( 'RFG_NON_INTERACTIVE_API_REQUEST', 'non_interactive_api_request' );
|
14 |
-
|
15 |
-
define( 'RFG_FAVICON_PRODUCTION_PACKAGE_PATH', 'favicon_production_package_path' );
|
16 |
-
define( 'RFG_FAVICON_COMPRESSED_PACKAGE_PATH', 'favicon_compressed_package_path' );
|
17 |
-
define( 'RFG_FAVICON_UNCOMPRESSED_PACKAGE_PATH', 'favicon_uncompressed_package_path' );
|
18 |
-
define( 'RFG_PREVIEW_PATH', 'preview_path' );
|
19 |
-
|
20 |
-
class Favicon_By_RealFaviconGenerator_Api_Response {
|
21 |
-
|
22 |
-
private $params = array();
|
23 |
-
|
24 |
-
public function __construct( $json ) {
|
25 |
-
if ( $json == NULL ) {
|
26 |
-
throw new InvalidArgumentException( "No response from RealFaviconGenerator" );
|
27 |
-
}
|
28 |
-
|
29 |
-
$response = json_decode( $json, true );
|
30 |
-
|
31 |
-
if ( $response == NULL ) {
|
32 |
-
throw new InvalidArgumentException( "JSON could not be parsed" );
|
33 |
-
}
|
34 |
-
|
35 |
-
$response = $this->getParam( $response, 'favicon_generation_result' );
|
36 |
-
$result = $this->getParam( $response, 'result' );
|
37 |
-
$status = $this->getParam( $result, 'status' );
|
38 |
-
|
39 |
-
if ( $status != 'success' ) {
|
40 |
-
$msg = $this->getParam( $result, 'error_message', false );
|
41 |
-
$msg = $msg != NULL ? $msg : 'An error occured';
|
42 |
-
throw new InvalidArgumentException( $msg );
|
43 |
-
}
|
44 |
-
|
45 |
-
$favicon = $this->getParam( $response, 'favicon' );
|
46 |
-
$this->params[RFG_PACKAGE_URL] = $this->getParam( $favicon, 'package_url' );
|
47 |
-
$this->params[RFG_COMPRESSION] = $this->getParam( $favicon, 'compression' ) == 'true';
|
48 |
-
$this->params[RFG_HTML_CODE] = $this->getParam( $favicon, 'html_code' );
|
49 |
-
$this->params[RFG_FILES_URLS] = $this->getParam( $favicon, 'files_urls' );
|
50 |
-
|
51 |
-
$filesLoc = $this->getParam( $response, 'files_location' );
|
52 |
-
$this->params[RFG_FILES_IN_ROOT] = $this->getParam( $filesLoc, 'type' ) == 'root';
|
53 |
-
$this->params[RFG_FILES_PATH] = $this->params[RFG_FILES_IN_ROOT] ? '/' : $this->getParam( $filesLoc, 'path' );
|
54 |
-
|
55 |
-
$this->params[RFG_PREVIEW_PICTURE_URL] = $this->getParam( $response, 'preview_picture_url', false );
|
56 |
-
|
57 |
-
$this->params[RFG_CUSTOM_PARAMETER] = $this->getParam( $response, 'custom_parameter', false );
|
58 |
-
$this->params[RFG_VERSION] = $this->getParam($response, 'version', false );
|
59 |
-
|
60 |
-
$this->params[RFG_NON_INTERACTIVE_API_REQUEST] = $this->getParam($response, 'non_interactive_request', false );
|
61 |
-
}
|
62 |
-
|
63 |
-
/**
|
64 |
-
* For example: <code>"http://realfavicongenerator.net/files/1234f5d2s34f3ds2/package.zip"</code>
|
65 |
-
*/
|
66 |
-
public function getPackageUrl() {
|
67 |
-
return $this->params[RFG_PACKAGE_URL];
|
68 |
-
}
|
69 |
-
|
70 |
-
/**
|
71 |
-
* For example: <code>array( "http://realfavicongenerator.net/files/1234f5d2s34f3ds2/apple-touch-icon.png", ... )</code>
|
72 |
-
*/
|
73 |
-
public function getFilesURLs() {
|
74 |
-
return $this->params[RFG_FILES_URLS];
|
75 |
-
}
|
76 |
-
|
77 |
-
/**
|
78 |
-
* For example: <code>"<link ..."</code>
|
79 |
-
*/
|
80 |
-
public function getHtmlCode() {
|
81 |
-
return $this->params[RFG_HTML_CODE];
|
82 |
-
}
|
83 |
-
|
84 |
-
/**
|
85 |
-
* <code>true</code> if the user chose to compress the pictures, <code>false</code> otherwise.
|
86 |
-
*/
|
87 |
-
public function isCompressed() {
|
88 |
-
return $this->params[RFG_COMPRESSION];
|
89 |
-
}
|
90 |
-
|
91 |
-
/**
|
92 |
-
* <code>true</code> if the favicon files are to be stored in the root directory of the target web site, <code>false</code> otherwise.
|
93 |
-
*/
|
94 |
-
public function isFilesInRoot() {
|
95 |
-
return $this->params[RFG_FILES_IN_ROOT];
|
96 |
-
}
|
97 |
-
|
98 |
-
/**
|
99 |
-
* Indicate where the favicon files should be stored in the target web site. For example: <code>"/"</code>, <code>"/path/to/icons"</code>.
|
100 |
-
*/
|
101 |
-
public function getFilesLocation() {
|
102 |
-
return $this->params[RFG_FILES_PATH];
|
103 |
-
}
|
104 |
-
|
105 |
-
/**
|
106 |
-
* For example: <code>"http://realfavicongenerator.net/files/1234f5d2s34f3ds2/preview.png"</code>
|
107 |
-
*/
|
108 |
-
public function getPreviewUrl() {
|
109 |
-
return $this->params[RFG_PREVIEW_PICTURE_URL];
|
110 |
-
}
|
111 |
-
|
112 |
-
/**
|
113 |
-
* Return the customer parameter, as it was transmitted during the invocation of the API.
|
114 |
-
*/
|
115 |
-
public function getCustomParameter() {
|
116 |
-
return $this->params[RFG_CUSTOM_PARAMETER];
|
117 |
-
}
|
118 |
-
|
119 |
-
/**
|
120 |
-
* Return version of RealFaviconGenerator used to generate the favicon. Save this value to later check for updates.
|
121 |
-
*/
|
122 |
-
public function getVersion() {
|
123 |
-
return $this->params[RFG_VERSION];
|
124 |
-
}
|
125 |
-
|
126 |
-
/**
|
127 |
-
* Return the non-interactive API request that matches the current interactive request.
|
128 |
-
*/
|
129 |
-
public function getNonInteractiveAPIRequest() {
|
130 |
-
return $this->params[RFG_NON_INTERACTIVE_API_REQUEST];
|
131 |
-
}
|
132 |
-
|
133 |
-
private function getParam( $params, $paramName, $throwIfNotFound = true ) {
|
134 |
-
if ( isset( $params[$paramName] ) ) {
|
135 |
-
return $params[$paramName];
|
136 |
-
}
|
137 |
-
else if ( $throwIfNotFound ) {
|
138 |
-
throw new InvalidArgumentException( "Cannot find parameter " . $paramName );
|
139 |
-
}
|
140 |
-
}
|
141 |
-
|
142 |
-
/**
|
143 |
-
* Download and extract the files referenced by the response sent back by RealFaviconGenerator.
|
144 |
-
*
|
145 |
-
* Warning: as this method does HTTP accesses, calling it can take a few seconds. Better invoke it
|
146 |
-
* in an Ajax call, to not slow down the user experience.
|
147 |
-
*/
|
148 |
-
public function downloadAndUnpack( $outputDirectory = NULL ) {
|
149 |
-
global $wp_filesystem;
|
150 |
-
if ( $outputDirectory == NULL ) {
|
151 |
-
$outputDirectory = get_temp_dir();
|
152 |
-
}
|
153 |
-
|
154 |
-
$outputDirectory = $this->append_directory_separator( $outputDirectory );
|
155 |
-
|
156 |
-
if ( $this->getPackageUrl() != NULL ) {
|
157 |
-
$extractedPath = $outputDirectory . 'favicon_package';
|
158 |
-
if ( ! file_exists( $extractedPath ) ) {
|
159 |
-
if ( mkdir( $extractedPath, 0755, true ) !== true ) {
|
160 |
-
throw new InvalidArgumentException(
|
161 |
-
sprintf( __( 'Cannot create directory %s to store the favicon package content', FBRFG_PLUGIN_SLUG), $extractedPath ) );
|
162 |
-
}
|
163 |
-
}
|
164 |
-
|
165 |
-
try {
|
166 |
-
$this->downloadZipFile( $outputDirectory, $extractedPath, $this->getPackageUrl() );
|
167 |
-
}
|
168 |
-
catch(Exception $e) {
|
169 |
-
// Zip file download failed, try getting files directly
|
170 |
-
$this->downloadFilesDirectly( $extractedPath, array() );
|
171 |
-
}
|
172 |
-
}
|
173 |
-
|
174 |
-
if ( $this->getPreviewUrl() != NULL ) {
|
175 |
-
$previewPath = $outputDirectory . 'favicon_preview.png';
|
176 |
-
$this->downloadFile( $previewPath, $this->getPreviewUrl() );
|
177 |
-
$this->params[RFG_PREVIEW_PATH] = $previewPath;
|
178 |
-
}
|
179 |
-
}
|
180 |
-
|
181 |
-
public function downloadFilesDirectly( $outputDirectory, $filesURLs ) {
|
182 |
-
foreach($this->getFilesURLs() as $fileURL ) {
|
183 |
-
$parts = parse_url( $fileURL );
|
184 |
-
$filePath = $outputDirectory . DIRECTORY_SEPARATOR .
|
185 |
-
basename( $parts['path'] );
|
186 |
-
$this->downloadFile( $filePath, $fileURL );
|
187 |
-
}
|
188 |
-
|
189 |
-
$this->params[RFG_FAVICON_PRODUCTION_PACKAGE_PATH] = $outputDirectory;
|
190 |
-
if ( $this->isCompressed() ) {
|
191 |
-
$this->params[RFG_FAVICON_COMPRESSED_PACKAGE_PATH] = $extractedPath;
|
192 |
-
$this->params[RFG_FAVICON_UNCOMPRESSED_PACKAGE_PATH] = NULL;
|
193 |
-
}
|
194 |
-
else {
|
195 |
-
$this->params[RFG_FAVICON_COMPRESSED_PACKAGE_PATH] = NULL;
|
196 |
-
$this->params[RFG_FAVICON_UNCOMPRESSED_PACKAGE_PATH] = $extractedPath;
|
197 |
-
}
|
198 |
-
}
|
199 |
-
|
200 |
-
public function downloadZipFile( $packageDirectory, $extractedPath, $packageUrl ) {
|
201 |
-
$packagePath = $packageDirectory . 'favicon_package.zip';
|
202 |
-
$this->downloadFile( $packagePath, $packageUrl );
|
203 |
-
|
204 |
-
$ret = WP_Filesystem();
|
205 |
-
$result = unzip_file( $packagePath, $extractedPath );
|
206 |
-
if ( $result !== true ) {
|
207 |
-
$explanation = ( is_wp_error( $result ) )
|
208 |
-
? $result->get_error_message()
|
209 |
-
: __( 'Unknown reason', Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG );
|
210 |
-
if ( get_class($wp_filesystem) != 'WP_Filesystem_Direct' ) {
|
211 |
-
$explanation .= ' ' . __( "Apparently WordPress has no direct access to the file system (it uses another mean such as FTP). " .
|
212 |
-
"This may be the root cause of this issue.", Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG );
|
213 |
-
}
|
214 |
-
throw new InvalidArgumentException(
|
215 |
-
sprintf( __( 'Error while unziping the favicon package %s to directory %s', Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG ),
|
216 |
-
$packagePath, $extractedPath ) . ': ' . $explanation );
|
217 |
-
}
|
218 |
-
|
219 |
-
if ( $this->isCompressed() ) {
|
220 |
-
// As of today, when the user chooses the compress the picture,
|
221 |
-
// the package is provided in two flavors, in two distinct directories.
|
222 |
-
// Later, only the compressed version will be provided. Thus, the following code
|
223 |
-
// handles both scenarios.
|
224 |
-
if ( is_dir( $extractedPath . DIRECTORY_SEPARATOR . 'compressed' ) ) {
|
225 |
-
$this->params[RFG_FAVICON_COMPRESSED_PACKAGE_PATH] = $extractedPath .
|
226 |
-
DIRECTORY_SEPARATOR . 'compressed';
|
227 |
-
} else {
|
228 |
-
$this->params[RFG_FAVICON_COMPRESSED_PACKAGE_PATH] = $extractedPath;
|
229 |
-
}
|
230 |
-
|
231 |
-
if ( is_dir( $extractedPath . DIRECTORY_SEPARATOR . 'uncompressed' ) ) {
|
232 |
-
$this->params[RFG_FAVICON_UNCOMPRESSED_PACKAGE_PATH] = $extractedPath .
|
233 |
-
DIRECTORY_SEPARATOR . 'uncompressed';
|
234 |
-
} else {
|
235 |
-
$this->params[RFG_FAVICON_UNCOMPRESSED_PACKAGE_PATH] = $extractedPath;
|
236 |
-
}
|
237 |
-
|
238 |
-
$this->params[RFG_FAVICON_PRODUCTION_PACKAGE_PATH] = $this->params[RFG_FAVICON_COMPRESSED_PACKAGE_PATH];
|
239 |
-
}
|
240 |
-
else {
|
241 |
-
$this->params[RFG_FAVICON_COMPRESSED_PACKAGE_PATH] = NULL;
|
242 |
-
$this->params[RFG_FAVICON_UNCOMPRESSED_PACKAGE_PATH] = $extractedPath;
|
243 |
-
$this->params[RFG_FAVICON_PRODUCTION_PACKAGE_PATH] = $this->params[RFG_FAVICON_UNCOMPRESSED_PACKAGE_PATH];
|
244 |
-
}
|
245 |
-
}
|
246 |
-
|
247 |
-
/**
|
248 |
-
* Directory where the compressed files are stored. Method <code>downloadAndUnpack</code> must be called first in order to populate this field.
|
249 |
-
* Can be <code>NULL</code>.
|
250 |
-
*/
|
251 |
-
public function getCompressedPackagePath() {
|
252 |
-
return $this->params[RFG_FAVICON_COMPRESSED_PACKAGE_PATH];
|
253 |
-
}
|
254 |
-
|
255 |
-
/**
|
256 |
-
* Directory where the uncompressed files are stored. Method <code>downloadAndUnpack</code> must be called first in order to populate this field.
|
257 |
-
* Can be <code>NULL</code>.
|
258 |
-
*/
|
259 |
-
public function getUncompressedPackagePath() {
|
260 |
-
return $this->params[RFG_FAVICON_UNCOMPRESSED_PACKAGE_PATH];
|
261 |
-
}
|
262 |
-
|
263 |
-
/**
|
264 |
-
* Directory where the production favicon files are stored.
|
265 |
-
* These are the files to deployed to the targeted web site. When the user asked for compression,
|
266 |
-
* this is the path to the compressed folder. Else, this is the path to the regular files folder.
|
267 |
-
* Method <code>downloadAndUnpack</code> must be called first in order to populate this field.
|
268 |
-
*/
|
269 |
-
public function getProductionPackagePath() {
|
270 |
-
return $this->params[RFG_FAVICON_PRODUCTION_PACKAGE_PATH];
|
271 |
-
}
|
272 |
-
|
273 |
-
/**
|
274 |
-
* Path to the preview picture.
|
275 |
-
*/
|
276 |
-
public function getPreviewPath() {
|
277 |
-
return $this->params[RFG_PREVIEW_PATH];
|
278 |
-
}
|
279 |
-
|
280 |
-
private function downloadFile( $localPath, $url ) {
|
281 |
-
$resp = wp_remote_get( $url, array( 'filename' => $localPath, 'stream' => true ) );
|
282 |
-
if ( ( $resp == NULL ) || ( $resp == false ) || ( is_wp_error( $resp ) ) || ( $resp['response'] == NULL ) ||
|
283 |
-
( $resp['response']['code'] == NULL ) || ( $resp['response']['code'] != 200 ) ) {
|
284 |
-
$explanation = is_wp_error( $resp ) ? ( ': ' . $resp->get_error_message() ) : '' ;
|
285 |
-
throw new InvalidArgumentException(
|
286 |
-
sprintf( __( 'Cannot download file at %s', Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG ), $url ) . $explanation );
|
287 |
-
}
|
288 |
-
if ( ( ! file_exists( $localPath ) ) || ( filesize( $localPath ) <= 0 ) ) {
|
289 |
-
throw new InvalidArgumentException( __( 'Cannot store downloaded file locally', Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG ) );
|
290 |
-
}
|
291 |
-
}
|
292 |
-
|
293 |
-
public function append_directory_separator( $filename ) {
|
294 |
-
return $filename .
|
295 |
-
( ( $this->ends_with( $filename, DIRECTORY_SEPARATOR ))
|
296 |
-
? ''
|
297 |
-
: DIRECTORY_SEPARATOR );
|
298 |
-
}
|
299 |
-
|
300 |
-
// See http://stackoverflow.com/questions/834303/startswith-and-endswith-functions-in-php#answer-10473026
|
301 |
-
public function ends_with( $haystack, $needle ) {
|
302 |
-
return $needle === "" ||
|
303 |
-
( ( $temp = strlen( $haystack ) - strlen( $needle ) ) >= 0
|
304 |
-
&& strpos( $haystack, $needle, $temp ) !== false );
|
305 |
-
}
|
306 |
-
|
307 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/admin/views/appearance.php
DELETED
@@ -1,317 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Copyright 2014-2016 RealFaviconGenerator
|
3 |
-
?>
|
4 |
-
|
5 |
-
<div class="wrap">
|
6 |
-
|
7 |
-
<h2><?php echo esc_html( get_admin_page_title() ); ?></h2>
|
8 |
-
|
9 |
-
<?php if ( $new_favicon_params_url ) { ?>
|
10 |
-
<div id="install_in_progress_message" class="updated">
|
11 |
-
<p><?php _e( 'Favicon installation in progress. Please wait...', FBRFG_PLUGIN_SLUG ) ?></p>
|
12 |
-
</div>
|
13 |
-
|
14 |
-
<div id="install_completed_message" class="updated" style="display:none">
|
15 |
-
<p>
|
16 |
-
<?php _e( 'Favicon installed!', FBRFG_PLUGIN_SLUG ) ?>
|
17 |
-
<span id="rank_notice" style="display:none">
|
18 |
-
<?php printf( __( 'Do you like the result? If so, would you like to <a %s>rate the plugin</a>?', FBRFG_PLUGIN_SLUG ),
|
19 |
-
'target="_blank" href="https://wordpress.org/support/view/plugin-reviews/favicon-by-realfavicongenerator"' ) ?>
|
20 |
-
</span>
|
21 |
-
</p>
|
22 |
-
</div>
|
23 |
-
<div id="install_error_message" class="error" style="display:none"><p></p></div>
|
24 |
-
|
25 |
-
<div id="install_completed_container" style="display:none">
|
26 |
-
<h3><?php _e( 'Current favicon', FBRFG_PLUGIN_SLUG ) ?></h3>
|
27 |
-
|
28 |
-
<?php include_once( plugin_dir_path(__FILE__) . DIRECTORY_SEPARATOR .
|
29 |
-
'keep_active_notice.php' ); ?>
|
30 |
-
|
31 |
-
<p><?php _e( 'The favicon is up and ready.', FBRFG_PLUGIN_SLUG ) ?></p>
|
32 |
-
<img id="preview_image">
|
33 |
-
|
34 |
-
<p>
|
35 |
-
<?php printf( __( '<a %s>Check your favicon</a> with RealFaviconGenerator\'s favicon checker.', FBRFG_PLUGIN_SLUG ),
|
36 |
-
'id="checker_link" class="button-primary" href="#"' ) ?>
|
37 |
-
<?php _e( 'This option works only if your site is accessible from the outside.', FBRFG_PLUGIN_SLUG ) ?>
|
38 |
-
</p>
|
39 |
-
</div>
|
40 |
-
<?php } else { ?>
|
41 |
-
<h3><?php _e( 'Current favicon', FBRFG_PLUGIN_SLUG ) ?></h3>
|
42 |
-
|
43 |
-
<?php if ( $favicon_configured) { ?>
|
44 |
-
<?php include_once( plugin_dir_path(__FILE__) . DIRECTORY_SEPARATOR .
|
45 |
-
'keep_active_notice.php' ); ?>
|
46 |
-
<p><?php _e( 'The favicon is up and ready.', FBRFG_PLUGIN_SLUG ) ?></p>
|
47 |
-
<?php } else { ?>
|
48 |
-
<p><?php _e( 'No favicon has been configured yet.', FBRFG_PLUGIN_SLUG ) ?></p>
|
49 |
-
<?php } ?>
|
50 |
-
|
51 |
-
<?php if ( $favicon_configured ) {
|
52 |
-
if ( $preview_url ) { ?>
|
53 |
-
|
54 |
-
<img src="<?php echo $preview_url ?>">
|
55 |
-
|
56 |
-
<?php } ?>
|
57 |
-
<p>
|
58 |
-
<?php printf( __( '<a %s>Check your favicon</a> with RealFaviconGenerator\'s favicon checker.', FBRFG_PLUGIN_SLUG ),
|
59 |
-
'class="button-primary" ' .
|
60 |
-
'href="https://realfavicongenerator.net/favicon_checker?site=' . urlencode( home_url() ) . ($favicon_in_root ? '' : '&ignore_root_issues=on') . '"' ) ?>
|
61 |
-
<?php _e( 'This option works only if your site is accessible from the outside.', FBRFG_PLUGIN_SLUG ) ?>
|
62 |
-
</p>
|
63 |
-
<?php
|
64 |
-
}
|
65 |
-
} ?>
|
66 |
-
|
67 |
-
<div id="favicon_form_container" <?php echo $new_favicon_params_url ? 'style="display:none"' : '' ?>>
|
68 |
-
<h3><?php _e( 'Favicon generation', FBRFG_PLUGIN_SLUG ) ?></h3>
|
69 |
-
<?php if ( $favicon_configured || $new_favicon_params_url ) { ?>
|
70 |
-
<p><?php _e( 'You can replace the existing favicon.', FBRFG_PLUGIN_SLUG ) ?></p>
|
71 |
-
<?php } ?>
|
72 |
-
<form role="form" method="post" action="https://realfavicongenerator.net/api/favicon_generator" id="favicon_form">
|
73 |
-
<input type="hidden" name="json_params" id="json_params"/>
|
74 |
-
<table class="form-table"><tbody>
|
75 |
-
<tr valign="top">
|
76 |
-
<th scope="row">
|
77 |
-
<label for="master_picture_url"><?php _e( 'Master picture URL', FBRFG_PLUGIN_SLUG ) ?></label>
|
78 |
-
</th>
|
79 |
-
<td>
|
80 |
-
<input id="master_picture_url" name="master_picture_url" size="55">
|
81 |
-
<button id="upload_image_button" value="<?php _e( 'Select from the Media Library', FBRFG_PLUGIN_SLUG ) ?>">
|
82 |
-
<?php _e( 'Select from the Media Library', FBRFG_PLUGIN_SLUG ) ?>
|
83 |
-
</button>
|
84 |
-
<p class="description">
|
85 |
-
<?php _e( 'Submit a square picture, at least 70x70 (recommended: 260x260 or more)', FBRFG_PLUGIN_SLUG ) ?>
|
86 |
-
<br>
|
87 |
-
<?php _e( 'If the picture is on your hard drive, you can leave this field blank and upload the picture from RealFaviconGenerator.', FBRFG_PLUGIN_SLUG ) ?>
|
88 |
-
</p>
|
89 |
-
</td>
|
90 |
-
</tr>
|
91 |
-
|
92 |
-
<?php if ( $can_rewrite ) { ?>
|
93 |
-
<tr valign="top">
|
94 |
-
<th scope="row">
|
95 |
-
<label for="rewrite"><?php _e( 'Favicon files in root directory', FBRFG_PLUGIN_SLUG ) ?></label>
|
96 |
-
</th>
|
97 |
-
<td>
|
98 |
-
<input type="checkbox" name="rewrite" id="rewrite" checked="true">
|
99 |
-
<p class="description">
|
100 |
-
<?php _e( 'The plugin always stores the favicon files in a dedicated directory.', FBRFG_PLUGIN_SLUG ) ?>
|
101 |
-
<br>
|
102 |
-
<?php _e( 'However, if this option is enabled, the plugin takes advantage of the permalink feature and the favicon files appear to be in the root directory', FBRFG_PLUGIN_SLUG ) ?>
|
103 |
-
(<a href="https://realfavicongenerator.net/faq#why_icons_in_root"><?php _e( 'recommended', FBRFG_PLUGIN_SLUG ) ?></a>)
|
104 |
-
</p>
|
105 |
-
</td>
|
106 |
-
</tr>
|
107 |
-
<?php } ?>
|
108 |
-
</tbody></table>
|
109 |
-
|
110 |
-
<p class="submit">
|
111 |
-
<input type="submit" name="Generate favicon" id="generate_favicon_button" class="button-primary"
|
112 |
-
value="<?php _e( 'Generate favicon', FBRFG_PLUGIN_SLUG ) ?>">
|
113 |
-
</p>
|
114 |
-
</form>
|
115 |
-
</div>
|
116 |
-
</div>
|
117 |
-
|
118 |
-
<script type="text/javascript">
|
119 |
-
var picData = null;
|
120 |
-
|
121 |
-
function urlToBase64(url, callback) {
|
122 |
-
var img = new Image();
|
123 |
-
img.onload = function() {
|
124 |
-
callback(getBase64Image(img));
|
125 |
-
}
|
126 |
-
img.onerror = function() {
|
127 |
-
callback(null);
|
128 |
-
}
|
129 |
-
img.src = url;
|
130 |
-
}
|
131 |
-
|
132 |
-
// See http://stackoverflow.com/questions/934012/get-image-data-in-javascript
|
133 |
-
// Credits: Matthew Crumley
|
134 |
-
function getBase64Image(img) {
|
135 |
-
try {
|
136 |
-
var canvas = document.createElement("canvas");
|
137 |
-
canvas.width = img.width;
|
138 |
-
canvas.height = img.height;
|
139 |
-
|
140 |
-
var ctx = canvas.getContext("2d");
|
141 |
-
ctx.drawImage(img, 0, 0);
|
142 |
-
|
143 |
-
var dataURL = canvas.toDataURL("image/png");
|
144 |
-
|
145 |
-
return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
|
146 |
-
}
|
147 |
-
catch(err) {
|
148 |
-
console.log("Cannot get the picture from the Media Library: " + err);
|
149 |
-
return null;
|
150 |
-
}
|
151 |
-
}
|
152 |
-
|
153 |
-
function computeJson() {
|
154 |
-
var params = { favicon_generation: {
|
155 |
-
callback: {},
|
156 |
-
master_picture: {},
|
157 |
-
files_location: {},
|
158 |
-
api_key: "87d5cd739b05c00416c4a19cd14a8bb5632ea563"
|
159 |
-
}};
|
160 |
-
|
161 |
-
if (jQuery('#master_picture_url').val().length <= 0) {
|
162 |
-
params.favicon_generation.master_picture.type = "no_picture";
|
163 |
-
params.favicon_generation.master_picture.demo = true;
|
164 |
-
}
|
165 |
-
else if (pictureContent != null) {
|
166 |
-
params.favicon_generation.master_picture.type = "inline";
|
167 |
-
params.favicon_generation.master_picture.content = pictureContent;
|
168 |
-
}
|
169 |
-
else {
|
170 |
-
params.favicon_generation.master_picture.type = "url";
|
171 |
-
params.favicon_generation.master_picture.url = jQuery('#master_picture_url').val();
|
172 |
-
}
|
173 |
-
|
174 |
-
<?php if ( $can_rewrite ) { ?>
|
175 |
-
if ( jQuery("#rewrite").is(':checked') ) {
|
176 |
-
params.favicon_generation.files_location.type = 'root';
|
177 |
-
}
|
178 |
-
else {
|
179 |
-
params.favicon_generation.files_location.type = 'path';
|
180 |
-
params.favicon_generation.files_location.path = '<?php echo $pic_path ?>';
|
181 |
-
}
|
182 |
-
<?php } else { ?>
|
183 |
-
params.favicon_generation.files_location.type = 'path';
|
184 |
-
params.favicon_generation.files_location.path = '<?php echo $pic_path ?>';
|
185 |
-
<?php } ?>
|
186 |
-
|
187 |
-
params.favicon_generation.callback.type = 'url';
|
188 |
-
params.favicon_generation.callback.url = "<?php echo admin_url('themes.php?page=' . ( ( isset( $_REQUEST['page'] ) )
|
189 |
-
? $_REQUEST['page']
|
190 |
-
: 'favicon-by-realfavicongenerator/admin/class-favicon-by-realfavicongenerator-admin.phpfavicon_appearance_menu' ) ) ?>";
|
191 |
-
params.favicon_generation.callback.short_url = 'true';
|
192 |
-
params.favicon_generation.callback.path_only = 'true';
|
193 |
-
params.favicon_generation.callback.custom_parameter = "<?php echo $nonce ?>";
|
194 |
-
|
195 |
-
return params;
|
196 |
-
}
|
197 |
-
|
198 |
-
var pictureContent = null;
|
199 |
-
var pictureContentTimestamp = null;
|
200 |
-
|
201 |
-
function prepareInlinePicture(pictureUrl) {
|
202 |
-
var timestamp = new Date().getTime();
|
203 |
-
pictureContentTimestamp = timestamp;
|
204 |
-
|
205 |
-
jQuery('#generate_favicon_button').attr('disabled', 'disabled');
|
206 |
-
jQuery('#generate_favicon_button').val("<?php _e( 'Preparing master picture...', FBRFG_PLUGIN_SLUG ) ?>");
|
207 |
-
|
208 |
-
pictureContent = null;
|
209 |
-
|
210 |
-
urlToBase64(pictureUrl, function(content) {
|
211 |
-
if (content != null) {
|
212 |
-
pictureContent = content;
|
213 |
-
}
|
214 |
-
restoreGenerateFaviconButton();
|
215 |
-
});
|
216 |
-
|
217 |
-
setTimeout(function() {
|
218 |
-
if (pictureContentTimestamp == timestamp) {
|
219 |
-
restoreGenerateFaviconButton();
|
220 |
-
}
|
221 |
-
}, 3000);
|
222 |
-
}
|
223 |
-
|
224 |
-
function restoreGenerateFaviconButton() {
|
225 |
-
jQuery('#generate_favicon_button').removeAttr('disabled');
|
226 |
-
jQuery('#generate_favicon_button').val("<?php _e( 'Generate favicon', FBRFG_PLUGIN_SLUG ) ?>");
|
227 |
-
}
|
228 |
-
|
229 |
-
<?php if ( $new_favicon_params_url ) { ?>
|
230 |
-
var data = {
|
231 |
-
action: '<?php echo Favicon_By_RealFaviconGenerator_Common::PLUGIN_PREFIX . '_install_new_favicon' ?>',
|
232 |
-
json_result_url: '<?php echo $new_favicon_params_url ?>'
|
233 |
-
};
|
234 |
-
<?php } ?>
|
235 |
-
|
236 |
-
jQuery(document).ready(function() {
|
237 |
-
jQuery('#favicon_form').submit(function(e) {
|
238 |
-
jQuery('#json_params').val(JSON.stringify(computeJson()));
|
239 |
-
});
|
240 |
-
|
241 |
-
<?php if ( $new_favicon_params_url ) { ?>
|
242 |
-
jQuery.get('<?php echo $ajax_url ?>', data)
|
243 |
-
.done(function(response) {
|
244 |
-
if (response.status == 'success') {
|
245 |
-
jQuery('#preview_image').attr('src', response.preview_url);
|
246 |
-
var checkerUrl = "https://realfavicongenerator.net/favicon_checker?site=<?php echo urlencode( home_url() ) ?>" +
|
247 |
-
(response.favicon_in_root ? '' : '&ignore_root_issues=on');
|
248 |
-
jQuery('#checker_link').attr('href', checkerUrl);
|
249 |
-
jQuery('#install_in_progress_message').fadeOut(function() {
|
250 |
-
jQuery('#install_completed_message').fadeIn(function() {
|
251 |
-
jQuery('#rank_notice').fadeIn(function() {
|
252 |
-
jQuery('#rank_notice').effect('pulsate', {
|
253 |
-
times: 3,
|
254 |
-
duration: 2000
|
255 |
-
});
|
256 |
-
});
|
257 |
-
});
|
258 |
-
jQuery('#install_completed_container').fadeIn();
|
259 |
-
jQuery('#favicon_form_container').fadeIn();
|
260 |
-
});
|
261 |
-
}
|
262 |
-
else {
|
263 |
-
var msg = "<?php _e( "An error occured", FBRFG_PLUGIN_SLUG ) ?>";
|
264 |
-
if (response.message != null) {
|
265 |
-
msg += ": " + response.message;
|
266 |
-
}
|
267 |
-
jQuery('#install_error_message p').html(msg);
|
268 |
-
jQuery('#install_in_progress_message').fadeOut(function() {
|
269 |
-
jQuery('#install_error_message').fadeIn();
|
270 |
-
});
|
271 |
-
}
|
272 |
-
})
|
273 |
-
.fail(function() {
|
274 |
-
var msg = "<?php _e( "An internal error occurred", FBRFG_PLUGIN_SLUG ) ?>";
|
275 |
-
jQuery('#install_error_message p').html(msg);
|
276 |
-
jQuery('#install_in_progress_message').fadeOut(function() {
|
277 |
-
jQuery('#install_error_message').fadeIn();
|
278 |
-
});
|
279 |
-
});
|
280 |
-
<?php } ?>
|
281 |
-
|
282 |
-
var fileFrame;
|
283 |
-
|
284 |
-
jQuery('#upload_image_button').on('click', function(event) {
|
285 |
-
event.preventDefault();
|
286 |
-
|
287 |
-
if (fileFrame) {
|
288 |
-
fileFrame.open();
|
289 |
-
return;
|
290 |
-
}
|
291 |
-
|
292 |
-
// Create the media frame.
|
293 |
-
fileFrame = wp.media.frames.file_frame = wp.media({
|
294 |
-
title: jQuery(this).data('uploader_title'),
|
295 |
-
button: {
|
296 |
-
text: jQuery(this).data('uploader_button_text'),
|
297 |
-
},
|
298 |
-
multiple: false
|
299 |
-
});
|
300 |
-
|
301 |
-
fileFrame.on('select', function() {
|
302 |
-
attachment = fileFrame.state().get('selection').first().toJSON();
|
303 |
-
jQuery('#master_picture_url').val(attachment.url);
|
304 |
-
prepareInlinePicture(attachment.url);
|
305 |
-
});
|
306 |
-
|
307 |
-
fileFrame.open();
|
308 |
-
});
|
309 |
-
|
310 |
-
|
311 |
-
jQuery('#master_picture_url').change(function() {
|
312 |
-
// Whatever the previous content of the field, forget its cached data
|
313 |
-
pictureContent = null;
|
314 |
-
restoreGenerateFaviconButton();
|
315 |
-
});
|
316 |
-
});
|
317 |
-
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/admin/views/keep_active_notice.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<div id="keep_active_notice" class="notice notice-info">
|
2 |
-
<p>
|
3 |
-
<?php _e( "You should keep this plugin active. As soon as you deactive it, your favicon is disabled, too.",
|
4 |
-
FBRFG_PLUGIN_SLUG ) ?>
|
5 |
-
<?php printf( __( 'You may wonder <a %s>why it works that way</a>.',
|
6 |
-
FBRFG_PLUGIN_SLUG ), 'target="_blank" href="https://realfavicongenerator.net/blog/why-does-the-favicon-by-realfavicongenerator-wordpress-plugin-need-to-be-activated-all-the-time/"') ?>
|
7 |
-
<?php printf( __( 'In any case, <a %s>the plugin is super lightweight</a> and will not affect the performance of your site.',
|
8 |
-
FBRFG_PLUGIN_SLUG ), 'target="_blank" href="https://realfavicongenerator.net/blog/rfgs-wordpress-plugin-and-performance/"') ?>
|
9 |
-
</p>
|
10 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/admin/views/settings.php
DELETED
@@ -1,36 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Copyright 2014-2016 RealFaviconGenerator
|
3 |
-
?>
|
4 |
-
|
5 |
-
<div class="wrap">
|
6 |
-
<h2><?php echo esc_html( get_admin_page_title() ); ?></h2>
|
7 |
-
|
8 |
-
<p>
|
9 |
-
<?php printf(
|
10 |
-
__( 'Do you want to setup your favicon? Go to <a href="%s">Appearance > Favicon</a>', FBRFG_PLUGIN_SLUG ),
|
11 |
-
$favicon_appearance_url ) ?>
|
12 |
-
</p>
|
13 |
-
|
14 |
-
<form action="<?php echo $favicon_admin_url ?>" method="post">
|
15 |
-
|
16 |
-
<table class="form-table">
|
17 |
-
<tbody>
|
18 |
-
<tr>
|
19 |
-
<th scope="row"><?php _e('Display update notifications', FBRFG_PLUGIN_SLUG ) ?></th>
|
20 |
-
<td>
|
21 |
-
<input type="checkbox" name="<?php echo Favicon_By_RealFaviconGenerator_Admin::DISMISS_UPDATE_ALL_UPDATE_NOTIICATIONS ?>"
|
22 |
-
value="1" <?php echo( $display_update_notifications ? 'checked="checked"' : '' ) ?>>
|
23 |
-
<p class="description">
|
24 |
-
<?php _e('Get notifications when RealFaviconGenerator is updated. For example, when Apple releases a new version of iOS or a new platform is supported.', FBRFG_PLUGIN_SLUG ) ?>
|
25 |
-
</p>
|
26 |
-
</td>
|
27 |
-
</tr>
|
28 |
-
</tbody>
|
29 |
-
</table>
|
30 |
-
|
31 |
-
<input type="hidden" name="<?php echo Favicon_By_RealFaviconGenerator_Admin::SETTINGS_FORM ?>" value="1">
|
32 |
-
|
33 |
-
<input name="Submit" type="submit" class="button-primary" value="<?php _e( 'Save changes', FBRFG_PLUGIN_SLUG ) ?>">
|
34 |
-
</form>
|
35 |
-
|
36 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/favicon-by-realfavicongenerator.php
DELETED
@@ -1,51 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Favicon by RealFaviconGenerator.
|
4 |
-
*
|
5 |
-
* @package favicon-by-realfavicongenerator
|
6 |
-
* @author Philippe Bernard <philippe@realfavicongenerator.net>
|
7 |
-
* @license GPLv2
|
8 |
-
* @link http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
-
* @copyright 2014 RealFaviconGenerator
|
10 |
-
*
|
11 |
-
* @wordpress-plugin
|
12 |
-
* Plugin Name: Favicon by RealFaviconGenerator
|
13 |
-
* Plugin URI: http://realfavicongenerator.net/extensions/wordpress
|
14 |
-
* Description: Create and install your favicon for all platforms: PC/Mac of course, but also iPhone/iPad, Android devices, Windows 8 tablets, etc.
|
15 |
-
* Version: 1.3.21
|
16 |
-
* Author: Philippe Bernard
|
17 |
-
* Author URI: http://realfavicongenerator.net/
|
18 |
-
* License: GPLv2
|
19 |
-
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
20 |
-
* Text Domain: favicon-by-realfavicongenerator
|
21 |
-
* Domain Path: /languages/
|
22 |
-
*/
|
23 |
-
|
24 |
-
// If this file is called directly, abort.
|
25 |
-
if ( ! defined( 'WPINC' ) ) {
|
26 |
-
die;
|
27 |
-
}
|
28 |
-
|
29 |
-
/*----------------------------------------------------------------------------*
|
30 |
-
* Public-Facing Functionality
|
31 |
-
*----------------------------------------------------------------------------*/
|
32 |
-
|
33 |
-
require_once( plugin_dir_path( __FILE__ ) . 'public' . DIRECTORY_SEPARATOR .
|
34 |
-
'class-favicon-by-realfavicongenerator.php' );
|
35 |
-
|
36 |
-
register_activation_hook( __FILE__, array( 'Favicon_By_RealFaviconGenerator', 'activate' ) );
|
37 |
-
register_deactivation_hook( __FILE__, array( 'Favicon_By_RealFaviconGenerator', 'deactivate' ) );
|
38 |
-
|
39 |
-
add_action( 'plugins_loaded', array( 'Favicon_By_RealFaviconGenerator', 'get_instance' ) );
|
40 |
-
|
41 |
-
/*----------------------------------------------------------------------------*
|
42 |
-
* Dashboard and Administrative Functionality
|
43 |
-
*----------------------------------------------------------------------------*/
|
44 |
-
|
45 |
-
if ( is_admin() ) {
|
46 |
-
|
47 |
-
require_once( plugin_dir_path( __FILE__ ) . 'admin' . DIRECTORY_SEPARATOR .
|
48 |
-
'class-favicon-by-realfavicongenerator-admin.php' );
|
49 |
-
add_action( 'plugins_loaded', array( 'Favicon_By_RealFaviconGenerator_Admin', 'get_instance' ) );
|
50 |
-
|
51 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator-cs_CZ.mo
DELETED
Binary file
|
trunk/languages/favicon-by-realfavicongenerator-cs_CZ.po
DELETED
@@ -1,239 +0,0 @@
|
|
1 |
-
# Copyright (C) 2015 Favicon by RealFaviconGenerator
|
2 |
-
# This file is distributed under the same license as the Favicon by RealFaviconGenerator package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Favicon by RealFaviconGenerator 1.3.0\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/favicon-by-"
|
7 |
-
"realfavicongenerator\n"
|
8 |
-
"POT-Creation-Date: 2015-11-22 17:39+0100\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"PO-Revision-Date: 2015-11-22 18:18+0100\n"
|
13 |
-
"Language-Team: \n"
|
14 |
-
"X-Generator: Poedit 1.8.6\n"
|
15 |
-
"Last-Translator: nothing <nothing@nothing.com>\n"
|
16 |
-
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
17 |
-
"Language: cs_CZ\n"
|
18 |
-
|
19 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:77
|
20 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:78
|
21 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:82
|
22 |
-
msgid "Favicon"
|
23 |
-
msgstr "Favikona"
|
24 |
-
|
25 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:81
|
26 |
-
msgid "Favicon Settings"
|
27 |
-
msgstr "Nastavení favikony"
|
28 |
-
|
29 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:182
|
30 |
-
msgid ""
|
31 |
-
"Nonce was not recognized. This case is supposed to happen only in case of "
|
32 |
-
"XSS attack. If you feel like something is wrong, please <a href=\\\"mailto:"
|
33 |
-
"contact@realfavicongenerator.net\\\">contact us</a>."
|
34 |
-
msgstr ""
|
35 |
-
"Nonce nebyl rozpoznán. Tento stav se stává pouze v případě XSS útoku. Pokud "
|
36 |
-
"je něco v nepořádku, prosím neprodleně <a href=\\\"mailto:"
|
37 |
-
"contact@realfavicongenerator.net\\\">nás kontaktujte</a>."
|
38 |
-
|
39 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:190
|
40 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:414
|
41 |
-
msgid "Cannot create directory %s to store the favicon package"
|
42 |
-
msgstr "Nelze vytvořit adresář %s pro uložení balíčku favikon"
|
43 |
-
|
44 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:442
|
45 |
-
msgid "An update is available on RealFaviconGenerator:"
|
46 |
-
msgstr "Aktualizace RealFaviconGenerator je dostupná:"
|
47 |
-
|
48 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:448
|
49 |
-
msgid "You might want to <a href=\"%s\">generate your favicon again</a>"
|
50 |
-
msgstr "Možná je potřeba <a href=\"%s\">znovu vytvořit favikon</a>"
|
51 |
-
|
52 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:454
|
53 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:477
|
54 |
-
msgid "Hide this notice"
|
55 |
-
msgstr "Skrýt toto oznámení"
|
56 |
-
|
57 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:458
|
58 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:481
|
59 |
-
msgid "Do not warn me again in case of update"
|
60 |
-
msgstr "Nikdy již neupozornit na novou verzi"
|
61 |
-
|
62 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:471
|
63 |
-
msgid "Your favicon was updated automatically:"
|
64 |
-
msgstr "Vaše favikona byla automaticky aktualizována:"
|
65 |
-
|
66 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:159
|
67 |
-
msgid "Cannot create directory %s to store the favicon package content"
|
68 |
-
msgstr "Nelze vytvořit adresář %s pro uložení obsah balíčku favikon"
|
69 |
-
|
70 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:206
|
71 |
-
msgid "Unknown reason"
|
72 |
-
msgstr "Neznámý důvod selhání."
|
73 |
-
|
74 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:212
|
75 |
-
msgid "Error while unziping the favicon package %s to directory %s"
|
76 |
-
msgstr "Nastala chyba při rozbalování balíčku favikon %s ve složce %s"
|
77 |
-
|
78 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:281
|
79 |
-
msgid "Cannot download file at %s"
|
80 |
-
msgstr "Soubor %s nelze stáhnout"
|
81 |
-
|
82 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:284
|
83 |
-
msgid "Cannot store downloaded file locally"
|
84 |
-
msgstr "Soubor nelze uložit"
|
85 |
-
|
86 |
-
#: admin/views/appearance.php:11
|
87 |
-
msgid "Favicon installation in progress. Please wait..."
|
88 |
-
msgstr "Instalace favikony probíhá. Prosím, čekejte..."
|
89 |
-
|
90 |
-
#: admin/views/appearance.php:16
|
91 |
-
msgid "Favicon installed!"
|
92 |
-
msgstr "Favikona nainstalována!"
|
93 |
-
|
94 |
-
#: admin/views/appearance.php:18
|
95 |
-
msgid ""
|
96 |
-
"Do you like the result? If so, would you like to <a %s>rate the plugin</a>?"
|
97 |
-
msgstr ""
|
98 |
-
"Líbí se Vám výsledek? Pokud ano, můžete prosím <a %s>ohodnotit plugin</a>?"
|
99 |
-
|
100 |
-
#: admin/views/appearance.php:26 admin/views/appearance.php:37
|
101 |
-
msgid "Current favicon"
|
102 |
-
msgstr "Stávající favikona"
|
103 |
-
|
104 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:40
|
105 |
-
msgid "The favicon is up and ready."
|
106 |
-
msgstr "Favikona je připravená."
|
107 |
-
|
108 |
-
#: admin/views/appearance.php:31 admin/views/appearance.php:52
|
109 |
-
msgid ""
|
110 |
-
"<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
111 |
-
msgstr "<a %s>Zkontrolovat favikony</a> přes službu RealFaviconGenerator."
|
112 |
-
|
113 |
-
#: admin/views/appearance.php:33 admin/views/appearance.php:55
|
114 |
-
msgid "This option works only if your site is accessible from the outside."
|
115 |
-
msgstr "Funguje pouze v případě webu dostupného z internetu."
|
116 |
-
|
117 |
-
#: admin/views/appearance.php:42
|
118 |
-
msgid "No favicon has been configured yet."
|
119 |
-
msgstr "Favikona není vytvořena."
|
120 |
-
|
121 |
-
#: admin/views/appearance.php:62
|
122 |
-
msgid "Favicon generation"
|
123 |
-
msgstr "Vygenerovat favikonu"
|
124 |
-
|
125 |
-
#: admin/views/appearance.php:64
|
126 |
-
msgid "You can replace the existing favicon."
|
127 |
-
msgstr "Můžete nahradit stávající favikon."
|
128 |
-
|
129 |
-
#: admin/views/appearance.php:71
|
130 |
-
msgid "Master picture URL"
|
131 |
-
msgstr "Obrázek"
|
132 |
-
|
133 |
-
#: admin/views/appearance.php:75 admin/views/appearance.php:76
|
134 |
-
msgid "Select from the Media Library"
|
135 |
-
msgstr "Vybrat z knihovny médií"
|
136 |
-
|
137 |
-
#: admin/views/appearance.php:79
|
138 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
139 |
-
msgstr ""
|
140 |
-
"Obrázek musí být čtverec, alespoň 70x70px (doporučeno je však 260x260 a "
|
141 |
-
"více)"
|
142 |
-
|
143 |
-
#: admin/views/appearance.php:81
|
144 |
-
msgid ""
|
145 |
-
"If the picture is on your hard drive, you can leave this field blank and "
|
146 |
-
"upload the picture from RealFaviconGenerator."
|
147 |
-
msgstr ""
|
148 |
-
"Pokud je obrázek uložen na Vašem pevném disku, můžete nechat pole prázdné a "
|
149 |
-
"nahrát obrázek přímo přes službu RealFaviconGenerator."
|
150 |
-
|
151 |
-
#: admin/views/appearance.php:89
|
152 |
-
msgid "Favicon files in root directory"
|
153 |
-
msgstr "Soubory favikony v kořenovém adresáři"
|
154 |
-
|
155 |
-
#: admin/views/appearance.php:94
|
156 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
157 |
-
msgstr "Plugin vždy ukládá soubory favikon do vyhrazeného adresáře."
|
158 |
-
|
159 |
-
#: admin/views/appearance.php:96
|
160 |
-
msgid ""
|
161 |
-
"However, if this option is enabled, the plugin takes advantage of the "
|
162 |
-
"permalink feature and the favicon files appear to be in the root directory"
|
163 |
-
msgstr ""
|
164 |
-
"Pokud je však tato možnost povolena, plugin využije funkce permalink a "
|
165 |
-
"soubory favikon umístí do kořenového adresáře webu."
|
166 |
-
|
167 |
-
#: admin/views/appearance.php:97
|
168 |
-
msgid "recommended"
|
169 |
-
msgstr "doporučeno"
|
170 |
-
|
171 |
-
#: admin/views/appearance.php:106 admin/views/appearance.php:220
|
172 |
-
msgid "Generate favicon"
|
173 |
-
msgstr "Vygenerovat favikonu"
|
174 |
-
|
175 |
-
#: admin/views/appearance.php:200
|
176 |
-
msgid "Preparing master picture..."
|
177 |
-
msgstr "Připravuje se obrázek..."
|
178 |
-
|
179 |
-
#: admin/views/appearance.php:257
|
180 |
-
msgid "An error occured"
|
181 |
-
msgstr "Nastala chyba"
|
182 |
-
|
183 |
-
#: admin/views/appearance.php:268
|
184 |
-
msgid "An internal error occurred"
|
185 |
-
msgstr "Nastala vnitřní chyba"
|
186 |
-
|
187 |
-
#: admin/views/settings.php:13
|
188 |
-
msgid ""
|
189 |
-
"Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > "
|
190 |
-
"Favicon</a>"
|
191 |
-
msgstr ""
|
192 |
-
"Chcete nastavit favikonu? Přejděte na <a href=\"%s\">Vzhled > Favikona</"
|
193 |
-
"a>"
|
194 |
-
|
195 |
-
#: admin/views/settings.php:22
|
196 |
-
msgid "Display update notifications"
|
197 |
-
msgstr "Zobrazit oznámení o aktualizaci"
|
198 |
-
|
199 |
-
#: admin/views/settings.php:27
|
200 |
-
msgid ""
|
201 |
-
"Get notifications when RealFaviconGenerator is updated. For example, when "
|
202 |
-
"Apple releases a new version of iOS or a new platform is supported."
|
203 |
-
msgstr ""
|
204 |
-
"Zobrazí upozornění, jakmile je favikona upravena na nejnovější verzi "
|
205 |
-
"RealFaviconGenerator. Například, když Apple vydá nový iOS."
|
206 |
-
|
207 |
-
#: admin/views/settings.php:36
|
208 |
-
msgid "Save changes"
|
209 |
-
msgstr "Uložit změny"
|
210 |
-
|
211 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:181
|
212 |
-
msgid ""
|
213 |
-
"Visit the <a href=\"%s\">RFG's change log</a> to view the content of the "
|
214 |
-
"update"
|
215 |
-
msgstr "Navštivte <a href=\"%s\">RFG's historii změn</a>"
|
216 |
-
|
217 |
-
#. Plugin Name of the plugin/theme
|
218 |
-
msgid "Favicon by RealFaviconGenerator"
|
219 |
-
msgstr ""
|
220 |
-
|
221 |
-
#. Plugin URI of the plugin/theme
|
222 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
223 |
-
msgstr ""
|
224 |
-
|
225 |
-
#. Description of the plugin/theme
|
226 |
-
msgid ""
|
227 |
-
"Create and install your favicon for all platforms: PC/Mac of course, but "
|
228 |
-
"also iPhone/iPad, Android devices, Windows 8 tablets, etc."
|
229 |
-
msgstr ""
|
230 |
-
"Vytvořit a nainstalovat favikony nejen pro známé platformy PC/Mac, ale také "
|
231 |
-
"iPhone/iPad, zařízení Android, tablety Windows 8, a další."
|
232 |
-
|
233 |
-
#. Author of the plugin/theme
|
234 |
-
msgid "Philippe Bernard"
|
235 |
-
msgstr ""
|
236 |
-
|
237 |
-
#. Author URI of the plugin/theme
|
238 |
-
msgid "http://realfavicongenerator.net/"
|
239 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator-da_DK.mo
DELETED
Binary file
|
trunk/languages/favicon-by-realfavicongenerator-da_DK.po
DELETED
@@ -1,244 +0,0 @@
|
|
1 |
-
# Copyright (C) 2015 Favicon by RealFaviconGenerator
|
2 |
-
# This file is distributed under the same license as the Favicon by RealFaviconGenerator package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Favicon by RealFaviconGenerator 1.3.0\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/favicon-by-"
|
7 |
-
"realfavicongenerator\n"
|
8 |
-
"POT-Creation-Date: 2015-06-24 10:34+0100\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"PO-Revision-Date: 2015-06-24 10:48+0100\n"
|
13 |
-
"Last-Translator: Alexander Leo-Hansen <alexanderleoh@gmail.com>\n"
|
14 |
-
"Language-Team: \n"
|
15 |
-
"X-Generator: Poedit 1.8.1\n"
|
16 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
-
"Language: da_DK\n"
|
18 |
-
|
19 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:77
|
20 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:78
|
21 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:82
|
22 |
-
#, fuzzy
|
23 |
-
msgid "Favicon"
|
24 |
-
msgstr "Favicon"
|
25 |
-
|
26 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:81
|
27 |
-
msgid "Favicon Settings"
|
28 |
-
msgstr "Favicon indstillinger"
|
29 |
-
|
30 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:182
|
31 |
-
msgid ""
|
32 |
-
"Nonce was not recognized. This case is supposed to happen only in case of "
|
33 |
-
"XSS attack. If you feel like something is wrong, please <a href=\\\"mailto:"
|
34 |
-
"contact@realfavicongenerator.net\\\">contact us</a>."
|
35 |
-
msgstr ""
|
36 |
-
"Nonce blev ikke genkendt. Det er kun mening at dette skal skal ske i "
|
37 |
-
"tilfælde af et XSS angreb. Hvis du tror noget er galt, kan du <a href=\\"
|
38 |
-
"\"mailto:contact@realfavicongenerator.net\\\">kontakte os</a>."
|
39 |
-
|
40 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:190
|
41 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:414
|
42 |
-
msgid "Cannot create directory %s to store the favicon package"
|
43 |
-
msgstr "Kan ikke oprette mappen %s til opbevaring af favicon."
|
44 |
-
|
45 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:442
|
46 |
-
msgid "An update is available on RealFaviconGenerator:"
|
47 |
-
msgstr "En opdatering er tilgængelig på RealFaviconGenerator:"
|
48 |
-
|
49 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:448
|
50 |
-
msgid "You might want to <a href=\"%s\">generate your favicon again</a>"
|
51 |
-
msgstr "Du kan <a href=\"%s\">generere</a> dit favicon igen"
|
52 |
-
|
53 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:454
|
54 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:477
|
55 |
-
#, fuzzy
|
56 |
-
msgid "Hide this notice"
|
57 |
-
msgstr "Skjul denne meddelse"
|
58 |
-
|
59 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:458
|
60 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:481
|
61 |
-
msgid "Do not warn me again in case of update"
|
62 |
-
msgstr "Advar mig ikke om fremtidige opdateringer"
|
63 |
-
|
64 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:471
|
65 |
-
msgid "Your favicon was updated automatically:"
|
66 |
-
msgstr "Dit favicon blev automatisk opdateret:"
|
67 |
-
|
68 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:159
|
69 |
-
msgid "Cannot create directory %s to store the favicon package content"
|
70 |
-
msgstr "Kan ikke oprette mappen %s til opbevaring af favicon"
|
71 |
-
|
72 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:206
|
73 |
-
msgid "Unknown reason"
|
74 |
-
msgstr "Ukendte årsag"
|
75 |
-
|
76 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:212
|
77 |
-
msgid "Error while unziping the favicon package %s to directory %s"
|
78 |
-
msgstr "Der skete en fejl under udpakningen af favicon %s til mappen %s"
|
79 |
-
|
80 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:281
|
81 |
-
msgid "Cannot download file at %s"
|
82 |
-
msgstr "Kan ikke downloade filen på %s"
|
83 |
-
|
84 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:284
|
85 |
-
msgid "Cannot store downloaded file locally"
|
86 |
-
msgstr "Kan ikke opbevare den downloadede fil"
|
87 |
-
|
88 |
-
#: admin/views/appearance.php:11
|
89 |
-
msgid "Favicon installation in progress. Please wait..."
|
90 |
-
msgstr "Favicon er ved at blive installeret. Vent venligst…"
|
91 |
-
|
92 |
-
#: admin/views/appearance.php:16
|
93 |
-
msgid "Favicon installed!"
|
94 |
-
msgstr "Favicon blev installeret!"
|
95 |
-
|
96 |
-
#: admin/views/appearance.php:18
|
97 |
-
msgid ""
|
98 |
-
"Do you like the result? If so, would you like to <a %s>rate the plugin</a>?"
|
99 |
-
msgstr ""
|
100 |
-
"Kan du lidt resultatet? I så fald, må du gerne <a %s>bedømme vores plugin</"
|
101 |
-
"a>"
|
102 |
-
|
103 |
-
#: admin/views/appearance.php:26 admin/views/appearance.php:37
|
104 |
-
msgid "Current favicon"
|
105 |
-
msgstr "Nuværende favicon"
|
106 |
-
|
107 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:40
|
108 |
-
msgid "The favicon is up and ready."
|
109 |
-
msgstr "Dit favicon er klar."
|
110 |
-
|
111 |
-
#: admin/views/appearance.php:31 admin/views/appearance.php:52
|
112 |
-
msgid ""
|
113 |
-
"<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
114 |
-
msgstr ""
|
115 |
-
"<a %s>Tje kdit favicon</a> med RealFaviconGenerator's favicon tjekker."
|
116 |
-
|
117 |
-
#: admin/views/appearance.php:33 admin/views/appearance.php:55
|
118 |
-
msgid "This option works only if your site is accessible from the outside."
|
119 |
-
msgstr "Denne indstillinger virker kun, hvis du kan connecte til dit website."
|
120 |
-
|
121 |
-
#: admin/views/appearance.php:42
|
122 |
-
msgid "No favicon has been configured yet."
|
123 |
-
msgstr "Der er endnu ikke blevet konfigureret et favicon."
|
124 |
-
|
125 |
-
#: admin/views/appearance.php:62
|
126 |
-
msgid "Favicon generation"
|
127 |
-
msgstr "Generering af favicon"
|
128 |
-
|
129 |
-
#: admin/views/appearance.php:64
|
130 |
-
msgid "You can replace the existing favicon."
|
131 |
-
msgstr "Du kan erstatte det eksisterende favicon."
|
132 |
-
|
133 |
-
#: admin/views/appearance.php:71
|
134 |
-
msgid "Master picture URL"
|
135 |
-
msgstr "Master billede URL"
|
136 |
-
|
137 |
-
#: admin/views/appearance.php:75 admin/views/appearance.php:76
|
138 |
-
msgid "Select from the Media Library"
|
139 |
-
msgstr "Vælg fra Medie biblioteket"
|
140 |
-
|
141 |
-
#: admin/views/appearance.php:79
|
142 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
143 |
-
msgstr ""
|
144 |
-
"Indsend et firkantet billede, mindst 70x70 (anbefalet: 260x260 eller mere)"
|
145 |
-
|
146 |
-
#: admin/views/appearance.php:81
|
147 |
-
msgid ""
|
148 |
-
"If the picture is on your hard drive, you can leave this field blank and "
|
149 |
-
"upload the picture from RealFaviconGenerator."
|
150 |
-
msgstr ""
|
151 |
-
"Hvis billedet er på din harddisk, kan du lade dette felt være tomt og "
|
152 |
-
"uploade billedet fra RealFaviconGenerator."
|
153 |
-
|
154 |
-
#: admin/views/appearance.php:89
|
155 |
-
msgid "Favicon files in root directory"
|
156 |
-
msgstr "Favicon filerne er i roden"
|
157 |
-
|
158 |
-
#: admin/views/appearance.php:94
|
159 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
160 |
-
msgstr "Dette plugin opbevare altid favicon filerne i en dedikeret mappe."
|
161 |
-
|
162 |
-
#: admin/views/appearance.php:96
|
163 |
-
msgid ""
|
164 |
-
"However, if this option is enabled, the plugin takes advantage of the "
|
165 |
-
"permalink feature and the favicon files appear to be in the root directory"
|
166 |
-
msgstr ""
|
167 |
-
"Hvis denne indstilling er aktiveret, vil pluginnet drage fordel af "
|
168 |
-
"permalink og favicon filerne vil være i rodmappen"
|
169 |
-
|
170 |
-
#: admin/views/appearance.php:97
|
171 |
-
msgid "recommended"
|
172 |
-
msgstr "anbefalet"
|
173 |
-
|
174 |
-
#: admin/views/appearance.php:106 admin/views/appearance.php:220
|
175 |
-
msgid "Generate favicon"
|
176 |
-
msgstr "Generere favicon"
|
177 |
-
|
178 |
-
#: admin/views/appearance.php:200
|
179 |
-
msgid "Preparing master picture..."
|
180 |
-
msgstr "Forbereder master billede…"
|
181 |
-
|
182 |
-
#: admin/views/appearance.php:257
|
183 |
-
msgid "An error occured"
|
184 |
-
msgstr "En uventet fejl opstod"
|
185 |
-
|
186 |
-
#: admin/views/appearance.php:268
|
187 |
-
msgid "An internal error occurred"
|
188 |
-
msgstr "En intern fejl opstod"
|
189 |
-
|
190 |
-
#: admin/views/settings.php:13
|
191 |
-
msgid ""
|
192 |
-
"Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > "
|
193 |
-
"Favicon</a>"
|
194 |
-
msgstr ""
|
195 |
-
"Vil du opsætte dit favicon? Gå til <a href=\"%s\">Appearance > Favicon</"
|
196 |
-
"a>"
|
197 |
-
|
198 |
-
#: admin/views/settings.php:22
|
199 |
-
msgid "Display update notifications"
|
200 |
-
msgstr "Vis opdateringsnotifikationer"
|
201 |
-
|
202 |
-
#: admin/views/settings.php:27
|
203 |
-
msgid ""
|
204 |
-
"Get notifications when RealFaviconGenerator is updated. For example, when "
|
205 |
-
"Apple releases a new version of iOS or a new platform is supported."
|
206 |
-
msgstr ""
|
207 |
-
"Få besked når RealFaviconGenerator opdateres. For eksempel når Apple "
|
208 |
-
"frigiver en ny version af iOS eller en ny platform er understøttet."
|
209 |
-
|
210 |
-
#: admin/views/settings.php:36
|
211 |
-
msgid "Save changes"
|
212 |
-
msgstr "Gem indstillinger"
|
213 |
-
|
214 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:181
|
215 |
-
msgid ""
|
216 |
-
"Visit the <a href=\"%s\">RFG's change log</a> to view the content of the "
|
217 |
-
"update"
|
218 |
-
msgstr ""
|
219 |
-
"Besøg <a href=\"%s\">RFG's changelog</a> for at se indholdet for "
|
220 |
-
"opdateringen"
|
221 |
-
|
222 |
-
#. Plugin Name of the plugin/theme
|
223 |
-
msgid "Favicon by RealFaviconGenerator"
|
224 |
-
msgstr "Favicon by RealFaviconGenerator"
|
225 |
-
|
226 |
-
#. Plugin URI of the plugin/theme
|
227 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
228 |
-
msgstr "http://realfavicongenerator.net/extensions/wordpress"
|
229 |
-
|
230 |
-
#. Description of the plugin/theme
|
231 |
-
msgid ""
|
232 |
-
"Create and install your favicon for all platforms: PC/Mac of course, but "
|
233 |
-
"also iPhone/iPad, Android devices, Windows 8 tablets, etc."
|
234 |
-
msgstr ""
|
235 |
-
"Opret og installer dit favicon på alle platforme: PC / Mac, men også "
|
236 |
-
"iPhone / iPad, Android-enheder, Windows 8 tabletter, etc."
|
237 |
-
|
238 |
-
#. Author of the plugin/theme
|
239 |
-
msgid "Philippe Bernard"
|
240 |
-
msgstr "Philippe Bernard"
|
241 |
-
|
242 |
-
#. Author URI of the plugin/theme
|
243 |
-
msgid "http://realfavicongenerator.net/"
|
244 |
-
msgstr "http://realfavicongenerator.net/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator-fr_FR.mo
DELETED
Binary file
|
trunk/languages/favicon-by-realfavicongenerator-fr_FR.po
DELETED
@@ -1,245 +0,0 @@
|
|
1 |
-
# Copyright (C) 2014-2016 Favicon by RealFaviconGenerator
|
2 |
-
# This file is distributed under the same license as the Favicon by RealFaviconGenerator package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Favicon by RealFaviconGenerator 1.1.0\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/favicon-by-realfavicongenerator\n"
|
7 |
-
"POT-Creation-Date: 2015-06-24 10:16+0100\n"
|
8 |
-
"PO-Revision-Date: 2015-07-15 11:46+0200\n"
|
9 |
-
"Last-Translator: Philippe Bernard <philippe@realfavicongenerator.net>\n"
|
10 |
-
"Language-Team: \n"
|
11 |
-
"Language: fr_FR\n"
|
12 |
-
"MIME-Version: 1.0\n"
|
13 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
-
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Poedit 1.8.2\n"
|
16 |
-
|
17 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:77
|
18 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:78
|
19 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:82
|
20 |
-
msgid "Favicon"
|
21 |
-
msgstr "Favicon"
|
22 |
-
|
23 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:81
|
24 |
-
msgid "Favicon Settings"
|
25 |
-
msgstr "Réglages du favicon"
|
26 |
-
|
27 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:182
|
28 |
-
msgid ""
|
29 |
-
"Nonce was not recognized. This case is supposed to happen only in case of XSS attack. If you "
|
30 |
-
"feel like something is wrong, please <a href=\\\"mailto:contact@realfavicongenerator.net\\"
|
31 |
-
"\">contact us</a>."
|
32 |
-
msgstr ""
|
33 |
-
"Le nonce n'a pas été reconnu. Cela n'est censé arriver qu'en cas d'attaque XSS. Si vous pensez "
|
34 |
-
"que quelque chose ne va pas, veuillez <a href=\\\"mailto:contact@realfavicongenerator.net\\"
|
35 |
-
"\">nous contacter</a>."
|
36 |
-
|
37 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:190
|
38 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:414
|
39 |
-
msgid "Cannot create directory %s to store the favicon package"
|
40 |
-
msgstr "Impossible de créer le répertoire %s afin d'y stocker le package du favicon"
|
41 |
-
|
42 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:442
|
43 |
-
msgid "An update is available on RealFaviconGenerator:"
|
44 |
-
msgstr "Une mise à jour est disponible sur RealFaviconGenerator"
|
45 |
-
|
46 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:448
|
47 |
-
msgid "You might want to <a href=\"%s\">generate your favicon again</a>"
|
48 |
-
msgstr "Vous voulez peut-être <a href=\"%s\">générer votre favicon</a> à nouveau"
|
49 |
-
|
50 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:454
|
51 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:477
|
52 |
-
msgid "Hide this notice"
|
53 |
-
msgstr "Masquer cette notice"
|
54 |
-
|
55 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:458
|
56 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:481
|
57 |
-
msgid "Do not warn me again in case of update"
|
58 |
-
msgstr "Ne plus m'avertir en cas de mise à jour"
|
59 |
-
|
60 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:471
|
61 |
-
msgid "Your favicon was updated automatically:"
|
62 |
-
msgstr "Votre favicon a été mis à jour automatiquement :"
|
63 |
-
|
64 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:159
|
65 |
-
msgid "Cannot create directory %s to store the favicon package content"
|
66 |
-
msgstr "Impossible de créer le répertoire %s afin d'y stocker le contenu du package du favicon"
|
67 |
-
|
68 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:206
|
69 |
-
msgid "Unknown reason"
|
70 |
-
msgstr "Raison inconnu"
|
71 |
-
|
72 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:212
|
73 |
-
msgid "Error while unziping the favicon package %s to directory %s"
|
74 |
-
msgstr "Erreur lors de la décompression du package du favicon %s dans le répertoire %s"
|
75 |
-
|
76 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:281
|
77 |
-
msgid "Cannot download file at %s"
|
78 |
-
msgstr "Impossible de télécharger le fichier à l'adresse %s"
|
79 |
-
|
80 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:284
|
81 |
-
msgid "Cannot store downloaded file locally"
|
82 |
-
msgstr "Impossible de stocker localement le fichier téléchargé"
|
83 |
-
|
84 |
-
#: admin/views/appearance.php:11
|
85 |
-
msgid "Favicon installation in progress. Please wait..."
|
86 |
-
msgstr "Installation du favicon en cours. Veuillez patienter..."
|
87 |
-
|
88 |
-
#: admin/views/appearance.php:16
|
89 |
-
msgid "Favicon installed!"
|
90 |
-
msgstr "Favicon installé !"
|
91 |
-
|
92 |
-
#: admin/views/appearance.php:18
|
93 |
-
msgid "Do you like the result? If so, would you like to <a %s>rate the plugin</a>?"
|
94 |
-
msgstr "Satisfait du résultat ? Voudriez-vous <a %s>évaluer le plugin</a> ?"
|
95 |
-
|
96 |
-
#: admin/views/appearance.php:26 admin/views/appearance.php:37
|
97 |
-
msgid "Current favicon"
|
98 |
-
msgstr "Favicon actuel"
|
99 |
-
|
100 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:40
|
101 |
-
msgid "The favicon is up and ready."
|
102 |
-
msgstr "Le favicon est installé."
|
103 |
-
|
104 |
-
#: admin/views/appearance.php:31 admin/views/appearance.php:52
|
105 |
-
msgid "<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
106 |
-
msgstr ""
|
107 |
-
"<a %s>Vérifiez votre favicon</a> avec l'outil de vérification de favicon de "
|
108 |
-
"RealFaviconGenerator."
|
109 |
-
|
110 |
-
#: admin/views/appearance.php:33 admin/views/appearance.php:55
|
111 |
-
msgid "This option works only if your site is accessible from the outside."
|
112 |
-
msgstr "Cette option ne fonctionne que si votre site est accessible depuis l'extérieur."
|
113 |
-
|
114 |
-
#: admin/views/appearance.php:42
|
115 |
-
msgid "No favicon has been configured yet."
|
116 |
-
msgstr "Aucun favicon n'a été configuré pour le moment."
|
117 |
-
|
118 |
-
#: admin/views/appearance.php:62
|
119 |
-
msgid "Favicon generation"
|
120 |
-
msgstr "Génération du favicon"
|
121 |
-
|
122 |
-
#: admin/views/appearance.php:64
|
123 |
-
msgid "You can replace the existing favicon."
|
124 |
-
msgstr "Vous pouvez remplacer le favicon existant."
|
125 |
-
|
126 |
-
#: admin/views/appearance.php:71
|
127 |
-
msgid "Master picture URL"
|
128 |
-
msgstr "URL de l'image de base"
|
129 |
-
|
130 |
-
#: admin/views/appearance.php:75 admin/views/appearance.php:76
|
131 |
-
msgid "Select from the Media Library"
|
132 |
-
msgstr "Sélectionner dans la Bibliothèque de médias"
|
133 |
-
|
134 |
-
#: admin/views/appearance.php:79
|
135 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
136 |
-
msgstr "Utilisez une image carrée en 70x70 minimum (recommandé: 260x260 ou plus)"
|
137 |
-
|
138 |
-
#: admin/views/appearance.php:81
|
139 |
-
msgid ""
|
140 |
-
"If the picture is on your hard drive, you can leave this field blank and upload the picture "
|
141 |
-
"from RealFaviconGenerator."
|
142 |
-
msgstr ""
|
143 |
-
"Si l'image est sur votre disque dur, vous pouvez laisser ce champ vide et envoyer une image "
|
144 |
-
"depuis l'interface de RealFaviconGenerator"
|
145 |
-
|
146 |
-
#: admin/views/appearance.php:89
|
147 |
-
msgid "Favicon files in root directory"
|
148 |
-
msgstr "Fichiers du favicon dans le répertoire racine"
|
149 |
-
|
150 |
-
#: admin/views/appearance.php:94
|
151 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
152 |
-
msgstr "Le plugin conserve toujours les fichiers du favicon dans un répertoire dédié."
|
153 |
-
|
154 |
-
#: admin/views/appearance.php:96
|
155 |
-
msgid ""
|
156 |
-
"However, if this option is enabled, the plugin takes advantage of the permalink feature and "
|
157 |
-
"the favicon files appear to be in the root directory"
|
158 |
-
msgstr ""
|
159 |
-
"Cependant, si cette option est activée, le plugin tire parti des permaliens pour faire "
|
160 |
-
"apparaitre les fichiers du favicon dans le répertoire racine"
|
161 |
-
|
162 |
-
#: admin/views/appearance.php:97
|
163 |
-
msgid "recommended"
|
164 |
-
msgstr "recommandé"
|
165 |
-
|
166 |
-
#: admin/views/appearance.php:106 admin/views/appearance.php:220
|
167 |
-
msgid "Generate favicon"
|
168 |
-
msgstr "Générer le favicon"
|
169 |
-
|
170 |
-
#: admin/views/appearance.php:200
|
171 |
-
msgid "Preparing master picture..."
|
172 |
-
msgstr "Nous préparons l'image..."
|
173 |
-
|
174 |
-
#: admin/views/appearance.php:257
|
175 |
-
msgid "An error occured"
|
176 |
-
msgstr "Une erreur est survenue"
|
177 |
-
|
178 |
-
#: admin/views/appearance.php:268
|
179 |
-
msgid "An internal error occurred"
|
180 |
-
msgstr "Une erreur interne est survenue"
|
181 |
-
|
182 |
-
#: admin/views/settings.php:13
|
183 |
-
msgid "Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > Favicon</a>"
|
184 |
-
msgstr ""
|
185 |
-
"Voulez-vous mettre en place votre favicon? Allez dans <a href=\"%s\">Apparance > Favicon</a>"
|
186 |
-
|
187 |
-
#: admin/views/settings.php:22
|
188 |
-
msgid "Display update notifications"
|
189 |
-
msgstr "Afficher les notifications de mise à jour"
|
190 |
-
|
191 |
-
#: admin/views/settings.php:27
|
192 |
-
msgid ""
|
193 |
-
"Get notifications when RealFaviconGenerator is updated. For example, when Apple releases a new "
|
194 |
-
"version of iOS or a new platform is supported."
|
195 |
-
msgstr ""
|
196 |
-
"Afficher des notifications lorsque RealFaviconGenerator est mis à jour. Par exemple, "
|
197 |
-
"lorsqu'Apple sort une nouvelle version d'iOS ou lorsqu'une nouvelle plateforme est supportée."
|
198 |
-
|
199 |
-
#: admin/views/settings.php:36
|
200 |
-
msgid "Save changes"
|
201 |
-
msgstr "Enregistrer les modifications"
|
202 |
-
|
203 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:181
|
204 |
-
msgid "Visit the <a href=\"%s\">RFG's change log</a> to view the content of the update"
|
205 |
-
msgstr ""
|
206 |
-
"Afficher le <a href=\"%s\">journal des modifications</a> pour voir le contenu de cette mise à "
|
207 |
-
"jour"
|
208 |
-
|
209 |
-
#. Plugin Name of the plugin/theme
|
210 |
-
msgid "Favicon by RealFaviconGenerator"
|
211 |
-
msgstr "Favicon par RealFaviconGenerator"
|
212 |
-
|
213 |
-
#. Plugin URI of the plugin/theme
|
214 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
215 |
-
msgstr "http://realfavicongenerator.net/extensions/wordpress"
|
216 |
-
|
217 |
-
#. Description of the plugin/theme
|
218 |
-
msgid ""
|
219 |
-
"Create and install your favicon for all platforms: PC/Mac of course, but also iPhone/iPad, "
|
220 |
-
"Android devices, Windows 8 tablets, etc."
|
221 |
-
msgstr ""
|
222 |
-
"Créez et installez votre favicon pour toutes les plateformes : PC/Mac évidemment, mais aussi "
|
223 |
-
"iPhone/iPad, appareils Android, tablettes Windows 8, etc."
|
224 |
-
|
225 |
-
#. Author of the plugin/theme
|
226 |
-
msgid "Philippe Bernard"
|
227 |
-
msgstr "Philippe Bernard"
|
228 |
-
|
229 |
-
#. Author URI of the plugin/theme
|
230 |
-
msgid "http://realfavicongenerator.net/"
|
231 |
-
msgstr "http://realfavicongenerator.net/"
|
232 |
-
|
233 |
-
#~ msgid ""
|
234 |
-
#~ "<a href=\"%s\" target=\"_blank\">An update is available</a> on RealFaviconGenerator. You "
|
235 |
-
#~ "might want to <a href=\"%s\">generate your favicon again</a>."
|
236 |
-
#~ msgstr ""
|
237 |
-
#~ "<a href=\"%s\" target=\"_blank\">Une mise à jour est disponible</a> à partir de "
|
238 |
-
#~ "RealFaviconGenerator. Vous souhaitez peut-être <a href=\"%s\">générer votre favicon à "
|
239 |
-
#~ "nouveau</a>."
|
240 |
-
|
241 |
-
#~ msgid " | <a href=\"%s\">Hide this notice</a>"
|
242 |
-
#~ msgstr " | <a href=\"%s\">Masquer cette notification</a>"
|
243 |
-
|
244 |
-
#~ msgid " | <a href=\"%s\">Do not warn me again in case of update</a>"
|
245 |
-
#~ msgstr " | <a href=\"%s\">Ne plus me prévenir en cas de mise à jour</a>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator-id_ID.mo
DELETED
Binary file
|
trunk/languages/favicon-by-realfavicongenerator-id_ID.po
DELETED
@@ -1,200 +0,0 @@
|
|
1 |
-
# Copyright (C) 2015 Favicon by RealFaviconGenerator
|
2 |
-
# This file is distributed under the same license as the Favicon by RealFaviconGenerator package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Favicon by RealFaviconGenerator 1.3.0\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/favicon-by-realfavicongenerator\n"
|
7 |
-
"POT-Creation-Date: 2015-11-22 17:39+0100\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date: 2017-04-19 16:01+0200\n"
|
12 |
-
"Language-Team: ChameleonJohn.com\n"
|
13 |
-
"X-Generator: Poedit 2.0.1\n"
|
14 |
-
"Last-Translator: Jordan Silaen <jordan.silaen@chameleonjohn.com>\n"
|
15 |
-
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
16 |
-
"Language: id_ID\n"
|
17 |
-
|
18 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:77 admin/class-favicon-by-realfavicongenerator-admin.php:78 admin/class-favicon-by-realfavicongenerator-admin.php:82
|
19 |
-
msgid "Favicon"
|
20 |
-
msgstr "Favicon"
|
21 |
-
|
22 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:81
|
23 |
-
msgid "Favicon Settings"
|
24 |
-
msgstr "Pengaturan Favicon"
|
25 |
-
|
26 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:182
|
27 |
-
msgid "Nonce was not recognized. This case is supposed to happen only in case of XSS attack. If you feel like something is wrong, please <a href=\\\"mailto:contact@realfavicongenerator.net\\\">contact us</a>."
|
28 |
-
msgstr "Nonce tidak diakui. Kasus ini seharusnya terjadi hanya dalam kasus serangan XSS. Jika Anda merasa seperti ada sesuatu yang salah, <a href=\\\"mailto:contact@realfavicongenerator.net\\\"> hubungi kami </a>."
|
29 |
-
|
30 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:190 public/class-favicon-by-realfavicongenerator-common.php:414
|
31 |
-
msgid "Cannot create directory %s to store the favicon package"
|
32 |
-
msgstr "Tidak bisa membuat direktori %s untuk menyimpan paket favicon"
|
33 |
-
|
34 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:442
|
35 |
-
msgid "An update is available on RealFaviconGenerator:"
|
36 |
-
msgstr "Pembaruan tersedia pada RealFaviconGenerator:"
|
37 |
-
|
38 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:448
|
39 |
-
msgid "You might want to <a href=\"%s\">generate your favicon again</a>"
|
40 |
-
msgstr "Anda mungkin ingin <a href=\"%s\"> menghasilkan favicon Anda lagi </a>"
|
41 |
-
|
42 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:454 admin/class-favicon-by-realfavicongenerator-admin.php:477
|
43 |
-
msgid "Hide this notice"
|
44 |
-
msgstr "Sembunyikan pemberitahuan ini"
|
45 |
-
|
46 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:458 admin/class-favicon-by-realfavicongenerator-admin.php:481
|
47 |
-
msgid "Do not warn me again in case of update"
|
48 |
-
msgstr "Tidak memperingatkan saya lagi dalam kasus pembaruan"
|
49 |
-
|
50 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:471
|
51 |
-
msgid "Your favicon was updated automatically:"
|
52 |
-
msgstr "favicon Anda telah diperbarui secara otomatis:"
|
53 |
-
|
54 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:159
|
55 |
-
msgid "Cannot create directory %s to store the favicon package content"
|
56 |
-
msgstr "Tidak bisa membuat direktori %s untuk menyimpan konten paket favicon"
|
57 |
-
|
58 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:206
|
59 |
-
msgid "Unknown reason"
|
60 |
-
msgstr "Alasan yang tidak diketahui"
|
61 |
-
|
62 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:212
|
63 |
-
msgid "Error while unziping the favicon package %s to directory %s"
|
64 |
-
msgstr "Kesalahan saat unziping paket favicon %s ke direktori %s"
|
65 |
-
|
66 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:281
|
67 |
-
msgid "Cannot download file at %s"
|
68 |
-
msgstr "Tidak dapat men-download file pada %s"
|
69 |
-
|
70 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:284
|
71 |
-
msgid "Cannot store downloaded file locally"
|
72 |
-
msgstr "tidak bisa menyimpan file yang didownload secara lokal"
|
73 |
-
|
74 |
-
#: admin/views/appearance.php:11
|
75 |
-
msgid "Favicon installation in progress. Please wait..."
|
76 |
-
msgstr "instalasi favicon berlangsung. Mohon tunggu..."
|
77 |
-
|
78 |
-
#: admin/views/appearance.php:16
|
79 |
-
msgid "Favicon installed!"
|
80 |
-
msgstr "Favicon diinstal!"
|
81 |
-
|
82 |
-
#: admin/views/appearance.php:18
|
83 |
-
msgid "Do you like the result? If so, would you like to <a %s>rate the plugin</a>?"
|
84 |
-
msgstr "Apakah Anda suka hasilnya? Jika demikian, apakah Anda ingin <a %s> menilai plugin </a>?"
|
85 |
-
|
86 |
-
#: admin/views/appearance.php:26 admin/views/appearance.php:37
|
87 |
-
msgid "Current favicon"
|
88 |
-
msgstr "favicon saat ini"
|
89 |
-
|
90 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:40
|
91 |
-
msgid "The favicon is up and ready."
|
92 |
-
msgstr "favicon adalah dan siap."
|
93 |
-
|
94 |
-
#: admin/views/appearance.php:31 admin/views/appearance.php:52
|
95 |
-
msgid "<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
96 |
-
msgstr "<a %s> Periksa favicon Anda </a> dengan RealFaviconGenerator ini favicon checker."
|
97 |
-
|
98 |
-
#: admin/views/appearance.php:33 admin/views/appearance.php:55
|
99 |
-
msgid "This option works only if your site is accessible from the outside."
|
100 |
-
msgstr "Opsi ini hanya bekerja jika situs Anda dapat diakses dari luar."
|
101 |
-
|
102 |
-
#: admin/views/appearance.php:42
|
103 |
-
msgid "No favicon has been configured yet."
|
104 |
-
msgstr "Tidak ada favicon telah dikonfigurasi belum."
|
105 |
-
|
106 |
-
#: admin/views/appearance.php:62
|
107 |
-
msgid "Favicon generation"
|
108 |
-
msgstr "generasi favicon"
|
109 |
-
|
110 |
-
#: admin/views/appearance.php:64
|
111 |
-
msgid "You can replace the existing favicon."
|
112 |
-
msgstr "Anda dapat mengganti favicon yang ada."
|
113 |
-
|
114 |
-
#: admin/views/appearance.php:71
|
115 |
-
msgid "Master picture URL"
|
116 |
-
msgstr "URL gambar Guru"
|
117 |
-
|
118 |
-
#: admin/views/appearance.php:75 admin/views/appearance.php:76
|
119 |
-
msgid "Select from the Media Library"
|
120 |
-
msgstr "Pilih dari Perpustakaan Media"
|
121 |
-
|
122 |
-
#: admin/views/appearance.php:79
|
123 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
124 |
-
msgstr "Mengirimkan gambar persegi, setidaknya 70x70 (disarankan: 260x260 atau lebih)"
|
125 |
-
|
126 |
-
#: admin/views/appearance.php:81
|
127 |
-
msgid "If the picture is on your hard drive, you can leave this field blank and upload the picture from RealFaviconGenerator."
|
128 |
-
msgstr "Jika gambar pada hard drive Anda, Anda dapat meninggalkan bidang ini kosong dan meng-upload gambar dari RealFaviconGenerator."
|
129 |
-
|
130 |
-
#: admin/views/appearance.php:89
|
131 |
-
msgid "Favicon files in root directory"
|
132 |
-
msgstr "file favicon di direktori root"
|
133 |
-
|
134 |
-
#: admin/views/appearance.php:94
|
135 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
136 |
-
msgstr "Plugin selalu menyimpan file favicon di direktori khusus."
|
137 |
-
|
138 |
-
#: admin/views/appearance.php:96
|
139 |
-
msgid "However, if this option is enabled, the plugin takes advantage of the permalink feature and the favicon files appear to be in the root directory"
|
140 |
-
msgstr "Namun, jika opsi ini diaktifkan, plugin mengambil keuntungan dari fitur permalink dan file favicon tampak di direktori root"
|
141 |
-
|
142 |
-
#: admin/views/appearance.php:97
|
143 |
-
msgid "recommended"
|
144 |
-
msgstr "direkomendasikan"
|
145 |
-
|
146 |
-
#: admin/views/appearance.php:106 admin/views/appearance.php:220
|
147 |
-
msgid "Generate favicon"
|
148 |
-
msgstr "menghasilkan favicon"
|
149 |
-
|
150 |
-
#: admin/views/appearance.php:200
|
151 |
-
msgid "Preparing master picture..."
|
152 |
-
msgstr "Mempersiapkan gambar Master ..."
|
153 |
-
|
154 |
-
#: admin/views/appearance.php:257
|
155 |
-
msgid "An error occured"
|
156 |
-
msgstr "Kesalahan terjadi"
|
157 |
-
|
158 |
-
#: admin/views/appearance.php:268
|
159 |
-
msgid "An internal error occurred"
|
160 |
-
msgstr "Terjadi kesalahan internal"
|
161 |
-
|
162 |
-
#: admin/views/settings.php:13
|
163 |
-
msgid "Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > Favicon</a>"
|
164 |
-
msgstr "Apakah Anda ingin setup favicon Anda? Pergi ke <a href=\" %s \"> Penampilan & gt; favicon </a>"
|
165 |
-
|
166 |
-
#: admin/views/settings.php:22
|
167 |
-
msgid "Display update notifications"
|
168 |
-
msgstr "pemberitahuan update tampilan"
|
169 |
-
|
170 |
-
#: admin/views/settings.php:27
|
171 |
-
msgid "Get notifications when RealFaviconGenerator is updated. For example, when Apple releases a new version of iOS or a new platform is supported."
|
172 |
-
msgstr "Dapatkan pemberitahuan bila RealFaviconGenerator diperbarui. Sebagai contoh, ketika Apple merilis versi baru dari iOS atau platform baru didukung."
|
173 |
-
|
174 |
-
#: admin/views/settings.php:36
|
175 |
-
msgid "Save changes"
|
176 |
-
msgstr "Simpan perubahan"
|
177 |
-
|
178 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:181
|
179 |
-
msgid "Visit the <a href=\"%s\">RFG's change log</a> to view the content of the update"
|
180 |
-
msgstr "Kunjungi <a href=\" %s \"> perubahan log RFG </a> untuk melihat isi update"
|
181 |
-
|
182 |
-
#. Plugin Name of the plugin/theme
|
183 |
-
msgid "Favicon by RealFaviconGenerator"
|
184 |
-
msgstr "Favicon oleh RealFaviconGenerator"
|
185 |
-
|
186 |
-
#. Plugin URI of the plugin/theme
|
187 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
188 |
-
msgstr "http://realfavicongenerator.net/extensions/wordpress"
|
189 |
-
|
190 |
-
#. Description of the plugin/theme
|
191 |
-
msgid "Create and install your favicon for all platforms: PC/Mac of course, but also iPhone/iPad, Android devices, Windows 8 tablets, etc."
|
192 |
-
msgstr "Membuat dan memasang favicon Anda untuk semua platform: PC / Mac tentu saja, tetapi juga iPhone / iPad, perangkat Android, Windows 8 tablet, dll"
|
193 |
-
|
194 |
-
#. Author of the plugin/theme
|
195 |
-
msgid "Philippe Bernard"
|
196 |
-
msgstr "Philippe Bernard"
|
197 |
-
|
198 |
-
#. Author URI of the plugin/theme
|
199 |
-
msgid "http://realfavicongenerator.net/"
|
200 |
-
msgstr "http://realfavicongenerator.net/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator-nl_NL.mo
DELETED
Binary file
|
trunk/languages/favicon-by-realfavicongenerator-nl_NL.po
DELETED
@@ -1,188 +0,0 @@
|
|
1 |
-
# Copyright (C) 2014-2016 Favicon by RealFaviconGenerator
|
2 |
-
# This file is distributed under the same license as the Favicon by RealFaviconGenerator package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Favicon door RealFaviconGenerator 1.2.2\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/favicon-by-"
|
7 |
-
"realfavicongenerator\n"
|
8 |
-
"POT-Creation-Date: 2014-10-22 20:10:01+00:00\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"PO-Revision-Date: 2015-03-02 15:00+0100\n"
|
13 |
-
"Last-Translator: Axel <axel@eco13.eu>\n"
|
14 |
-
"Language-Team: \n"
|
15 |
-
"X-Generator: Poedit 1.7.3\n"
|
16 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
-
"Language: nl_NL\n"
|
18 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
-
|
20 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:65
|
21 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:66
|
22 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:70
|
23 |
-
msgid "Favicon"
|
24 |
-
msgstr "Favicon"
|
25 |
-
|
26 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:69
|
27 |
-
msgid "Favicon Settings"
|
28 |
-
msgstr "Favicon Instellingen"
|
29 |
-
|
30 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:351
|
31 |
-
msgid ""
|
32 |
-
"<a href=\"%s\" target=\"_blank\">An update is available</a> on "
|
33 |
-
"RealFaviconGenerator. You might want to <a href=\"%s\">generate your favicon "
|
34 |
-
"again</a>."
|
35 |
-
msgstr ""
|
36 |
-
"<a href=\"%s\" target=\"_blank\">Een update is beschikbaar</a> op "
|
37 |
-
"RealFaviconGenerator. Misschien wil je <a href=\"%s\">je favicon opnieuw "
|
38 |
-
"genereren</a>."
|
39 |
-
|
40 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:354
|
41 |
-
msgid " | <a href=\"%s\">Hide this notice</a>"
|
42 |
-
msgstr " | <a href=\"%s\">Verberg dit bericht</a>"
|
43 |
-
|
44 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:356
|
45 |
-
msgid " | <a href=\"%s\">Do not warn me again in case of update</a>"
|
46 |
-
msgstr " | <a href=\"%s\">Hou me niet langer op de hoogte van updates</a>"
|
47 |
-
|
48 |
-
#: admin/views/appearance.php:11
|
49 |
-
msgid "Favicon installation in progress. Please wait..."
|
50 |
-
msgstr "Favicon wordt geïnstalleerd. Graag even geduld..."
|
51 |
-
|
52 |
-
#: admin/views/appearance.php:15
|
53 |
-
msgid "Favicon installed!"
|
54 |
-
msgstr "Favicon werd geïnstalleerd!"
|
55 |
-
|
56 |
-
#: admin/views/appearance.php:20 admin/views/appearance.php:31
|
57 |
-
msgid "Current favicon"
|
58 |
-
msgstr "Huidige favicon"
|
59 |
-
|
60 |
-
#: admin/views/appearance.php:21 admin/views/appearance.php:34
|
61 |
-
msgid "The favicon is up and ready."
|
62 |
-
msgstr "De favicon is klaar voor gebruik."
|
63 |
-
|
64 |
-
#: admin/views/appearance.php:25 admin/views/appearance.php:46
|
65 |
-
msgid ""
|
66 |
-
"<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
67 |
-
msgstr ""
|
68 |
-
"<a %s>Controleer je favicon</a> met de RealFaviconGenerator's favicon "
|
69 |
-
"checker."
|
70 |
-
|
71 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:49
|
72 |
-
msgid "This option works only if your site is accessible from the outside."
|
73 |
-
msgstr "Deze optie werkt enkel indien je site van buitenaf toegankelijk is."
|
74 |
-
|
75 |
-
#: admin/views/appearance.php:36
|
76 |
-
msgid "No favicon has been configured yet."
|
77 |
-
msgstr "Er werd nog geen favicon geconfigureerd."
|
78 |
-
|
79 |
-
#: admin/views/appearance.php:56
|
80 |
-
msgid "Favicon generation"
|
81 |
-
msgstr "Faviconcreatie"
|
82 |
-
|
83 |
-
#: admin/views/appearance.php:58
|
84 |
-
msgid "You can replace the existing favicon."
|
85 |
-
msgstr "Je kunt de bestaande favicon vervangen."
|
86 |
-
|
87 |
-
#: admin/views/appearance.php:65
|
88 |
-
msgid "Master picture URL"
|
89 |
-
msgstr "URL bronafbeelding"
|
90 |
-
|
91 |
-
#: admin/views/appearance.php:69 admin/views/appearance.php:70
|
92 |
-
msgid "Select from the Media Library"
|
93 |
-
msgstr "Selecteer uit de mediabibliotheek"
|
94 |
-
|
95 |
-
#: admin/views/appearance.php:73
|
96 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
97 |
-
msgstr ""
|
98 |
-
"Gebruik een vierkant beeld van min. 70x70px (aanbevolen: 260x260 of meer)"
|
99 |
-
|
100 |
-
#: admin/views/appearance.php:75
|
101 |
-
msgid ""
|
102 |
-
"If the picture is on your hard drive, you can leave this field blank and "
|
103 |
-
"upload the picture from RealFaviconGenerator."
|
104 |
-
msgstr ""
|
105 |
-
"Staat de afbeelding op je harde schijf, dan kun je dit veld leeg laten en "
|
106 |
-
"het beeld vanaf RealFaviconGenerator uploaden."
|
107 |
-
|
108 |
-
#: admin/views/appearance.php:83
|
109 |
-
msgid "Favicon files in root directory"
|
110 |
-
msgstr "Faviconbestanden in de root"
|
111 |
-
|
112 |
-
#: admin/views/appearance.php:88
|
113 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
114 |
-
msgstr "De plugin slaat de faviconbestanden steeds op in specifieke map."
|
115 |
-
|
116 |
-
#: admin/views/appearance.php:90
|
117 |
-
msgid ""
|
118 |
-
"However, if this option is enabled, the plugin takes advantage of the "
|
119 |
-
"permalink feature and the favicon files appear to be in the root directory"
|
120 |
-
msgstr ""
|
121 |
-
"Indien deze optie is ingeschakeld, maakt de plugin evenwel gebruik van de "
|
122 |
-
"permalink feature, waardoor het lijkt alsof de faviconbestanden in de root "
|
123 |
-
"te vinden zijn"
|
124 |
-
|
125 |
-
#: admin/views/appearance.php:91
|
126 |
-
msgid "recommended"
|
127 |
-
msgstr "aanbevolen"
|
128 |
-
|
129 |
-
#: admin/views/appearance.php:100
|
130 |
-
msgid "Generate favicon"
|
131 |
-
msgstr "Genereer favicon"
|
132 |
-
|
133 |
-
#: admin/views/appearance.php:189
|
134 |
-
msgid "An error occured"
|
135 |
-
msgstr "Er trad een fout op"
|
136 |
-
|
137 |
-
#: admin/views/appearance.php:200
|
138 |
-
msgid "An internal error occurred"
|
139 |
-
msgstr "Er trad een interne fout op"
|
140 |
-
|
141 |
-
#: admin/views/settings.php:13
|
142 |
-
msgid ""
|
143 |
-
"Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > "
|
144 |
-
"Favicon</a>"
|
145 |
-
msgstr ""
|
146 |
-
"Wil je je favicon installeren? Ga naar <a href=\"%s\">Weergave > Favicon</"
|
147 |
-
"a>"
|
148 |
-
|
149 |
-
#: admin/views/settings.php:22
|
150 |
-
msgid "Display update notifications"
|
151 |
-
msgstr "Toon updatemeldingen"
|
152 |
-
|
153 |
-
#: admin/views/settings.php:27
|
154 |
-
msgid ""
|
155 |
-
"Get notifications when RealFaviconGenerator is updated. For example, when "
|
156 |
-
"Apple releases a new version of iOS or a new platform is supported."
|
157 |
-
msgstr ""
|
158 |
-
"Ontvang een melding als RealFaviconGenerator wordt bijgewerkt, bijvoorbeeld "
|
159 |
-
"als Apple een nieuwe iOS versie lanceert, of als een nieuw platform wordt "
|
160 |
-
"ondersteund."
|
161 |
-
|
162 |
-
#: admin/views/settings.php:36
|
163 |
-
msgid "Save changes"
|
164 |
-
msgstr "Wijzigingen opslaan"
|
165 |
-
|
166 |
-
#. Plugin Name of the plugin/theme
|
167 |
-
msgid "Favicon by RealFaviconGenerator"
|
168 |
-
msgstr "Favicon door RealFaviconGenerator"
|
169 |
-
|
170 |
-
#. Plugin URI of the plugin/theme
|
171 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
172 |
-
msgstr "http://realfavicongenerator.net/extensions/wordpress"
|
173 |
-
|
174 |
-
#. Description of the plugin/theme
|
175 |
-
msgid ""
|
176 |
-
"Create and install your favicon for all platforms: PC/Mac of course, but "
|
177 |
-
"also iPhone/iPad, Android devices, Windows 8 tablets, etc."
|
178 |
-
msgstr ""
|
179 |
-
"Maak en installeer je favicon voor alle platformen: PC en Mac natuurlijk, "
|
180 |
-
"maar ook iPhone en iPad, Androidapparaten, Windows 8 tablets, etc."
|
181 |
-
|
182 |
-
#. Author of the plugin/theme
|
183 |
-
msgid "Philippe Bernard"
|
184 |
-
msgstr "Philippe Bernard"
|
185 |
-
|
186 |
-
#. Author URI of the plugin/theme
|
187 |
-
msgid "http://realfavicongenerator.net/"
|
188 |
-
msgstr "http://realfavicongenerator.net/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator-pl_PL.mo
DELETED
Binary file
|
trunk/languages/favicon-by-realfavicongenerator-pl_PL.po
DELETED
@@ -1,246 +0,0 @@
|
|
1 |
-
# Copyright (C) 2015 Favicon by RealFaviconGenerator
|
2 |
-
# This file is distributed under the same license as the Favicon by RealFaviconGenerator package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Favicon by RealFaviconGenerator 1.3.0\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/favicon-by-"
|
7 |
-
"realfavicongenerator\n"
|
8 |
-
"POT-Creation-Date: 2016-04-10 20:35+0200\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"PO-Revision-Date: 2016-04-10 21:09+0200\n"
|
13 |
-
"Language-Team: \n"
|
14 |
-
"X-Generator: Poedit 1.8.7\n"
|
15 |
-
"Last-Translator: Maciej Gryniuk <maciejka45@gmail.com>\n"
|
16 |
-
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n"
|
17 |
-
"%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
-
"Language: pl\n"
|
19 |
-
|
20 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:77
|
21 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:78
|
22 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:82
|
23 |
-
msgid "Favicon"
|
24 |
-
msgstr "Favicon"
|
25 |
-
|
26 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:81
|
27 |
-
msgid "Favicon Settings"
|
28 |
-
msgstr "Ustawienia favicon"
|
29 |
-
|
30 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:182
|
31 |
-
msgid ""
|
32 |
-
"Nonce was not recognized. This case is supposed to happen only in case of "
|
33 |
-
"XSS attack. If you feel like something is wrong, please <a href=\\\"mailto:"
|
34 |
-
"contact@realfavicongenerator.net\\\">contact us</a>."
|
35 |
-
msgstr ""
|
36 |
-
"Identyfikator jednorazowy nie został rozpoznany. Prawdopodobnie jedyną tego "
|
37 |
-
"przyczyną może być atak XSS. Jeżeli sądzisz, że coś działa nieprawidłowo, "
|
38 |
-
"prosimy o <a href=\\\"mailto:contact@realfavicongenerator.net\\\">kontakt</"
|
39 |
-
"a>."
|
40 |
-
|
41 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:190
|
42 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:414
|
43 |
-
msgid "Cannot create directory %s to store the favicon package"
|
44 |
-
msgstr "Nie można utworzyć katalogu %s do przechowania paczki favicon"
|
45 |
-
|
46 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:442
|
47 |
-
msgid "An update is available on RealFaviconGenerator:"
|
48 |
-
msgstr "Dostępna aktualizacja na RealFaviconGenerator:"
|
49 |
-
|
50 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:448
|
51 |
-
msgid "You might want to <a href=\"%s\">generate your favicon again</a>"
|
52 |
-
msgstr "Być może zechcesz <a href=\"%s\">ponownie wygenerować favicon</a>"
|
53 |
-
|
54 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:454
|
55 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:477
|
56 |
-
msgid "Hide this notice"
|
57 |
-
msgstr "Ukryj to powiadomienie"
|
58 |
-
|
59 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:458
|
60 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:481
|
61 |
-
msgid "Do not warn me again in case of update"
|
62 |
-
msgstr "Nie powiadamiaj mnie ponownie"
|
63 |
-
|
64 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:471
|
65 |
-
msgid "Your favicon was updated automatically:"
|
66 |
-
msgstr "Twój favicon został automatycznie zaktualizowany:"
|
67 |
-
|
68 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:159
|
69 |
-
msgid "Cannot create directory %s to store the favicon package content"
|
70 |
-
msgstr ""
|
71 |
-
"Nie można utworzyć katalogu %s do przechowania zawartości paczki favicon"
|
72 |
-
|
73 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:206
|
74 |
-
msgid "Unknown reason"
|
75 |
-
msgstr "Nieznany powód"
|
76 |
-
|
77 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:212
|
78 |
-
msgid "Error while unziping the favicon package %s to directory %s"
|
79 |
-
msgstr "Błąd podczas rozpakowywania paczki favicon %s do katalogu %s"
|
80 |
-
|
81 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:281
|
82 |
-
msgid "Cannot download file at %s"
|
83 |
-
msgstr "Nie można pobrać pliku z %s"
|
84 |
-
|
85 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:284
|
86 |
-
msgid "Cannot store downloaded file locally"
|
87 |
-
msgstr "Nie można przechować pobranego pliku lokalnie"
|
88 |
-
|
89 |
-
#: admin/views/appearance.php:11
|
90 |
-
msgid "Favicon installation in progress. Please wait..."
|
91 |
-
msgstr "Instalacja favicon w toku. Proszę czekać..."
|
92 |
-
|
93 |
-
#: admin/views/appearance.php:16
|
94 |
-
msgid "Favicon installed!"
|
95 |
-
msgstr "Favicon zainstalowany!"
|
96 |
-
|
97 |
-
#: admin/views/appearance.php:18
|
98 |
-
msgid ""
|
99 |
-
"Do you like the result? If so, would you like to <a %s>rate the plugin</a>?"
|
100 |
-
msgstr ""
|
101 |
-
"Podoba Ci się osiągnięty rezultat? Jeżeli tak, będziemy wdzięczni za <a "
|
102 |
-
"%s>ocenę wtyczki</a>."
|
103 |
-
|
104 |
-
#: admin/views/appearance.php:26 admin/views/appearance.php:37
|
105 |
-
msgid "Current favicon"
|
106 |
-
msgstr "Bieżący favicon"
|
107 |
-
|
108 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:40
|
109 |
-
msgid "The favicon is up and ready."
|
110 |
-
msgstr "Favicon jest zainstalowany."
|
111 |
-
|
112 |
-
#: admin/views/appearance.php:31 admin/views/appearance.php:52
|
113 |
-
msgid ""
|
114 |
-
"<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
115 |
-
msgstr "<a %s>Sprawdź swój favicon</a> poprzez system RealFaviconGenerator."
|
116 |
-
|
117 |
-
#: admin/views/appearance.php:33 admin/views/appearance.php:55
|
118 |
-
msgid "This option works only if your site is accessible from the outside."
|
119 |
-
msgstr ""
|
120 |
-
"Ta opcja zadziała, tylko jeżeli Twoja strona jest publicznie dostępna."
|
121 |
-
|
122 |
-
#: admin/views/appearance.php:42
|
123 |
-
msgid "No favicon has been configured yet."
|
124 |
-
msgstr "Jeszcze nie skonfigurowano favicon."
|
125 |
-
|
126 |
-
#: admin/views/appearance.php:62
|
127 |
-
msgid "Favicon generation"
|
128 |
-
msgstr "Tworzenie favicon'a"
|
129 |
-
|
130 |
-
#: admin/views/appearance.php:64
|
131 |
-
msgid "You can replace the existing favicon."
|
132 |
-
msgstr "Możesz zastąpić bieżącego favicon'a."
|
133 |
-
|
134 |
-
#: admin/views/appearance.php:71
|
135 |
-
msgid "Master picture URL"
|
136 |
-
msgstr "Adres URL głównej grafiki"
|
137 |
-
|
138 |
-
#: admin/views/appearance.php:75 admin/views/appearance.php:76
|
139 |
-
msgid "Select from the Media Library"
|
140 |
-
msgstr "Wybierz z Biblioteki mediów"
|
141 |
-
|
142 |
-
#: admin/views/appearance.php:79
|
143 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
144 |
-
msgstr ""
|
145 |
-
"Prześlij kwadratową grafikę, wymiarów przynajmniej 70x70 (zalecane: 260x260 "
|
146 |
-
"lub więcej)"
|
147 |
-
|
148 |
-
#: admin/views/appearance.php:81
|
149 |
-
msgid ""
|
150 |
-
"If the picture is on your hard drive, you can leave this field blank and "
|
151 |
-
"upload the picture from RealFaviconGenerator."
|
152 |
-
msgstr ""
|
153 |
-
"Jeżeli grafika znajduje się na Twoim dysku twardym, możesz zostawić to pole "
|
154 |
-
"puste i przesłać ją poprzez RealFaviconGenerator."
|
155 |
-
|
156 |
-
#: admin/views/appearance.php:89
|
157 |
-
msgid "Favicon files in root directory"
|
158 |
-
msgstr "Pliki favicon w katalogu głównym"
|
159 |
-
|
160 |
-
#: admin/views/appearance.php:94
|
161 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
162 |
-
msgstr "Wtyczka zawsze przechowuje pliki favicon w wydzielonym katalogu."
|
163 |
-
|
164 |
-
#: admin/views/appearance.php:96
|
165 |
-
msgid ""
|
166 |
-
"However, if this option is enabled, the plugin takes advantage of the "
|
167 |
-
"permalink feature and the favicon files appear to be in the root directory"
|
168 |
-
msgstr ""
|
169 |
-
"Jednakże, jeżeli aktywujesz tę opcję, wtyczka skorzysta ze struktury "
|
170 |
-
"bezpośrednich odnośników i pliki favicon pojawią się w katalogu głównym"
|
171 |
-
|
172 |
-
#: admin/views/appearance.php:97
|
173 |
-
msgid "recommended"
|
174 |
-
msgstr "zalecane"
|
175 |
-
|
176 |
-
#: admin/views/appearance.php:106 admin/views/appearance.php:220
|
177 |
-
msgid "Generate favicon"
|
178 |
-
msgstr "Stwórz favicon"
|
179 |
-
|
180 |
-
#: admin/views/appearance.php:200
|
181 |
-
msgid "Preparing master picture..."
|
182 |
-
msgstr "Przygotowywanie głównej grafiki..."
|
183 |
-
|
184 |
-
#: admin/views/appearance.php:257
|
185 |
-
msgid "An error occured"
|
186 |
-
msgstr "Wystąpił błąd"
|
187 |
-
|
188 |
-
#: admin/views/appearance.php:268
|
189 |
-
msgid "An internal error occurred"
|
190 |
-
msgstr "Wystąpił błąd wewnętrzny"
|
191 |
-
|
192 |
-
#: admin/views/settings.php:13
|
193 |
-
msgid ""
|
194 |
-
"Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > "
|
195 |
-
"Favicon</a>"
|
196 |
-
msgstr ""
|
197 |
-
"Chcesz zainstalować swój favicon? Przejdź do <a href=\"%s\">Wygląd > "
|
198 |
-
"Favicon</a>"
|
199 |
-
|
200 |
-
#: admin/views/settings.php:22
|
201 |
-
msgid "Display update notifications"
|
202 |
-
msgstr "Wyświetlaj powiadomienia o aktualizacji"
|
203 |
-
|
204 |
-
#: admin/views/settings.php:27
|
205 |
-
msgid ""
|
206 |
-
"Get notifications when RealFaviconGenerator is updated. For example, when "
|
207 |
-
"Apple releases a new version of iOS or a new platform is supported."
|
208 |
-
msgstr ""
|
209 |
-
"Otrzymuj powiadomienia o aktualizacjach RealFaviconGenerator. Przykładowo - "
|
210 |
-
"Apple wydało nową wersję iOS lub wspieramy nową platformę."
|
211 |
-
|
212 |
-
#: admin/views/settings.php:36
|
213 |
-
msgid "Save changes"
|
214 |
-
msgstr "Zapisz zmiany"
|
215 |
-
|
216 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:181
|
217 |
-
msgid ""
|
218 |
-
"Visit the <a href=\"%s\">RFG's change log</a> to view the content of the "
|
219 |
-
"update"
|
220 |
-
msgstr ""
|
221 |
-
"Przejdź do <a href=\"%s\">dziennika zmian RFG</a>, aby przejrzeć treść "
|
222 |
-
"aktualizacji"
|
223 |
-
|
224 |
-
#. Plugin Name of the plugin/theme
|
225 |
-
msgid "Favicon by RealFaviconGenerator"
|
226 |
-
msgstr "Favicon od RealFaviconGenerator"
|
227 |
-
|
228 |
-
#. Plugin URI of the plugin/theme
|
229 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
230 |
-
msgstr "http://realfavicongenerator.net/extensions/wordpress"
|
231 |
-
|
232 |
-
#. Description of the plugin/theme
|
233 |
-
msgid ""
|
234 |
-
"Create and install your favicon for all platforms: PC/Mac of course, but "
|
235 |
-
"also iPhone/iPad, Android devices, Windows 8 tablets, etc."
|
236 |
-
msgstr ""
|
237 |
-
"Twórz i instaluj favicon'a dla wszystkich platform: PC/Mac, iPhone/iPad, "
|
238 |
-
"Android, Windows 8, tablety itp."
|
239 |
-
|
240 |
-
#. Author of the plugin/theme
|
241 |
-
msgid "Philippe Bernard"
|
242 |
-
msgstr "Philippe Bernard"
|
243 |
-
|
244 |
-
#. Author URI of the plugin/theme
|
245 |
-
msgid "http://realfavicongenerator.net/"
|
246 |
-
msgstr "http://realfavicongenerator.net/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator-pt_BR.mo
DELETED
Binary file
|
trunk/languages/favicon-by-realfavicongenerator-pt_BR.po
DELETED
@@ -1,188 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Favicon by RealFaviconGenerator\n"
|
4 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/favicon-by-"
|
5 |
-
"realfavicongenerator\n"
|
6 |
-
"POT-Creation-Date: 2014-10-22 20:10:01+00:00\n"
|
7 |
-
"PO-Revision-Date: \n"
|
8 |
-
"Last-Translator: Techload <contato@techload.com.br>\n"
|
9 |
-
"Language-Team: Techload\n"
|
10 |
-
"Language: pt_BR\n"
|
11 |
-
"MIME-Version: 1.0\n"
|
12 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
-
"Content-Transfer-Encoding: 8bit\n"
|
14 |
-
"X-Generator: Poedit 1.6.9\n"
|
15 |
-
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
16 |
-
"X-Poedit-KeywordsList: _;__e\n"
|
17 |
-
"X-Poedit-Basepath: .\n"
|
18 |
-
|
19 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:65
|
20 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:66
|
21 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:70
|
22 |
-
msgid "Favicon"
|
23 |
-
msgstr "Favicon"
|
24 |
-
|
25 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:69
|
26 |
-
msgid "Favicon Settings"
|
27 |
-
msgstr "Configurações do Favicon"
|
28 |
-
|
29 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:351
|
30 |
-
msgid ""
|
31 |
-
"<a href=\"%s\" target=\"_blank\">An update is available</a> on "
|
32 |
-
"RealFaviconGenerator. You might want to <a href=\"%s\">generate your favicon "
|
33 |
-
"again</a>."
|
34 |
-
msgstr ""
|
35 |
-
"<a href=\"%s\" target=\"_blank\">Uma atualização está disponível</a> em "
|
36 |
-
"RealFaviconGenerator. Você pode querer <a href=\"%s\">gerar seu favicon "
|
37 |
-
"novamente</a>."
|
38 |
-
|
39 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:354
|
40 |
-
msgid " | <a href=\"%s\">Hide this notice</a>"
|
41 |
-
msgstr " | <a href=\"%s\">Ocultar este aviso</a>"
|
42 |
-
|
43 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:356
|
44 |
-
msgid " | <a href=\"%s\">Do not warn me again in case of update</a>"
|
45 |
-
msgstr ""
|
46 |
-
" | <a href=\"%s\">Não me avisar novamente quando houver atualizações</a>"
|
47 |
-
|
48 |
-
#: admin/views/appearance.php:11
|
49 |
-
msgid "Favicon installation in progress. Please wait..."
|
50 |
-
msgstr "Instalação do Favicon em andamento. Por favor, aguarde..."
|
51 |
-
|
52 |
-
#: admin/views/appearance.php:15
|
53 |
-
msgid "Favicon installed!"
|
54 |
-
msgstr "Favicon instalado!"
|
55 |
-
|
56 |
-
#: admin/views/appearance.php:20 admin/views/appearance.php:31
|
57 |
-
msgid "Current favicon"
|
58 |
-
msgstr "Favicon atual"
|
59 |
-
|
60 |
-
#: admin/views/appearance.php:21 admin/views/appearance.php:34
|
61 |
-
msgid "The favicon is up and ready."
|
62 |
-
msgstr "O favicon está pronto."
|
63 |
-
|
64 |
-
#: admin/views/appearance.php:25 admin/views/appearance.php:46
|
65 |
-
msgid ""
|
66 |
-
"<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
67 |
-
msgstr ""
|
68 |
-
"<a %s>Verifique o seu favicon</a> com o verificador de favicon do "
|
69 |
-
"RealFaviconGenerator."
|
70 |
-
|
71 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:49
|
72 |
-
msgid "This option works only if your site is accessible from the outside."
|
73 |
-
msgstr "Esta opção só funciona se o site está acessível publicamente."
|
74 |
-
|
75 |
-
#: admin/views/appearance.php:36
|
76 |
-
msgid "No favicon has been configured yet."
|
77 |
-
msgstr "Nenhum favicon foi configurado ainda."
|
78 |
-
|
79 |
-
#: admin/views/appearance.php:56
|
80 |
-
msgid "Favicon generation"
|
81 |
-
msgstr "Geração do Favicon"
|
82 |
-
|
83 |
-
#: admin/views/appearance.php:58
|
84 |
-
msgid "You can replace the existing favicon."
|
85 |
-
msgstr "Você pode substituir o favicon existente."
|
86 |
-
|
87 |
-
#: admin/views/appearance.php:65
|
88 |
-
msgid "Master picture URL"
|
89 |
-
msgstr "URL da imagem"
|
90 |
-
|
91 |
-
#: admin/views/appearance.php:69 admin/views/appearance.php:70
|
92 |
-
msgid "Select from the Media Library"
|
93 |
-
msgstr "Selecione a partir da Biblioteca de Mídia"
|
94 |
-
|
95 |
-
#: admin/views/appearance.php:73
|
96 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
97 |
-
msgstr ""
|
98 |
-
"Enviar uma imagem quadrada, pelo menos 70x70 (recomendado: 260x260 ou mais)"
|
99 |
-
|
100 |
-
#: admin/views/appearance.php:75
|
101 |
-
msgid ""
|
102 |
-
"If the picture is on your hard drive, you can leave this field blank and "
|
103 |
-
"upload the picture from RealFaviconGenerator."
|
104 |
-
msgstr ""
|
105 |
-
"Se a imagem estiver em seu disco rígido, você pode deixar este campo em "
|
106 |
-
"branco e fazer o upload da imagem a partir do RealFaviconGenerator."
|
107 |
-
|
108 |
-
#: admin/views/appearance.php:83
|
109 |
-
msgid "Favicon files in root directory"
|
110 |
-
msgstr "Arquivos do favicon no diretório raiz"
|
111 |
-
|
112 |
-
#: admin/views/appearance.php:88
|
113 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
114 |
-
msgstr ""
|
115 |
-
"O plugin sempre armazena os arquivos favicon em um diretório específico."
|
116 |
-
|
117 |
-
#: admin/views/appearance.php:90
|
118 |
-
msgid ""
|
119 |
-
"However, if this option is enabled, the plugin takes advantage of the "
|
120 |
-
"permalink feature and the favicon files appear to be in the root directory"
|
121 |
-
msgstr ""
|
122 |
-
"No entanto, se esta opção estiver habilitada, o plugin aproveita os recursos "
|
123 |
-
"do permalink e os arquivos favicon parecem estar no diretório raiz"
|
124 |
-
|
125 |
-
#: admin/views/appearance.php:91
|
126 |
-
msgid "recommended"
|
127 |
-
msgstr "recomendado"
|
128 |
-
|
129 |
-
#: admin/views/appearance.php:100
|
130 |
-
msgid "Generate favicon"
|
131 |
-
msgstr "Gerar o favicon"
|
132 |
-
|
133 |
-
#: admin/views/appearance.php:189
|
134 |
-
msgid "An error occured"
|
135 |
-
msgstr "Ocorreu um erro"
|
136 |
-
|
137 |
-
#: admin/views/appearance.php:200
|
138 |
-
msgid "An internal error occurred"
|
139 |
-
msgstr "Ocorreu um erro interno"
|
140 |
-
|
141 |
-
#: admin/views/settings.php:13
|
142 |
-
msgid ""
|
143 |
-
"Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > "
|
144 |
-
"Favicon</a>"
|
145 |
-
msgstr ""
|
146 |
-
"Deseja configurar seu favicon? Vá até <a href=\"%s\">Aparência > Favicon</"
|
147 |
-
"a>"
|
148 |
-
|
149 |
-
#: admin/views/settings.php:22
|
150 |
-
msgid "Display update notifications"
|
151 |
-
msgstr "Exibir notificações de atualizações"
|
152 |
-
|
153 |
-
#: admin/views/settings.php:27
|
154 |
-
msgid ""
|
155 |
-
"Get notifications when RealFaviconGenerator is updated. For example, when "
|
156 |
-
"Apple releases a new version of iOS or a new platform is supported."
|
157 |
-
msgstr ""
|
158 |
-
"Receber notificações quando o RealFaviconGenerator for atualizado. Por "
|
159 |
-
"exemplo, quando a Apple lançar uma nova versão do iOS ou quando uma nova "
|
160 |
-
"plataforma for suportada."
|
161 |
-
|
162 |
-
#: admin/views/settings.php:36
|
163 |
-
msgid "Save changes"
|
164 |
-
msgstr "Salvar mudanças"
|
165 |
-
|
166 |
-
#. Plugin Name of the plugin/theme
|
167 |
-
msgid "Favicon by RealFaviconGenerator"
|
168 |
-
msgstr "Favicon por RealFaviconGenerator"
|
169 |
-
|
170 |
-
#. Plugin URI of the plugin/theme
|
171 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
172 |
-
msgstr "http://realfavicongenerator.net/extensions/wordpress"
|
173 |
-
|
174 |
-
#. Description of the plugin/theme
|
175 |
-
msgid ""
|
176 |
-
"Create and install your favicon for all platforms: PC/Mac of course, but "
|
177 |
-
"also iPhone/iPad, Android devices, Windows 8 tablets, etc."
|
178 |
-
msgstr ""
|
179 |
-
"Crie e instale o seu favicon para todas as plataformas: PC/Mac, é claro, mas "
|
180 |
-
"também para o iPhone/iPad, dispositivos Android, tablets com Windows 8, etc."
|
181 |
-
|
182 |
-
#. Author of the plugin/theme
|
183 |
-
msgid "Philippe Bernard"
|
184 |
-
msgstr "Philippe Bernard"
|
185 |
-
|
186 |
-
#. Author URI of the plugin/theme
|
187 |
-
msgid "http://realfavicongenerator.net/"
|
188 |
-
msgstr "http://realfavicongenerator.net/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator-ru_RU.mo
DELETED
Binary file
|
trunk/languages/favicon-by-realfavicongenerator-ru_RU.po
DELETED
@@ -1,242 +0,0 @@
|
|
1 |
-
# Translation of Development (trunk) in Russian
|
2 |
-
# This file is distributed under the same license as the Development (trunk) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"PO-Revision-Date: 2016-05-17 16:05+0300\n"
|
6 |
-
"MIME-Version: 1.0\n"
|
7 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
-
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
10 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
11 |
-
"X-Generator: Poedit 1.8.7\n"
|
12 |
-
"Project-Id-Version: Development (trunk)\n"
|
13 |
-
"POT-Creation-Date: \n"
|
14 |
-
"Language-Team: \n"
|
15 |
-
"Last-Translator: \n"
|
16 |
-
"Language: ru_RU\n"
|
17 |
-
|
18 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:77
|
19 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:78
|
20 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:82
|
21 |
-
msgid "Favicon"
|
22 |
-
msgstr "Favicon"
|
23 |
-
|
24 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:81
|
25 |
-
msgid "Favicon Settings"
|
26 |
-
msgstr "Настройки Favicon"
|
27 |
-
|
28 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:174
|
29 |
-
msgid ""
|
30 |
-
"Nonce was not recognized. This case is supposed to happen only in case of "
|
31 |
-
"XSS attack. If you feel like something is wrong, please <a href=\\\"mailto:"
|
32 |
-
"contact@realfavicongenerator.net\\\">contact us</a>."
|
33 |
-
msgstr ""
|
34 |
-
"Специальное слово не распознается. Такое происхоит только в случае атак "
|
35 |
-
"XSS. Если Вам кажется, что что-то не так, пожалуйста, <a href=\"\\\"mailto:"
|
36 |
-
"contact@realfavicongenerator.net\\\"\">свяжитесь с нами</a>."
|
37 |
-
|
38 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:182
|
39 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:415
|
40 |
-
msgid "Cannot create directory %s to store the favicon package"
|
41 |
-
msgstr "Не удается создать каталог %s для хранения пакета значков"
|
42 |
-
|
43 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:434
|
44 |
-
msgid "An update is available on RealFaviconGenerator:"
|
45 |
-
msgstr "Обновление доступно на RealFaviconGenerator:"
|
46 |
-
|
47 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:440
|
48 |
-
msgid "You might want to <a href=\"%s\">generate your favicon again</a>"
|
49 |
-
msgstr "Может потребоваться <a href=\"%s\">создать свой значок снова</a>"
|
50 |
-
|
51 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:446
|
52 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:469
|
53 |
-
msgid "Hide this notice"
|
54 |
-
msgstr "Скрыть это уведомление"
|
55 |
-
|
56 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:450
|
57 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:473
|
58 |
-
msgid "Do not warn me again in case of update"
|
59 |
-
msgstr "Не предупреждать в случае обновления"
|
60 |
-
|
61 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:463
|
62 |
-
msgid "Your favicon was updated automatically:"
|
63 |
-
msgstr "Ваш значок был обновлен автоматически:"
|
64 |
-
|
65 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:159
|
66 |
-
msgid "Cannot create directory %s to store the favicon package content"
|
67 |
-
msgstr "Не удается создать каталог %s для хранения содержимого пакета значков"
|
68 |
-
|
69 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:206
|
70 |
-
msgid "Unknown reason"
|
71 |
-
msgstr "Неизвестная причина"
|
72 |
-
|
73 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:212
|
74 |
-
msgid "Error while unziping the favicon package %s to directory %s"
|
75 |
-
msgstr "Ошибка при распаковке favicon пакета в директорию % S"
|
76 |
-
|
77 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:281
|
78 |
-
msgid "Cannot download file at %s"
|
79 |
-
msgstr "Не удается загрузить файл на %s"
|
80 |
-
|
81 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:284
|
82 |
-
msgid "Cannot store downloaded file locally"
|
83 |
-
msgstr "Не удается сохранить загруженный файл локально"
|
84 |
-
|
85 |
-
#: admin/views/appearance.php:11
|
86 |
-
msgid "Favicon installation in progress. Please wait..."
|
87 |
-
msgstr "Идет установка Favicon. Пожалуйста, подождите..."
|
88 |
-
|
89 |
-
#: admin/views/appearance.php:16
|
90 |
-
msgid "Favicon installed!"
|
91 |
-
msgstr "Favicon установлен!"
|
92 |
-
|
93 |
-
#: admin/views/appearance.php:18
|
94 |
-
msgid ""
|
95 |
-
"Do you like the result? If so, would you like to <a %s>rate the plugin</a>?"
|
96 |
-
msgstr ""
|
97 |
-
"Вам нравится реультат? Если да, то вам хотелось бы <a %s> оценить плагин </"
|
98 |
-
"a>?"
|
99 |
-
|
100 |
-
#: admin/views/appearance.php:26 admin/views/appearance.php:37
|
101 |
-
msgid "Current favicon"
|
102 |
-
msgstr "Текущий значок"
|
103 |
-
|
104 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:40
|
105 |
-
msgid "The favicon is up and ready."
|
106 |
-
msgstr "Favicon установлен и готов к работе."
|
107 |
-
|
108 |
-
#: admin/views/appearance.php:31 admin/views/appearance.php:52
|
109 |
-
msgid ""
|
110 |
-
"<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
111 |
-
msgstr "<a %s> Проверьте favicon</a> через RealFaviconGenerator favicon."
|
112 |
-
|
113 |
-
#: admin/views/appearance.php:33 admin/views/appearance.php:55
|
114 |
-
msgid "This option works only if your site is accessible from the outside."
|
115 |
-
msgstr "Эта опция работает только для сайтов, которые доступны извне."
|
116 |
-
|
117 |
-
#: admin/views/appearance.php:42
|
118 |
-
msgid "No favicon has been configured yet."
|
119 |
-
msgstr "Ни один значок пока не настроен."
|
120 |
-
|
121 |
-
#: admin/views/appearance.php:62
|
122 |
-
msgid "Favicon generation"
|
123 |
-
msgstr "Favicon генерация "
|
124 |
-
|
125 |
-
#: admin/views/appearance.php:64
|
126 |
-
msgid "You can replace the existing favicon."
|
127 |
-
msgstr "Вы можете заменить существующий фавикон."
|
128 |
-
|
129 |
-
#: admin/views/appearance.php:71
|
130 |
-
msgid "Master picture URL"
|
131 |
-
msgstr "URL главного изображения"
|
132 |
-
|
133 |
-
#: admin/views/appearance.php:75 admin/views/appearance.php:76
|
134 |
-
msgid "Select from the Media Library"
|
135 |
-
msgstr "Выберите из библиотеки мультимедиа"
|
136 |
-
|
137 |
-
#: admin/views/appearance.php:79
|
138 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
139 |
-
msgstr ""
|
140 |
-
"Добавьте квадратную картину размером не менее 70 х 70 (рекомендованный "
|
141 |
-
"размер: 260x260 или более)"
|
142 |
-
|
143 |
-
#: admin/views/appearance.php:81
|
144 |
-
msgid ""
|
145 |
-
"If the picture is on your hard drive, you can leave this field blank and "
|
146 |
-
"upload the picture from RealFaviconGenerator."
|
147 |
-
msgstr ""
|
148 |
-
"Если изображение находится на вашем жестком диске, вы можете оставить это "
|
149 |
-
"поле пустым и загрузить изображение из RealFaviconGenerator."
|
150 |
-
|
151 |
-
#: admin/views/appearance.php:89
|
152 |
-
msgid "Favicon files in root directory"
|
153 |
-
msgstr "Favicon файлы в корневой директории"
|
154 |
-
|
155 |
-
#: admin/views/appearance.php:94
|
156 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
157 |
-
msgstr "Плагин всегда сохраняет favicon файлы в отдельную директорию."
|
158 |
-
|
159 |
-
#: admin/views/appearance.php:96
|
160 |
-
msgid ""
|
161 |
-
"However, if this option is enabled, the plugin takes advantage of the "
|
162 |
-
"permalink feature and the favicon files appear to be in the root directory"
|
163 |
-
msgstr ""
|
164 |
-
"Однако, если эта опция включена, плагин использует преимущества функции "
|
165 |
-
"постоянной ссылки и фавикон файлы появятся в корневом каталоге"
|
166 |
-
|
167 |
-
#: admin/views/appearance.php:97
|
168 |
-
msgid "recommended"
|
169 |
-
msgstr "рекомендуется"
|
170 |
-
|
171 |
-
#: admin/views/appearance.php:106 admin/views/appearance.php:220
|
172 |
-
msgid "Generate favicon"
|
173 |
-
msgstr "Генерировать favicon"
|
174 |
-
|
175 |
-
#: admin/views/appearance.php:200
|
176 |
-
msgid "Preparing master picture..."
|
177 |
-
msgstr "Подготовка главного изображения ..."
|
178 |
-
|
179 |
-
#: admin/views/appearance.php:257
|
180 |
-
msgid "An error occured"
|
181 |
-
msgstr "Произошла ошибка"
|
182 |
-
|
183 |
-
#: admin/views/appearance.php:268
|
184 |
-
msgid "An internal error occurred"
|
185 |
-
msgstr "Произошла внутренняя ошибка"
|
186 |
-
|
187 |
-
#: admin/views/settings.php:13
|
188 |
-
msgid ""
|
189 |
-
"Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > "
|
190 |
-
"Favicon</a>"
|
191 |
-
msgstr ""
|
192 |
-
"Вы хотите настроить свой favicon? Перейти к <a href=\"%s\"> Appearance > "
|
193 |
-
"Favicon </a>"
|
194 |
-
|
195 |
-
#: admin/views/settings.php:22
|
196 |
-
msgid "Display update notifications"
|
197 |
-
msgstr "Отображать уведомления об обновлениях"
|
198 |
-
|
199 |
-
#: admin/views/settings.php:27
|
200 |
-
msgid ""
|
201 |
-
"Get notifications when RealFaviconGenerator is updated. For example, when "
|
202 |
-
"Apple releases a new version of iOS or a new platform is supported."
|
203 |
-
msgstr ""
|
204 |
-
"Получать уведомления, когда RealFaviconGenerator обновляется. Например, "
|
205 |
-
"когда компания Apple выпускает новую версию iOS или поддержку новой "
|
206 |
-
"платформы."
|
207 |
-
|
208 |
-
#: admin/views/settings.php:36
|
209 |
-
msgid "Save changes"
|
210 |
-
msgstr "Сохранить изменения"
|
211 |
-
|
212 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:181
|
213 |
-
msgid ""
|
214 |
-
"Visit the <a href=\"%s\">RFG's change log</a> to view the content of the "
|
215 |
-
"update"
|
216 |
-
msgstr ""
|
217 |
-
"Посетите <a href=\"%s\">журнал изменений RFG</a> чтобы просмотреть "
|
218 |
-
"содержимое обновления"
|
219 |
-
|
220 |
-
#. Plugin Name of the plugin/theme
|
221 |
-
msgid "Favicon by RealFaviconGenerator"
|
222 |
-
msgstr "Favicon от RealFaviconGenerator"
|
223 |
-
|
224 |
-
#. Plugin URI of the plugin/theme
|
225 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
226 |
-
msgstr "http://realfavicongenerator.net/extensions/wordpress"
|
227 |
-
|
228 |
-
#. Description of the plugin/theme
|
229 |
-
msgid ""
|
230 |
-
"Create and install your favicon for all platforms: PC/Mac of course, but "
|
231 |
-
"also iPhone/iPad, Android devices, Windows 8 tablets, etc."
|
232 |
-
msgstr ""
|
233 |
-
"Создайте и установите фавикон на всех платформах: конечно, PC / Mac, но так "
|
234 |
-
"же и на iPhone / Ipad, Android устройствах, Windows 8 планшетах и т.д."
|
235 |
-
|
236 |
-
#. Author of the plugin/theme
|
237 |
-
msgid "Philippe Bernard"
|
238 |
-
msgstr "Филиппе Бернар"
|
239 |
-
|
240 |
-
#. Author URI of the plugin/theme
|
241 |
-
msgid "http://realfavicongenerator.net/"
|
242 |
-
msgstr "http://realfavicongenerator.net/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator-sv_SE.mo
DELETED
Binary file
|
trunk/languages/favicon-by-realfavicongenerator-sv_SE.po
DELETED
@@ -1,186 +0,0 @@
|
|
1 |
-
# Copyright (C) 2014-2016 Favicon by RealFaviconGenerator
|
2 |
-
# This file is distributed under the same license as the Favicon by RealFaviconGenerator package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Favicon by RealFaviconGenerator 1.0.4\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/favicon-by-"
|
7 |
-
"realfavicongenerator\n"
|
8 |
-
"POT-Creation-Date: 2014-10-22 20:10:01+00:00\n"
|
9 |
-
"PO-Revision-Date: 2014-11-15 09:54+0100\n"
|
10 |
-
"Last-Translator: Linus Wileryd <linus@cutup.se>\n"
|
11 |
-
"Language-Team: Linus <linus@cutup.se>\n"
|
12 |
-
"Language: sv_SE\n"
|
13 |
-
"MIME-Version: 1.0\n"
|
14 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
-
"Content-Transfer-Encoding: 8bit\n"
|
16 |
-
"X-Generator: Poedit 1.6.10\n"
|
17 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
-
|
20 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:65
|
21 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:66
|
22 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:70
|
23 |
-
msgid "Favicon"
|
24 |
-
msgstr "Favicon"
|
25 |
-
|
26 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:69
|
27 |
-
msgid "Favicon Settings"
|
28 |
-
msgstr "Favicon-inställningar"
|
29 |
-
|
30 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:351
|
31 |
-
msgid ""
|
32 |
-
"<a href=\"%s\" target=\"_blank\">An update is available</a> on "
|
33 |
-
"RealFaviconGenerator. You might want to <a href=\"%s\">generate your favicon "
|
34 |
-
"again</a>."
|
35 |
-
msgstr ""
|
36 |
-
"<a href=\"%s\" target=\"_blank\">En uppdatering finns tillgänglig</a> hos "
|
37 |
-
"RealFaviconGenerator. Du vill förmodligen <a href=\"%s\">generera din "
|
38 |
-
"favicon på nytt</a>."
|
39 |
-
|
40 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:354
|
41 |
-
msgid " | <a href=\"%s\">Hide this notice</a>"
|
42 |
-
msgstr " | <a href=\"%s\">Dölj denna notis</a>"
|
43 |
-
|
44 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:356
|
45 |
-
msgid " | <a href=\"%s\">Do not warn me again in case of update</a>"
|
46 |
-
msgstr " | <a href=\"%s\">Varna mig inte igen om ev. uppdateringar</a>"
|
47 |
-
|
48 |
-
#: admin/views/appearance.php:11
|
49 |
-
msgid "Favicon installation in progress. Please wait..."
|
50 |
-
msgstr "Favicon installeras just nu. Var vänlig vänta..."
|
51 |
-
|
52 |
-
#: admin/views/appearance.php:15
|
53 |
-
msgid "Favicon installed!"
|
54 |
-
msgstr "Favicon installerad!"
|
55 |
-
|
56 |
-
#: admin/views/appearance.php:20 admin/views/appearance.php:31
|
57 |
-
msgid "Current favicon"
|
58 |
-
msgstr "Aktuell favicon"
|
59 |
-
|
60 |
-
#: admin/views/appearance.php:21 admin/views/appearance.php:34
|
61 |
-
msgid "The favicon is up and ready."
|
62 |
-
msgstr "Favicon är uppladdad och redo."
|
63 |
-
|
64 |
-
#: admin/views/appearance.php:25 admin/views/appearance.php:46
|
65 |
-
msgid ""
|
66 |
-
"<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
67 |
-
msgstr ""
|
68 |
-
"<a %s>Granska din favicon</a> med RealFaviconGenerators favicon-granskare."
|
69 |
-
|
70 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:49
|
71 |
-
msgid "This option works only if your site is accessible from the outside."
|
72 |
-
msgstr "Detta tillval fungerar endast om din sajt är åtkomlig utifrån."
|
73 |
-
|
74 |
-
#: admin/views/appearance.php:36
|
75 |
-
msgid "No favicon has been configured yet."
|
76 |
-
msgstr "Ingen favicon har konfigurerats ännu."
|
77 |
-
|
78 |
-
#: admin/views/appearance.php:56
|
79 |
-
msgid "Favicon generation"
|
80 |
-
msgstr "Genererande av favicon"
|
81 |
-
|
82 |
-
#: admin/views/appearance.php:58
|
83 |
-
msgid "You can replace the existing favicon."
|
84 |
-
msgstr "Du kan ersätta den favicon som existerar."
|
85 |
-
|
86 |
-
#: admin/views/appearance.php:65
|
87 |
-
msgid "Master picture URL"
|
88 |
-
msgstr "Originalbildlänk"
|
89 |
-
|
90 |
-
#: admin/views/appearance.php:69 admin/views/appearance.php:70
|
91 |
-
msgid "Select from the Media Library"
|
92 |
-
msgstr "Välj från Mediabiblioteket"
|
93 |
-
|
94 |
-
#: admin/views/appearance.php:73
|
95 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
96 |
-
msgstr ""
|
97 |
-
"Skicka in en kvadratisk bild, minst 70x70 (rekommenderat: 260x260 eller "
|
98 |
-
"högre)"
|
99 |
-
|
100 |
-
#: admin/views/appearance.php:75
|
101 |
-
msgid ""
|
102 |
-
"If the picture is on your hard drive, you can leave this field blank and "
|
103 |
-
"upload the picture from RealFaviconGenerator."
|
104 |
-
msgstr ""
|
105 |
-
"Om bilden finns på din hårddisk kan du lämna fältet blankt och ladda upp "
|
106 |
-
"bilden från RealFaviconGenerator."
|
107 |
-
|
108 |
-
#: admin/views/appearance.php:83
|
109 |
-
msgid "Favicon files in root directory"
|
110 |
-
msgstr "Favicon-filer i rotmappen"
|
111 |
-
|
112 |
-
#: admin/views/appearance.php:88
|
113 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
114 |
-
msgstr "Tillägget sparar alltid favicon-filerna i en dedikerad mapp."
|
115 |
-
|
116 |
-
#: admin/views/appearance.php:90
|
117 |
-
msgid ""
|
118 |
-
"However, if this option is enabled, the plugin takes advantage of the "
|
119 |
-
"permalink feature and the favicon files appear to be in the root directory"
|
120 |
-
msgstr ""
|
121 |
-
"Hursomhelst, om detta tillval är aktiverat använder tillägget sig av "
|
122 |
-
"permalänk-funktionen och favicon-filerna ser ut att finnas i rotmappen"
|
123 |
-
|
124 |
-
#: admin/views/appearance.php:91
|
125 |
-
msgid "recommended"
|
126 |
-
msgstr "rekommenderat"
|
127 |
-
|
128 |
-
#: admin/views/appearance.php:100
|
129 |
-
msgid "Generate favicon"
|
130 |
-
msgstr "Generera favicon"
|
131 |
-
|
132 |
-
#: admin/views/appearance.php:189
|
133 |
-
msgid "An error occured"
|
134 |
-
msgstr "Ett fel uppstod"
|
135 |
-
|
136 |
-
#: admin/views/appearance.php:200
|
137 |
-
msgid "An internal error occurred"
|
138 |
-
msgstr "Ett internt fel uppstod"
|
139 |
-
|
140 |
-
#: admin/views/settings.php:13
|
141 |
-
msgid ""
|
142 |
-
"Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > "
|
143 |
-
"Favicon</a>"
|
144 |
-
msgstr ""
|
145 |
-
"Vill du ställa in din favicon? Gå till <a href=\"%s\">Utseende > Favicon</"
|
146 |
-
"a>"
|
147 |
-
|
148 |
-
#: admin/views/settings.php:22
|
149 |
-
msgid "Display update notifications"
|
150 |
-
msgstr "Visa uppdateringsnotiser"
|
151 |
-
|
152 |
-
#: admin/views/settings.php:27
|
153 |
-
msgid ""
|
154 |
-
"Get notifications when RealFaviconGenerator is updated. For example, when "
|
155 |
-
"Apple releases a new version of iOS or a new platform is supported."
|
156 |
-
msgstr ""
|
157 |
-
"Få notifieringar när RealFaviconGenerator uppdateras t.ex. när Apple släpper "
|
158 |
-
"en ny version av iOS eller att det införs stöd för en ny plattform."
|
159 |
-
|
160 |
-
#: admin/views/settings.php:36
|
161 |
-
msgid "Save changes"
|
162 |
-
msgstr "Spara ändringar"
|
163 |
-
|
164 |
-
#. Plugin Name of the plugin/theme
|
165 |
-
msgid "Favicon by RealFaviconGenerator"
|
166 |
-
msgstr "Favicon av RealFaviconGenerator"
|
167 |
-
|
168 |
-
#. Plugin URI of the plugin/theme
|
169 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
170 |
-
msgstr "http://realfavicongenerator.net/extensions/wordpress"
|
171 |
-
|
172 |
-
#. Description of the plugin/theme
|
173 |
-
msgid ""
|
174 |
-
"Create and install your favicon for all platforms: PC/Mac of course, but "
|
175 |
-
"also iPhone/iPad, Android devices, Windows 8 tablets, etc."
|
176 |
-
msgstr ""
|
177 |
-
"Skapa och installera din favicon för alla plattformar: PC/Mac såklart, men "
|
178 |
-
"också iPhone/iPad, Android-enheter, Windows 8-surfplattor etc."
|
179 |
-
|
180 |
-
#. Author of the plugin/theme
|
181 |
-
msgid "Philippe Bernard"
|
182 |
-
msgstr "Philippe Bernard"
|
183 |
-
|
184 |
-
#. Author URI of the plugin/theme
|
185 |
-
msgid "http://realfavicongenerator.net/"
|
186 |
-
msgstr "http://realfavicongenerator.net/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/languages/favicon-by-realfavicongenerator.pot
DELETED
@@ -1,220 +0,0 @@
|
|
1 |
-
# Copyright (C) 2015 Favicon by RealFaviconGenerator
|
2 |
-
# This file is distributed under the same license as the Favicon by RealFaviconGenerator package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Favicon by RealFaviconGenerator 1.3.0\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/favicon-by-"
|
7 |
-
"realfavicongenerator\n"
|
8 |
-
"POT-Creation-Date: 2015-06-24 08:06:10+00:00\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
|
13 |
-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
-
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
-
|
16 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:77
|
17 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:78
|
18 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:82
|
19 |
-
msgid "Favicon"
|
20 |
-
msgstr ""
|
21 |
-
|
22 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:81
|
23 |
-
msgid "Favicon Settings"
|
24 |
-
msgstr ""
|
25 |
-
|
26 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:182
|
27 |
-
msgid ""
|
28 |
-
"Nonce was not recognized. This case is supposed to happen only in case of "
|
29 |
-
"XSS attack. If you feel like something is wrong, please <a href=\\\"mailto:"
|
30 |
-
"contact@realfavicongenerator.net\\\">contact us</a>."
|
31 |
-
msgstr ""
|
32 |
-
|
33 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:190
|
34 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:414
|
35 |
-
msgid "Cannot create directory %s to store the favicon package"
|
36 |
-
msgstr ""
|
37 |
-
|
38 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:442
|
39 |
-
msgid "An update is available on RealFaviconGenerator:"
|
40 |
-
msgstr ""
|
41 |
-
|
42 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:448
|
43 |
-
msgid "You might want to <a href=\"%s\">generate your favicon again</a>"
|
44 |
-
msgstr ""
|
45 |
-
|
46 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:454
|
47 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:477
|
48 |
-
msgid "Hide this notice"
|
49 |
-
msgstr ""
|
50 |
-
|
51 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:458
|
52 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:481
|
53 |
-
msgid "Do not warn me again in case of update"
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
#: admin/class-favicon-by-realfavicongenerator-admin.php:471
|
57 |
-
msgid "Your favicon was updated automatically:"
|
58 |
-
msgstr ""
|
59 |
-
|
60 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:159
|
61 |
-
msgid "Cannot create directory %s to store the favicon package content"
|
62 |
-
msgstr ""
|
63 |
-
|
64 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:206
|
65 |
-
msgid "Unknown reason"
|
66 |
-
msgstr ""
|
67 |
-
|
68 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:212
|
69 |
-
msgid "Error while unziping the favicon package %s to directory %s"
|
70 |
-
msgstr ""
|
71 |
-
|
72 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:281
|
73 |
-
msgid "Cannot download file at %s"
|
74 |
-
msgstr ""
|
75 |
-
|
76 |
-
#: admin/class-favicon-by-realfavicongenerator-api-response.php:284
|
77 |
-
msgid "Cannot store downloaded file locally"
|
78 |
-
msgstr ""
|
79 |
-
|
80 |
-
#: admin/views/appearance.php:11
|
81 |
-
msgid "Favicon installation in progress. Please wait..."
|
82 |
-
msgstr ""
|
83 |
-
|
84 |
-
#: admin/views/appearance.php:16
|
85 |
-
msgid "Favicon installed!"
|
86 |
-
msgstr ""
|
87 |
-
|
88 |
-
#: admin/views/appearance.php:18
|
89 |
-
msgid ""
|
90 |
-
"Do you like the result? If so, would you like to <a %s>rate the plugin</a>?"
|
91 |
-
msgstr ""
|
92 |
-
|
93 |
-
#: admin/views/appearance.php:26 admin/views/appearance.php:37
|
94 |
-
msgid "Current favicon"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: admin/views/appearance.php:27 admin/views/appearance.php:40
|
98 |
-
msgid "The favicon is up and ready."
|
99 |
-
msgstr ""
|
100 |
-
|
101 |
-
#: admin/views/appearance.php:31 admin/views/appearance.php:52
|
102 |
-
msgid ""
|
103 |
-
"<a %s>Check your favicon</a> with RealFaviconGenerator's favicon checker."
|
104 |
-
msgstr ""
|
105 |
-
|
106 |
-
#: admin/views/appearance.php:33 admin/views/appearance.php:55
|
107 |
-
msgid "This option works only if your site is accessible from the outside."
|
108 |
-
msgstr ""
|
109 |
-
|
110 |
-
#: admin/views/appearance.php:42
|
111 |
-
msgid "No favicon has been configured yet."
|
112 |
-
msgstr ""
|
113 |
-
|
114 |
-
#: admin/views/appearance.php:62
|
115 |
-
msgid "Favicon generation"
|
116 |
-
msgstr ""
|
117 |
-
|
118 |
-
#: admin/views/appearance.php:64
|
119 |
-
msgid "You can replace the existing favicon."
|
120 |
-
msgstr ""
|
121 |
-
|
122 |
-
#: admin/views/appearance.php:71
|
123 |
-
msgid "Master picture URL"
|
124 |
-
msgstr ""
|
125 |
-
|
126 |
-
#: admin/views/appearance.php:75 admin/views/appearance.php:76
|
127 |
-
msgid "Select from the Media Library"
|
128 |
-
msgstr ""
|
129 |
-
|
130 |
-
#: admin/views/appearance.php:79
|
131 |
-
msgid "Submit a square picture, at least 70x70 (recommended: 260x260 or more)"
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#: admin/views/appearance.php:81
|
135 |
-
msgid ""
|
136 |
-
"If the picture is on your hard drive, you can leave this field blank and "
|
137 |
-
"upload the picture from RealFaviconGenerator."
|
138 |
-
msgstr ""
|
139 |
-
|
140 |
-
#: admin/views/appearance.php:89
|
141 |
-
msgid "Favicon files in root directory"
|
142 |
-
msgstr ""
|
143 |
-
|
144 |
-
#: admin/views/appearance.php:94
|
145 |
-
msgid "The plugin always stores the favicon files in a dedicated directory."
|
146 |
-
msgstr ""
|
147 |
-
|
148 |
-
#: admin/views/appearance.php:96
|
149 |
-
msgid ""
|
150 |
-
"However, if this option is enabled, the plugin takes advantage of the "
|
151 |
-
"permalink feature and the favicon files appear to be in the root directory"
|
152 |
-
msgstr ""
|
153 |
-
|
154 |
-
#: admin/views/appearance.php:97
|
155 |
-
msgid "recommended"
|
156 |
-
msgstr ""
|
157 |
-
|
158 |
-
#: admin/views/appearance.php:106 admin/views/appearance.php:220
|
159 |
-
msgid "Generate favicon"
|
160 |
-
msgstr ""
|
161 |
-
|
162 |
-
#: admin/views/appearance.php:200
|
163 |
-
msgid "Preparing master picture..."
|
164 |
-
msgstr ""
|
165 |
-
|
166 |
-
#: admin/views/appearance.php:257
|
167 |
-
msgid "An error occured"
|
168 |
-
msgstr ""
|
169 |
-
|
170 |
-
#: admin/views/appearance.php:268
|
171 |
-
msgid "An internal error occurred"
|
172 |
-
msgstr ""
|
173 |
-
|
174 |
-
#: admin/views/settings.php:13
|
175 |
-
msgid ""
|
176 |
-
"Do you want to setup your favicon? Go to <a href=\"%s\">Appearance > "
|
177 |
-
"Favicon</a>"
|
178 |
-
msgstr ""
|
179 |
-
|
180 |
-
#: admin/views/settings.php:22
|
181 |
-
msgid "Display update notifications"
|
182 |
-
msgstr ""
|
183 |
-
|
184 |
-
#: admin/views/settings.php:27
|
185 |
-
msgid ""
|
186 |
-
"Get notifications when RealFaviconGenerator is updated. For example, when "
|
187 |
-
"Apple releases a new version of iOS or a new platform is supported."
|
188 |
-
msgstr ""
|
189 |
-
|
190 |
-
#: admin/views/settings.php:36
|
191 |
-
msgid "Save changes"
|
192 |
-
msgstr ""
|
193 |
-
|
194 |
-
#: public/class-favicon-by-realfavicongenerator-common.php:181
|
195 |
-
msgid ""
|
196 |
-
"Visit the <a href=\"%s\">RFG's change log</a> to view the content of the "
|
197 |
-
"update"
|
198 |
-
msgstr ""
|
199 |
-
|
200 |
-
#. Plugin Name of the plugin/theme
|
201 |
-
msgid "Favicon by RealFaviconGenerator"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#. Plugin URI of the plugin/theme
|
205 |
-
msgid "http://realfavicongenerator.net/extensions/wordpress"
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#. Description of the plugin/theme
|
209 |
-
msgid ""
|
210 |
-
"Create and install your favicon for all platforms: PC/Mac of course, but "
|
211 |
-
"also iPhone/iPad, Android devices, Windows 8 tablets, etc."
|
212 |
-
msgstr ""
|
213 |
-
|
214 |
-
#. Author of the plugin/theme
|
215 |
-
msgid "Philippe Bernard"
|
216 |
-
msgstr ""
|
217 |
-
|
218 |
-
#. Author URI of the plugin/theme
|
219 |
-
msgid "http://realfavicongenerator.net/"
|
220 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/public/class-favicon-by-realfavicongenerator-common.php
DELETED
@@ -1,475 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Copyright 2014-2016 RealFaviconGenerator
|
3 |
-
|
4 |
-
class Favicon_By_RealFaviconGenerator_Common {
|
5 |
-
|
6 |
-
const PLUGIN_PREFIX = 'fbrfg';
|
7 |
-
|
8 |
-
const OPTION_FAVICON_CONFIGURED = 'fbrfg_favicon_configured';
|
9 |
-
const OPTION_FAVICON_IN_ROOT = 'fbrfg_favicon_in_root';
|
10 |
-
const OPTION_PREVIEW_FILE_NAME = 'fbrfg_preview_file_name';
|
11 |
-
const OPTION_HTML_CODE = 'fbrfg_html_code';
|
12 |
-
const OPTION_FAVICON_NON_INTERACTIVE_API_REQUEST = 'fbrfg_favicon_non_interactive_api_request';
|
13 |
-
|
14 |
-
const OPTION_FAVICON_CURRENT_VERSION = 'fbrfg_favicon_current_version';
|
15 |
-
const OPTION_MOST_RECENT_AUTOMATIC_UPDATE_FROM = 'fbrfg_most_recent_automatic_update_from';
|
16 |
-
const OPTION_MOST_RECENT_AUTOMATIC_UPDATE_TO = 'fbrfg_most_recent_automatic_update_to';
|
17 |
-
const OPTION_LATEST_MANUAL_AVAILABLE_UPDATE = 'fbrfg_latest_manual_available_update';
|
18 |
-
const OPTION_UPDATES_DATA = 'fbrfg_updates_data';
|
19 |
-
const OPTION_UPDATES_LIST = 'fbrfg_updates_list';
|
20 |
-
|
21 |
-
const META_NO_UPDATE_NOTICE_FOR_VERSION = 'fbrfg_ignore_update_notice_';
|
22 |
-
const META_NO_AUTOMATIC_UPDATE_NOTICE_FOR_VERSION = 'fbrfg_ignore_automatic_update_notice_';
|
23 |
-
const META_NO_UPDATE_NOTICE = 'fbrfg_no_update_notice';
|
24 |
-
|
25 |
-
public static function get_options_list() {
|
26 |
-
return array(
|
27 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_CONFIGURED,
|
28 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_IN_ROOT,
|
29 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_PREVIEW_FILE_NAME,
|
30 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_HTML_CODE,
|
31 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_NON_INTERACTIVE_API_REQUEST,
|
32 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_CURRENT_VERSION,
|
33 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_MOST_RECENT_AUTOMATIC_UPDATE_FROM,
|
34 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_MOST_RECENT_AUTOMATIC_UPDATE_TO,
|
35 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_LATEST_MANUAL_AVAILABLE_UPDATE,
|
36 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_UPDATES_DATA,
|
37 |
-
Favicon_By_RealFaviconGenerator_Common::OPTION_UPDATES_LIST,
|
38 |
-
Favicon_By_RealFaviconGenerator_Common::META_NO_UPDATE_NOTICE );
|
39 |
-
}
|
40 |
-
|
41 |
-
const PLUGIN_SLUG = 'favicon-by-realfavicongenerator';
|
42 |
-
|
43 |
-
const ACTION_CHECK_FOR_UPDATE = 'fbrfg_check_for_updates';
|
44 |
-
|
45 |
-
const RFG_DEBUG = 'false';
|
46 |
-
|
47 |
-
public function log_info( $message ) {
|
48 |
-
if ( ( ( constant( 'WP_DEBUG') == 'true' ) || ( constant( 'WP_DEBUG') == 1 ) ) &&
|
49 |
-
( ( constant( 'Favicon_By_RealFaviconGenerator_Common::RFG_DEBUG') == 'true' ) ||
|
50 |
-
( constant( 'Favicon_By_RealFaviconGenerator_Common::RFG_DEBUG') == 1 ) ) ) {
|
51 |
-
error_log( 'RealFaviconGenerator - ' . $message );
|
52 |
-
}
|
53 |
-
}
|
54 |
-
|
55 |
-
/**
|
56 |
-
* Indicate if a favicon was configured.
|
57 |
-
*/
|
58 |
-
public function is_favicon_configured() {
|
59 |
-
$opt = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_CONFIGURED );
|
60 |
-
return ( $opt == 1 );
|
61 |
-
}
|
62 |
-
|
63 |
-
/**
|
64 |
-
* Indicate if the configured favicon is in the root directory of the web site.
|
65 |
-
*/
|
66 |
-
public function is_favicon_in_root() {
|
67 |
-
$opt = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_IN_ROOT );
|
68 |
-
return ( $opt == 1 ) && $this->is_favicon_configured();
|
69 |
-
}
|
70 |
-
|
71 |
-
public function get_favicon_current_version() {
|
72 |
-
// Before the "version" feature was implemented, all favicons generated by the plugin
|
73 |
-
// were generated with RFG v0.7
|
74 |
-
return get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_CURRENT_VERSION, "0.7" );
|
75 |
-
}
|
76 |
-
|
77 |
-
public function set_favicon_current_version( $version ) {
|
78 |
-
return update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_CURRENT_VERSION, $version );
|
79 |
-
}
|
80 |
-
|
81 |
-
public function set_most_recent_automatic_update( $from_version, $to_version ) {
|
82 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_MOST_RECENT_AUTOMATIC_UPDATE_FROM,
|
83 |
-
$from_version );
|
84 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_MOST_RECENT_AUTOMATIC_UPDATE_TO,
|
85 |
-
$to_version );
|
86 |
-
}
|
87 |
-
|
88 |
-
/**
|
89 |
-
* Return the last automatic update that *has been* run.
|
90 |
-
* If favicon was automatically updated from version 0.6 to 0.8, this function returns array('0.6', '0.8').
|
91 |
-
*/
|
92 |
-
public function get_most_recent_automatic_update() {
|
93 |
-
$from = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_MOST_RECENT_AUTOMATIC_UPDATE_FROM );
|
94 |
-
$to = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_MOST_RECENT_AUTOMATIC_UPDATE_TO );
|
95 |
-
return ( ( $from == NULL ) || ( $to == NULL ) ) ? NULL : array( $from, $to );
|
96 |
-
}
|
97 |
-
|
98 |
-
public function set_latest_manual_available_update( $version ) {
|
99 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_LATEST_MANUAL_AVAILABLE_UPDATE,
|
100 |
-
$version );
|
101 |
-
}
|
102 |
-
|
103 |
-
/**
|
104 |
-
* Return the lastest available update (to be proposed to the user).
|
105 |
-
*/
|
106 |
-
public function get_latest_manual_available_update() {
|
107 |
-
return get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_LATEST_MANUAL_AVAILABLE_UPDATE );
|
108 |
-
}
|
109 |
-
|
110 |
-
/**
|
111 |
-
* Save the versions data, as returned by https://realfavicongenerator.net/api/versions
|
112 |
-
*/
|
113 |
-
public function set_updates_data( $versions_data ) {
|
114 |
-
$this->log_info( 'Set updates data' );
|
115 |
-
|
116 |
-
$data = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_UPDATES_DATA );
|
117 |
-
if ( ! $data ) {
|
118 |
-
$data = array();
|
119 |
-
}
|
120 |
-
$list = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_UPDATES_LIST );
|
121 |
-
if ( ! $list ) {
|
122 |
-
$list = array();
|
123 |
-
}
|
124 |
-
foreach($versions_data as $version ) {
|
125 |
-
$this->log_info( 'Store data of ' . $version['version']);
|
126 |
-
$data[$version['version']] = $version;
|
127 |
-
if ( ! in_array($version['version'], $list ) ) {
|
128 |
-
array_push( $list, $version['version'] );
|
129 |
-
}
|
130 |
-
}
|
131 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_UPDATES_DATA, $data );
|
132 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_UPDATES_LIST, $list );
|
133 |
-
}
|
134 |
-
|
135 |
-
/**
|
136 |
-
* Returns the data of a particular update. Format is similar to what is returned by
|
137 |
-
* https://realfavicongenerator.net/api/versions
|
138 |
-
*/
|
139 |
-
public function get_update_data( $version ) {
|
140 |
-
$data = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_UPDATES_DATA );
|
141 |
-
if ( ! $data ) {
|
142 |
-
return NULL;
|
143 |
-
}
|
144 |
-
else {
|
145 |
-
return $data[$version];
|
146 |
-
}
|
147 |
-
}
|
148 |
-
|
149 |
-
/**
|
150 |
-
* Return the list of versions. For example, if versions are know from 0.3 to 0.11 and $from = '0.6' and $to = '0.10',
|
151 |
-
* then this function returns array('0.7', '0.8', '0.9', '0.10'). Yes, '0.6' is not included while '0.10' is.
|
152 |
-
*/
|
153 |
-
public function get_updates_list( $from, $to ) {
|
154 |
-
$this->log_info( 'Getting versions list from ' . $from . ' to ' . $to );
|
155 |
-
|
156 |
-
$list = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_UPDATES_LIST );
|
157 |
-
if ( ! $list ) {
|
158 |
-
return NULL;
|
159 |
-
}
|
160 |
-
|
161 |
-
$listing = ! in_array( $from, $list );
|
162 |
-
$sub_list = array();
|
163 |
-
|
164 |
-
foreach( $list as $version ) {
|
165 |
-
if ( $listing ) {
|
166 |
-
array_push( $sub_list, $version );
|
167 |
-
}
|
168 |
-
if ( $version == $from ) {
|
169 |
-
$listing = true;
|
170 |
-
}
|
171 |
-
if ( $version == $to ) {
|
172 |
-
return $sub_list;
|
173 |
-
}
|
174 |
-
}
|
175 |
-
|
176 |
-
return $sub_list;
|
177 |
-
}
|
178 |
-
|
179 |
-
public function get_updates_description( $from, $to ) {
|
180 |
-
$this->log_info( 'Getting description from ' . $from . ' to ' . $to );
|
181 |
-
|
182 |
-
$versions = $this->get_updates_list( $from, $to );
|
183 |
-
if ( $versions == NULL ) {
|
184 |
-
$this->log_info( 'No versions, return a link to the change log description' );
|
185 |
-
return sprintf( __( "Visit the <a href=\"%s\">RFG's change log</a> to view the content of the update" ),
|
186 |
-
'https://realfavicongenerator.net/change_log?since=' . $from );
|
187 |
-
}
|
188 |
-
|
189 |
-
$this->log_info( 'Versions to describe: ' . implode( ', ', $versions ) );
|
190 |
-
|
191 |
-
$descriptions = array();
|
192 |
-
foreach( $versions as $version ) {
|
193 |
-
$update = $this->get_update_data( $version );
|
194 |
-
array_push( $descriptions,
|
195 |
-
'<p>' . $update['description'] . '</p>' );
|
196 |
-
}
|
197 |
-
return implode($descriptions);
|
198 |
-
}
|
199 |
-
|
200 |
-
public function get_non_interactive_api_request() {
|
201 |
-
return get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_NON_INTERACTIVE_API_REQUEST );
|
202 |
-
}
|
203 |
-
|
204 |
-
public function set_favicon_configured( $configured, $favicon_in_root, $version, $non_interactive_api_request = NULL ) {
|
205 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_CONFIGURED,
|
206 |
-
$configured ? 1 : 0 );
|
207 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_IN_ROOT,
|
208 |
-
$favicon_in_root ? 1 : 0 );
|
209 |
-
|
210 |
-
$this->set_favicon_current_version( $version );
|
211 |
-
|
212 |
-
// Reset the update stuff
|
213 |
-
$this->set_latest_manual_available_update( NULL );
|
214 |
-
|
215 |
-
if ( $non_interactive_api_request != NULL ) {
|
216 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_FAVICON_NON_INTERACTIVE_API_REQUEST,
|
217 |
-
$non_interactive_api_request );
|
218 |
-
}
|
219 |
-
}
|
220 |
-
|
221 |
-
public function is_preview_available() {
|
222 |
-
$opt = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_PREVIEW_FILE_NAME );
|
223 |
-
return ( ( $opt != NULL ) && ( $opt != false ) );
|
224 |
-
}
|
225 |
-
|
226 |
-
public function get_preview_file_name() {
|
227 |
-
return get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_PREVIEW_FILE_NAME );
|
228 |
-
}
|
229 |
-
|
230 |
-
public function set_preview_file_name($preview_file_name) {
|
231 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_PREVIEW_FILE_NAME,
|
232 |
-
$preview_file_name);
|
233 |
-
}
|
234 |
-
|
235 |
-
public function add_favicon_markups() {
|
236 |
-
$code = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_HTML_CODE );
|
237 |
-
if ( $code ) {
|
238 |
-
echo $code;
|
239 |
-
}
|
240 |
-
}
|
241 |
-
|
242 |
-
public function remove_genesis_favicon() {
|
243 |
-
// See http://dreamwhisperdesigns.com/genesis-tutorials/change-default-genesis-favicon/
|
244 |
-
// However, I didn't find the right hook to trigger this code in time to deactivate Genesis hooks.
|
245 |
-
// As a consequence, this function is not used and mostly here as a reference.
|
246 |
-
remove_action( 'genesis_meta', 'genesis_load_favicon' );
|
247 |
-
remove_action( 'wp_head', 'genesis_load_favicon' );
|
248 |
-
}
|
249 |
-
|
250 |
-
public function return_empty_favicon_for_genesis( $param ) {
|
251 |
-
$code = get_option( Favicon_By_RealFaviconGenerator_Common::OPTION_HTML_CODE );
|
252 |
-
if ( $code ) {
|
253 |
-
// Why NULL?
|
254 |
-
// - It is not false (ie. the exact boolean value 'false')
|
255 |
-
// - When tested with 'if ($value)', the condition fails.
|
256 |
-
// See function genesis_load_favicon for more details
|
257 |
-
return NULL;
|
258 |
-
}
|
259 |
-
else {
|
260 |
-
// Return the value as is, no interference with the rest of WordPress
|
261 |
-
return $param;
|
262 |
-
}
|
263 |
-
}
|
264 |
-
|
265 |
-
/**
|
266 |
-
* Returns /www/wordpress/wp-content/uploaded/fbrfg
|
267 |
-
*/
|
268 |
-
public static function get_files_dir() {
|
269 |
-
$up_dir = wp_upload_dir();
|
270 |
-
return $up_dir['basedir'] . '/' . Favicon_By_RealFaviconGenerator_Common::PLUGIN_PREFIX . '/';
|
271 |
-
}
|
272 |
-
|
273 |
-
/**
|
274 |
-
* Returns http//somesite.com/blog/wp-content/upload/fbrfg/
|
275 |
-
*/
|
276 |
-
public static function get_files_url() {
|
277 |
-
$up_dir = wp_upload_dir();
|
278 |
-
$baseUrl = $up_dir['baseurl'];
|
279 |
-
// Make sure to no duplicate the '/'
|
280 |
-
// This is especially important when the base URL is the root directory:
|
281 |
-
// When this happens, the generated URL would be
|
282 |
-
// "http//somesite.com//fbrfg/" and then "//fbrfg/" when the host name is
|
283 |
-
// stripped. But this path is wrong, as it looks like a "same protocol" URL.
|
284 |
-
$separator = (substr($baseUrl, -1) == '/') ? '' : '/';
|
285 |
-
return $baseUrl . $separator . Favicon_By_RealFaviconGenerator_Common::PLUGIN_PREFIX . '/';
|
286 |
-
}
|
287 |
-
|
288 |
-
public static function get_tmp_dir() {
|
289 |
-
return Favicon_By_RealFaviconGenerator_Common::get_files_dir() . 'tmp' . DIRECTORY_SEPARATOR;
|
290 |
-
}
|
291 |
-
|
292 |
-
public static function remove_directory($directory) {
|
293 |
-
foreach( scandir( $directory ) as $v ) {
|
294 |
-
if ( is_dir( $directory . DIRECTORY_SEPARATOR . $v ) ) {
|
295 |
-
if ( $v != '.' && $v != '..' ) {
|
296 |
-
Favicon_By_RealFaviconGenerator_Common::remove_directory(
|
297 |
-
$directory . DIRECTORY_SEPARATOR . $v );
|
298 |
-
}
|
299 |
-
}
|
300 |
-
else {
|
301 |
-
unlink( $directory . DIRECTORY_SEPARATOR . $v );
|
302 |
-
}
|
303 |
-
}
|
304 |
-
rmdir( $directory );
|
305 |
-
}
|
306 |
-
|
307 |
-
|
308 |
-
/**
|
309 |
-
* Load the plugin text domain for translation.
|
310 |
-
*/
|
311 |
-
public function load_plugin_textdomain() {
|
312 |
-
|
313 |
-
$domain = Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG;
|
314 |
-
$locale = apply_filters( 'plugin_locale', get_locale(), $domain );
|
315 |
-
|
316 |
-
load_textdomain( $domain, trailingslashit( WP_LANG_DIR ) . $domain . DIRECTORY_SEPARATOR . $domain . '-' . $locale . '.mo' );
|
317 |
-
load_plugin_textdomain( $domain, FALSE,
|
318 |
-
basename( plugin_dir_path( dirname( __FILE__ ) ) ) . DIRECTORY_SEPARATOR .
|
319 |
-
'languages' . DIRECTORY_SEPARATOR );
|
320 |
-
}
|
321 |
-
|
322 |
-
// See http://webcheatsheet.com/php/get_current_page_url.php
|
323 |
-
public function current_page_url() {
|
324 |
-
// See https://mekshq.com/get-current-page-url-wordpress/
|
325 |
-
global $wp;
|
326 |
-
$current_url = home_url( add_query_arg( array(), $wp->request ) );
|
327 |
-
return $current_url;
|
328 |
-
}
|
329 |
-
|
330 |
-
public function add_parameter_to_current_url( $param_and_value ) {
|
331 |
-
$url = $this->current_page_url();
|
332 |
-
if ( strpos( $url, '?') !== false) {
|
333 |
-
return $url . '&' . $param_and_value;
|
334 |
-
}
|
335 |
-
else {
|
336 |
-
return $url . '?' . $param_and_value;
|
337 |
-
}
|
338 |
-
}
|
339 |
-
|
340 |
-
public function check_for_updates() {
|
341 |
-
$this->log_info( 'Checking for updates...' );
|
342 |
-
|
343 |
-
if ( ! $this->is_favicon_configured() ) {
|
344 |
-
// No favicon so nothing to update
|
345 |
-
$this->log_info( 'No favicon configured so nothing to update' );
|
346 |
-
return;
|
347 |
-
}
|
348 |
-
|
349 |
-
$version = $this->get_favicon_current_version();
|
350 |
-
$this->log_info( 'Current version is ' . $version );
|
351 |
-
|
352 |
-
if ( $version == NULL ) {
|
353 |
-
// No version for some reason. Let's leave.
|
354 |
-
$this->log_info( 'Current favicon version not available' );
|
355 |
-
return;
|
356 |
-
}
|
357 |
-
|
358 |
-
$checkUrl = 'https://realfavicongenerator.net/api/versions?since=' . $version;
|
359 |
-
$resp = wp_remote_get( $checkUrl );
|
360 |
-
if ( ( $resp == NULL ) || ( $resp == false ) || ( is_wp_error( $resp ) ) ||
|
361 |
-
( $resp['response'] == NULL ) || ( $resp['response']['code'] == NULL ) || ( $resp['response']['code'] != 200 ) ) {
|
362 |
-
// Error of some kind? Return
|
363 |
-
$this->log_info( 'Cannot get latest version from RealFaviconGenerator ' .
|
364 |
-
( is_wp_error( $resp ) ? ': ' . $resp->get_error_message() : '' ) . ' (URL was ' . $checkUrl . ')' );
|
365 |
-
return;
|
366 |
-
}
|
367 |
-
|
368 |
-
$json = json_decode( $resp['body'], true );
|
369 |
-
if ( empty( $json ) ) {
|
370 |
-
$this->log_info( 'No change since version ' . $version . ' or cannot parse JSON (JSON parsing error code is ' . json_last_error() . ')' );
|
371 |
-
return;
|
372 |
-
}
|
373 |
-
|
374 |
-
$this->log_info( 'Update versions database' );
|
375 |
-
$this->set_updates_data( $json );
|
376 |
-
|
377 |
-
// Check update relevancy
|
378 |
-
$manual = false;
|
379 |
-
$automatic = false;
|
380 |
-
foreach($json as $version) {
|
381 |
-
if ( $version['relevance']['manual_update'] ) {
|
382 |
-
$manual = true;
|
383 |
-
}
|
384 |
-
if ( $version['relevance']['automated_update'] ) {
|
385 |
-
$automatic = true;
|
386 |
-
}
|
387 |
-
}
|
388 |
-
|
389 |
-
$this->log_info( "Automated updates to run: " . ( $automatic ? 'true' : 'false') );
|
390 |
-
$this->log_info( "Manual updates to run: " . ( $manual ? 'true' : 'false' ) );
|
391 |
-
|
392 |
-
if ( $manual || ( $automatic && ( ! $this->get_non_interactive_api_request() ) ) ) {
|
393 |
-
$this->log_info( 'Manual update, or automatic update but we have no non-interactive request to do it automatically' );
|
394 |
-
|
395 |
-
// We only note the latest available version.
|
396 |
-
// For example, if we receive version 0.8, 0.9 and 0.10 (in this order), we only note 0.10
|
397 |
-
$last = $json[count( $json ) - 1];
|
398 |
-
$latest_version = $last['version'];
|
399 |
-
|
400 |
-
// Save the fact that we should update
|
401 |
-
$this->log_info( 'There is a manual update to go to ' . $latest_version );
|
402 |
-
$this->set_latest_manual_available_update( $latest_version );
|
403 |
-
}
|
404 |
-
else if ( $automatic && $this->get_non_interactive_api_request() ) {
|
405 |
-
// Automatic update
|
406 |
-
|
407 |
-
$this->log_info( 'Automatic update to be performed' );
|
408 |
-
|
409 |
-
// Do not run it when the update is also manual, because we are going to ask the user to
|
410 |
-
// update anyway.
|
411 |
-
|
412 |
-
try {
|
413 |
-
$result = $this->run_non_interactive_api_request( $this->get_non_interactive_api_request() );
|
414 |
-
|
415 |
-
$response = new Favicon_By_RealFaviconGenerator_Api_Response( $result );
|
416 |
-
|
417 |
-
$zip_path = Favicon_By_RealFaviconGenerator_Common::get_tmp_dir();
|
418 |
-
if ( ! file_exists( $zip_path ) ) {
|
419 |
-
if ( mkdir( $zip_path, 0755, true ) !== true ) {
|
420 |
-
throw new InvalidArgumentException( sprintf( __( 'Cannot create directory %s to store the favicon package', FBRFG_PLUGIN_SLUG), $zip_path ) );
|
421 |
-
}
|
422 |
-
}
|
423 |
-
$response->downloadAndUnpack( $zip_path );
|
424 |
-
|
425 |
-
$this->store_pictures( $response );
|
426 |
-
|
427 |
-
$this->store_preview( $response->getPreviewPath() );
|
428 |
-
|
429 |
-
Favicon_By_RealFaviconGenerator_Common::remove_directory( $zip_path );
|
430 |
-
|
431 |
-
update_option( Favicon_By_RealFaviconGenerator_Common::OPTION_HTML_CODE, $response->getHtmlCode() );
|
432 |
-
|
433 |
-
$version_before_update = $this->get_favicon_current_version();
|
434 |
-
|
435 |
-
$this->set_favicon_configured( true, $response->isFilesInRoot(), $response->getVersion() );
|
436 |
-
|
437 |
-
// Remember about this update
|
438 |
-
$this->log_info( 'Save the fact that we updated from ' . $version_before_update . ' to ' . $response->getVersion() );
|
439 |
-
$this->set_most_recent_automatic_update( $version_before_update, $response->getVersion() );
|
440 |
-
}
|
441 |
-
catch( Exception $e ) {
|
442 |
-
$this->log_info( 'Cannot update favicon automatically: ' . $e->getMessage() );
|
443 |
-
}
|
444 |
-
}
|
445 |
-
}
|
446 |
-
|
447 |
-
public function run_non_interactive_api_request( $request ) {
|
448 |
-
$resp = wp_remote_post( 'https://realfavicongenerator.net/api/favicon',
|
449 |
-
array( 'body' => $request, 'timeout' => 45 ) );
|
450 |
-
if ( is_wp_error( $resp )) {
|
451 |
-
throw new InvalidArgumentException( "Cannot run the non-interactive API request for update: " . $resp->get_error_message() );
|
452 |
-
}
|
453 |
-
|
454 |
-
$json = wp_remote_retrieve_body( $resp );
|
455 |
-
if ( empty( $json ) ) {
|
456 |
-
throw new InvalidArgumentException( "Empty JSON document while running the non-interactive API request" );
|
457 |
-
}
|
458 |
-
|
459 |
-
return $json;
|
460 |
-
}
|
461 |
-
|
462 |
-
public function portable_filename( $filename ) {
|
463 |
-
return str_replace( '/', DIRECTORY_SEPARATOR, $filename );
|
464 |
-
}
|
465 |
-
|
466 |
-
public function portable_rename( $from, $to ) {
|
467 |
-
$from = $this->portable_filename( $from );
|
468 |
-
$to = $this->portable_filename( $to );
|
469 |
-
rename( $from, $to );
|
470 |
-
}
|
471 |
-
|
472 |
-
}
|
473 |
-
|
474 |
-
// Shortcut
|
475 |
-
define('FBRFG_PLUGIN_SLUG', Favicon_By_RealFaviconGenerator_Common::PLUGIN_SLUG);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/public/class-favicon-by-realfavicongenerator.php
DELETED
@@ -1,38 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Copyright 2014-2016 RealFaviconGenerator
|
3 |
-
|
4 |
-
require_once plugin_dir_path( __FILE__ ) . '..' . DIRECTORY_SEPARATOR .
|
5 |
-
'public' . DIRECTORY_SEPARATOR . 'class-favicon-by-realfavicongenerator-common.php';
|
6 |
-
|
7 |
-
class Favicon_By_RealFaviconGenerator extends Favicon_By_RealFaviconGenerator_Common {
|
8 |
-
|
9 |
-
protected static $instance = null;
|
10 |
-
|
11 |
-
private function __construct() {
|
12 |
-
add_action( 'wp_head', array( $this, 'add_favicon_markups' ) );
|
13 |
-
add_action( 'login_head', array( $this, 'add_favicon_markups' ) );
|
14 |
-
|
15 |
-
// Deactivate Genesis default favicon
|
16 |
-
add_filter( 'genesis_pre_load_favicon', array( $this, 'return_empty_favicon_for_genesis' ) );
|
17 |
-
}
|
18 |
-
|
19 |
-
public static function get_instance() {
|
20 |
-
|
21 |
-
// If the single instance hasn't been set, set it now.
|
22 |
-
if ( null == self::$instance ) {
|
23 |
-
self::$instance = new self;
|
24 |
-
}
|
25 |
-
|
26 |
-
return self::$instance;
|
27 |
-
}
|
28 |
-
|
29 |
-
|
30 |
-
public static function activate( $network_wide ) {
|
31 |
-
// Nothing to do
|
32 |
-
}
|
33 |
-
|
34 |
-
public static function deactivate( $network_wide ) {
|
35 |
-
wp_clear_scheduled_hook( Favicon_By_RealFaviconGenerator_Common::ACTION_CHECK_FOR_UPDATE );
|
36 |
-
}
|
37 |
-
|
38 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/uninstall.php
DELETED
@@ -1,39 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Copyright 2014-2016 RealFaviconGenerator
|
3 |
-
|
4 |
-
// If uninstall not called from WordPress, then exit
|
5 |
-
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
|
6 |
-
exit;
|
7 |
-
}
|
8 |
-
|
9 |
-
require_once plugin_dir_path( __FILE__ ) . 'public' . DIRECTORY_SEPARATOR .
|
10 |
-
'class-favicon-by-realfavicongenerator-common.php';
|
11 |
-
|
12 |
-
function fbrfg_clean_site_instance() {
|
13 |
-
// Remove options
|
14 |
-
foreach( Favicon_By_RealFaviconGenerator_Common::get_options_list() as $opt ) {
|
15 |
-
delete_option( $opt );
|
16 |
-
}
|
17 |
-
|
18 |
-
// Remove files
|
19 |
-
$dir = Favicon_By_RealFaviconGenerator_Common::get_files_dir();
|
20 |
-
if ( file_exists( $dir ) ) {
|
21 |
-
Favicon_By_RealFaviconGenerator_Common::remove_directory( $dir );
|
22 |
-
}
|
23 |
-
}
|
24 |
-
|
25 |
-
if ( is_multisite() ) {
|
26 |
-
global $wpdb;
|
27 |
-
$blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs}", ARRAY_A );
|
28 |
-
fbrfg_clean_site_instance();
|
29 |
-
|
30 |
-
if ( $blogs ) {
|
31 |
-
foreach( $blogs as $blog ) {
|
32 |
-
switch_to_blog( $blog['blog_id'] );
|
33 |
-
fbrfg_clean_site_instance();
|
34 |
-
restore_current_blog();
|
35 |
-
}
|
36 |
-
}
|
37 |
-
} else {
|
38 |
-
fbrfg_clean_site_instance();
|
39 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|