first commit
This commit is contained in:
357
wp-content/plugins/really-simple-ssl/LICENSE.txt
Normal file
357
wp-content/plugins/really-simple-ssl/LICENSE.txt
Normal file
@@ -0,0 +1,357 @@
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
===================================
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
1
wp-content/plugins/really-simple-ssl/assets/cross.svg
Normal file
1
wp-content/plugins/really-simple-ssl/assets/cross.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg id="svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0, 0, 400,400"><g id="svgg"><path id="path0" d="M55.692 37.024 C 43.555 40.991,36.316 50.669,36.344 62.891 C 36.369 73.778,33.418 70.354,101.822 138.867 L 162.858 200.000 101.822 261.133 C 33.434 329.630,36.445 326.135,36.370 337.109 C 36.270 351.953,47.790 363.672,62.483 363.672 C 73.957 363.672,68.975 367.937,138.084 298.940 L 199.995 237.127 261.912 298.936 C 331.022 367.926,326.053 363.672,337.517 363.672 C 351.804 363.672,363.610 352.027,363.655 337.891 C 363.689 326.943,367.629 331.524,299.116 262.841 C 265.227 228.868,237.500 200.586,237.500 199.991 C 237.500 199.395,265.228 171.117,299.117 137.150 C 367.625 68.484,363.672 73.081,363.672 62.092 C 363.672 48.021,351.832 36.371,337.500 36.341 C 326.067 36.316,331.025 32.070,261.909 101.066 L 199.990 162.877 138.472 101.388 C 87.108 50.048,76.310 39.616,73.059 38.191 C 68.251 36.083,60.222 35.543,55.692 37.024 " stroke="none" fill="#000000" fill-rule="evenodd"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,24 @@
|
||||
.rsssl-scroll-container {
|
||||
height: 227px;
|
||||
overflow-y: auto;
|
||||
border-radius: 0;
|
||||
}
|
||||
.rsssl-scroll-container::-webkit-scrollbar-track {
|
||||
border-radius: 10px;
|
||||
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0);
|
||||
background-color: transparent;
|
||||
}
|
||||
.rsssl-scroll-container::-webkit-scrollbar {
|
||||
border-radius: 10px;
|
||||
width: 8px;
|
||||
background-color: var(--rsp-grey-300);
|
||||
cursor: pointer;
|
||||
}
|
||||
.rsssl-scroll-container::-webkit-scrollbar-thumb {
|
||||
background-color: var(--rsp-grey-400);
|
||||
border-radius: 10px;
|
||||
}
|
||||
.rsssl-spacer {
|
||||
width: 10px;
|
||||
}
|
||||
/*# sourceMappingURL=dashboard.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["dashboard.less"],"names":[],"mappings":"AAAA;EACE,aAAA;EACA,gBAAA;EAEA,gBAAA;;AAEA,uBAAC;EACC,mBAAA;EACA,kDAAA;EACA,6BAAA;;AAGF,uBAAC;EACC,mBAAA;EACA,UAAA;EACA,kBAAkB,mBAAlB;EACA,eAAA;;AAGF,uBAAC;EACC,kBAAkB,mBAAlB;EACA,mBAAA;;AAIJ;EACE,WAAA","file":"dashboard.css"}
|
||||
@@ -0,0 +1,29 @@
|
||||
@import "progress.less";
|
||||
.rsssl-scroll-container{
|
||||
height: 227px;
|
||||
overflow-y: auto;
|
||||
border-radius: 0;
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
border-radius: 10px;
|
||||
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0);
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
border-radius: 10px;
|
||||
width: 8px;
|
||||
background-color: var(--rsp-grey-300);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
background-color: var(--rsp-grey-400);
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-spacer {
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
1
wp-content/plugins/really-simple-ssl/assets/css/dashboard.min.css
vendored
Normal file
1
wp-content/plugins/really-simple-ssl/assets/css/dashboard.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.rsssl-scroll-container{height:227px;overflow-y:auto;border-radius:0}.rsssl-scroll-container::-webkit-scrollbar-track{border-radius:10px;-webkit-box-shadow:inset 0 0 2px transparent;background-color:transparent}.rsssl-scroll-container::-webkit-scrollbar{border-radius:10px;width:8px;background-color:var(--rsp-grey-300);cursor:pointer}.rsssl-scroll-container::-webkit-scrollbar-thumb{background-color:var(--rsp-grey-400);border-radius:10px}.rsssl-spacer{width:10px}
|
||||
712
wp-content/plugins/really-simple-ssl/assets/css/grid.css
Normal file
712
wp-content/plugins/really-simple-ssl/assets/css/grid.css
Normal file
@@ -0,0 +1,712 @@
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent,
|
||||
.settings_page_really-simple-ssl #wpcontent {
|
||||
padding: 0;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-footer-item form,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-footer-item form {
|
||||
float: left;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab {
|
||||
padding: 16px 20px 17px 20px;
|
||||
margin-bottom: 0;
|
||||
color: #444;
|
||||
font-weight: normal;
|
||||
font-size: 1.2em;
|
||||
background: inherit;
|
||||
border: 0;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab.nav-tab-active,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab.nav-tab-active {
|
||||
border-bottom: 2px solid #FBC43D;
|
||||
background: #fff;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
@media screen and (max-width: 800px) {
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .nav-tab,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .nav-tab {
|
||||
margin-left: 25px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .documentation,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .documentation {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .nav-tab,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .nav-tab {
|
||||
padding: 22px 3px 10px 3px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .nav-tab-active,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .nav-tab-active {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper {
|
||||
min-height: 60px;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 0;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-logo-container,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-logo-container {
|
||||
margin-left: 25px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-logo-container #rsssl-logo,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-logo-container #rsssl-logo {
|
||||
height: 40px;
|
||||
width: 200px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-logo-container #rsssl-logo img,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-logo-container #rsssl-logo img {
|
||||
width: 200px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
justify-content: flex-end;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .documentation,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .documentation {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .header-upsell .documentation,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .header-upsell .documentation {
|
||||
margin-left: 25px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .header-upsell a,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .header-upsell a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .header-upsell .header-upsell-pro,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .header-upsell .header-upsell-pro {
|
||||
color: black;
|
||||
border: 3px solid black;
|
||||
margin: 10px;
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
border-radius: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.rsssl-grid {
|
||||
width: calc(100% - 20px);
|
||||
margin: 10px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
/*
|
||||
Footers
|
||||
*/
|
||||
/*
|
||||
Dots
|
||||
*/
|
||||
}
|
||||
.rsssl-grid .button-rsssl-tertiary {
|
||||
background-color: #D7263D;
|
||||
color: white;
|
||||
border: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-wide-button {
|
||||
width: 220px;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-task-list {
|
||||
height: 257px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-toggle-active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress #rsssl-all-tasks,
|
||||
.rsssl-grid .rsssl-progress #rsssl-remaining-tasks {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-tasks-container {
|
||||
border-bottom: 1px solid lightgrey;
|
||||
color: lightgrey;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-tasks-container.active {
|
||||
text-decoration: none;
|
||||
border-bottom: 0;
|
||||
color: initial;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-tasks-inactive {
|
||||
text-decoration: underline;
|
||||
color: lightgrey;
|
||||
}
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: 800px;
|
||||
height: 485px;
|
||||
z-index: 1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: 400px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-close-warning-x {
|
||||
color: #ccc;
|
||||
margin-right: 25px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0px 0px 5px 5px rgba(222, 222, 222, 0.2);
|
||||
width: 790px;
|
||||
height: 475px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table {
|
||||
display: flex;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
max-height: 340px;
|
||||
width: 100% !important;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr {
|
||||
padding: 0 0 0 0 !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
width: 50%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th {
|
||||
margin-left: 0;
|
||||
width: 90%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th .dashicons-editor-help {
|
||||
font-size: 22px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th .rsssl-tooltip-right {
|
||||
padding-right: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th,
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr td {
|
||||
padding: 6px 0 !important;
|
||||
font-size: 13px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th p,
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr td p {
|
||||
font-size: 13px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container h2 {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-save-settings-feedback {
|
||||
margin-right: 20px;
|
||||
color: #d7263d;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 60px;
|
||||
border-bottom: 1px solid #dedede;
|
||||
padding: 0 25px 0 25px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-instructions a {
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item {
|
||||
display: flex;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item .all-task-count,
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item .open-task-count {
|
||||
padding-left: 3px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item .all-task-count {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-table-td-main-content {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content {
|
||||
height: 360px;
|
||||
margin: 10px 25px 10px 25px;
|
||||
border-bottom: 1px solid #dedede;
|
||||
/*
|
||||
Progress block
|
||||
*/
|
||||
/*
|
||||
Tips and Tricks
|
||||
*/
|
||||
/*
|
||||
Default bullet style
|
||||
*/
|
||||
/*
|
||||
Support forum block
|
||||
*/
|
||||
/*
|
||||
Other plugins
|
||||
*/
|
||||
/*
|
||||
Progress labels
|
||||
*/
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block {
|
||||
padding-top: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-bar-container {
|
||||
margin: 0 0 25px 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress {
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
border-radius: 5px;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress .bar {
|
||||
height: 100%;
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress .bar.orange {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 10px 0;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text .rsssl-progress-percentage {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text .rsssl-progress-text {
|
||||
margin-left: 35px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text .rsssl-progress-text a {
|
||||
margin-left: 3px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .rsssl-progress-table tr {
|
||||
position: relative;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .rsssl-progress-table td {
|
||||
padding: 10px 10px 10px 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .rsssl-progress-table td + td {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks {
|
||||
color: #3c3c3c;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-right: 10px;
|
||||
height: 340px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content .tips-tricks-top {
|
||||
flex-grow: 1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content .tips-tricks-top .rsssl-tips-tricks-element {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content .tips-tricks-top .rsssl-tips-tricks-content {
|
||||
padding-right: 20px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .rsssl-tips-tricks-read-more a {
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-bullet {
|
||||
height: 13px;
|
||||
width: 13px;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
background-color: lightgrey;
|
||||
text-decoration: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums {
|
||||
display: flex;
|
||||
width: 50%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums a {
|
||||
text-decoration: none;
|
||||
color: #3c3c3c;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 2px 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-bullet {
|
||||
margin: 7px 7px 7px 0;
|
||||
background-color: lightgrey;
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-bullet:hover {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-forums-content {
|
||||
float: left;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-forums-content:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-feedback {
|
||||
color: #d7263d;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell {
|
||||
display: flex !important;
|
||||
flex-direction: row;
|
||||
padding: 7px 0 7px 0;
|
||||
align-items: center;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .plugin-text a {
|
||||
text-decoration: none;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .plugin-text a:hover {
|
||||
color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .rsp-image {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .wpsi-red {
|
||||
background-color: #d7263d;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .cmplztc-black {
|
||||
background-color: #333;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .cmplz-blue {
|
||||
background-color: #27ADEA;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .zip-pink {
|
||||
background-color: #E366A1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .plugin-status {
|
||||
margin-left: auto;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-status {
|
||||
display: block;
|
||||
min-width: 60px;
|
||||
text-align: center;
|
||||
border-radius: 15px;
|
||||
padding: 4px 8px 4px 8px;
|
||||
font-size: 0.8em;
|
||||
font-weight: 600;
|
||||
height: 17px;
|
||||
line-height: 17px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-premium {
|
||||
background-color: #29b6f6;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-success {
|
||||
background-color: #61ce70;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-open {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-warning {
|
||||
background-color: #d7263d;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 14px 25px 0 25px;
|
||||
height: 40px;
|
||||
bottom: 0;
|
||||
width: 95%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-footer .rsssl-button-save {
|
||||
margin-right: 25px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-footer #rsssl-feedback {
|
||||
font-weight: 600;
|
||||
color: #61ce70;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-deactivate-keep-ssl th,
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-deactivate-keep-ssl span {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
height: 247.5px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container {
|
||||
height: 475px / 2;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container .rsssl-grid-item-content {
|
||||
height: 110px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container .rsssl-grid-item-content .form-table tbody tr,
|
||||
.rsssl-grid .rsssl-item.half-height .item-container .rsssl-grid-item-content .form-table tbody th {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container {
|
||||
width: 390px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container th {
|
||||
width: 90% !important;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container .form-table tbody tr {
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-border .item-container {
|
||||
border: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-background .item-container {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer,
|
||||
.rsssl-grid #rsssl-premium-settings-footer {
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .rsssl-footer-item form,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .rsssl-footer-item form {
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .rsssl-footer-item + .rsssl-footer-item,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .rsssl-footer-item + .rsssl-footer-item {
|
||||
margin-left: 20px;
|
||||
padding: 4px 0;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .footer-left,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .footer-left {
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .footer-left .upsell,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .footer-left .upsell {
|
||||
min-width: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .footer-right,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .footer-right {
|
||||
float: right;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .hidden,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .hidden {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-system-status-footer-info {
|
||||
margin-right: 20px;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
}
|
||||
.rsssl-grid .rsssl-system-status-footer-info .system-status-info {
|
||||
margin-left: 6px;
|
||||
}
|
||||
.rsssl-grid .dot {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
.rsssl-grid .rsssl-dot-success {
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-grid .rsssl-dot-error {
|
||||
background-color: #d7263d;
|
||||
}
|
||||
.upsell-grid-container .rsssl-secondary-header-item img {
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
.rsssl-grid {
|
||||
position: relative;
|
||||
}
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
padding: 10px;
|
||||
height: 475px;
|
||||
min-height: 500px;
|
||||
z-index: 1;
|
||||
}
|
||||
@media only screen and (min-width: 400px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 600px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 1555px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
@media only screen and (min-width: 400px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 600px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 1555px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(25% - 20px);
|
||||
}
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container {
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
}
|
||||
@media only screen and (min-width: 400px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
height: 475px / 2;
|
||||
min-height: 250px;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 600px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 1555px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container {
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
min-height: 250px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .settings.rsssl-item {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-hidden {
|
||||
z-index: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-releasing {
|
||||
z-index: 2;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-dragging {
|
||||
z-index: 3;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header {
|
||||
border-bottom: 1px solid lightgrey;
|
||||
padding: 0;
|
||||
height: 60px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header .rsssl-grid-header-container {
|
||||
margin: 0 20px;
|
||||
height: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header .rsssl-grid-title {
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
padding: 20px 0;
|
||||
font-weight: bold;
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header .rsssl-grid-controls {
|
||||
float: right;
|
||||
margin-top: 20px;
|
||||
color: #cecece;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0 0 5px 5px rgba(222, 222, 222, 0.2);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .item-content {
|
||||
clear: both;
|
||||
margin: 15px;
|
||||
height: calc(100% - 100px);
|
||||
padding-top: 0px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-border .item-container {
|
||||
border: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-background .item-container {
|
||||
background-color: #F1F1F1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-placeholder .item-container {
|
||||
border-style: dashed;
|
||||
padding: 0;
|
||||
}
|
||||
/*# sourceMappingURL=grid.css.map */
|
||||
File diff suppressed because one or more lines are too long
680
wp-content/plugins/really-simple-ssl/assets/css/grid.less
Normal file
680
wp-content/plugins/really-simple-ssl/assets/css/grid.less
Normal file
@@ -0,0 +1,680 @@
|
||||
@import "variables.less";
|
||||
|
||||
// Override default WP settings style
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent, .settings_page_really-simple-ssl #wpcontent{
|
||||
padding: 0;
|
||||
.rsssl-footer-item {
|
||||
form {
|
||||
float:left;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-tab {
|
||||
padding: 16px 20px 17px 20px;
|
||||
margin-bottom:0;
|
||||
color: #444;
|
||||
font-weight: normal;
|
||||
font-size: 1.2em;
|
||||
background: inherit;
|
||||
border: 0;
|
||||
&.nav-tab-active {
|
||||
border-bottom: 2px solid @color_open;
|
||||
background: #fff;
|
||||
padding-bottom:15px;
|
||||
}
|
||||
}
|
||||
|
||||
// Responsive menu
|
||||
@media screen and (max-width: 800px) {
|
||||
.nav-tab-wrapper {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
.nav-tab {
|
||||
margin-left: 25px;
|
||||
}
|
||||
|
||||
.documentation {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 480px) {
|
||||
.nav-tab-wrapper {
|
||||
|
||||
.nav-tab {
|
||||
padding: 22px 3px 10px 3px;
|
||||
}
|
||||
|
||||
.nav-tab-active {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nav-tab-wrapper {
|
||||
min-height: 60px;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 0;
|
||||
}
|
||||
.rsssl-logo-container {
|
||||
margin-left: 25px;
|
||||
#rsssl-logo {
|
||||
height: 40px;
|
||||
width: 200px;
|
||||
img {
|
||||
width:200px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.header-links {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
justify-content: flex-end;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-right: 20px;
|
||||
.documentation {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.header-upsell {
|
||||
.documentation {
|
||||
margin-left:25px;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.header-upsell-pro {
|
||||
color: black;
|
||||
border: 3px solid black;
|
||||
margin: 10px;
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
border-radius: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-grid {
|
||||
.rsssl-gridblock-progress-container {
|
||||
background-color:green;
|
||||
.rsssl-gridblock-progress {
|
||||
height:3px;
|
||||
background-color:#cddc39;
|
||||
}
|
||||
}
|
||||
width: calc(100% - 20px);
|
||||
margin: @grid_margin;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.button-rsssl-tertiary {
|
||||
background-color: #D7263D;
|
||||
color: white;
|
||||
border:0;
|
||||
}
|
||||
|
||||
.rsssl-wide-button {
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.rsssl-item {
|
||||
width: @gridblock_width ;
|
||||
&.rsssl-small {
|
||||
width: @gridblock_width_small;
|
||||
}
|
||||
|
||||
.rsssl-close-warning-x {
|
||||
color: #ccc;
|
||||
margin-right: 25px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
height: @gridblock_height + @grid_margin;
|
||||
z-index: 1;
|
||||
.item-container {
|
||||
.form-table {
|
||||
display: flex;
|
||||
tbody {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
max-height: 340px;
|
||||
width: 100% !important;
|
||||
tr {
|
||||
padding: 0 0 0 0 !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
width: 50%;
|
||||
|
||||
td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
th {
|
||||
.dashicons-editor-help {
|
||||
font-size: 22px;
|
||||
}
|
||||
margin-left: 0;
|
||||
width: 90%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
.rsssl-tooltip-right {
|
||||
padding-right: 10px;
|
||||
}
|
||||
}
|
||||
th, td {
|
||||
// Important to override default WP style
|
||||
padding: 6px 0 !important;
|
||||
font-size:13px;
|
||||
p {font-size:13px}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
h2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0 0 5px 5px @box_shadow_color;
|
||||
width: @gridblock_width - @grid_margin;
|
||||
height: @gridblock_height;
|
||||
.rsssl-save-settings-feedback {
|
||||
margin-right:20px;
|
||||
color: @color_warning;
|
||||
}
|
||||
.rsssl-grid-item-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 60px;
|
||||
border-bottom: 1px solid @border_color;
|
||||
padding: 0 25px 0 25px;
|
||||
.rsssl-instructions a {
|
||||
color: @light-text-color;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
.rsssl-table-td-main-content {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
.rsssl-grid-item-content {
|
||||
height: 360px;
|
||||
margin: 10px 25px 10px 25px;
|
||||
border-bottom: 1px solid @border_color;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Tips and Tricks
|
||||
*/
|
||||
.rsssl-tips-tricks {
|
||||
color: @light-text-color;
|
||||
padding-bottom: 15px;
|
||||
.tips-tricks-content{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-right:10px;
|
||||
height: 340px;
|
||||
.tips-tricks-top {
|
||||
flex-grow:1;
|
||||
|
||||
.rsssl-tips-tricks-element {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.rsssl-tips-tricks-content {
|
||||
padding-right:20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.rsssl-tips-tricks-read-more a {
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
// End tips and tricks
|
||||
|
||||
/*
|
||||
Default bullet style
|
||||
*/
|
||||
.rsssl-bullet {
|
||||
height: 13px;
|
||||
width: 13px;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
background-color: lightgrey;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/*
|
||||
Support forum block
|
||||
*/
|
||||
|
||||
#rsssl-support-forums-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
.rsssl-support-forums {
|
||||
display: flex;
|
||||
width: 50%;
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: @light-text-color;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding:2px 0;
|
||||
}
|
||||
|
||||
.rsssl-bullet {
|
||||
margin: 7px 7px 7px 0;
|
||||
background-color: @light-grey;
|
||||
float: left;
|
||||
&:hover {
|
||||
background-color: @color_open;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-forums-content {
|
||||
float: left;
|
||||
color: @light-text-color;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#rsssl-feedback {
|
||||
color: @color_warning;
|
||||
}
|
||||
|
||||
/*
|
||||
Other plugins
|
||||
*/
|
||||
|
||||
.rsssl-upsell {
|
||||
display: flex !important; //we need important here, because the grid switch overrides it on element level
|
||||
flex-direction: row;
|
||||
padding: 7px 0 7px 0;
|
||||
align-items: center;
|
||||
color: @light-text-color;
|
||||
|
||||
.plugin-text {
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: @light-text-color;
|
||||
&:hover {
|
||||
color: @color_open;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsp-image {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.wpsi-red {
|
||||
background-color: @color_warning;
|
||||
}
|
||||
.cmplztc-black {
|
||||
background-color:#333;
|
||||
}
|
||||
|
||||
.cmplz-blue {
|
||||
background-color: #27ADEA;
|
||||
}
|
||||
|
||||
.zip-pink {
|
||||
background-color: #E366A1;
|
||||
}
|
||||
|
||||
.plugin-status {
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Progress labels
|
||||
*/
|
||||
.rsssl-progress-status {
|
||||
display: block;
|
||||
min-width: 60px;
|
||||
text-align: center;
|
||||
border-radius: 15px;
|
||||
padding: 4px 8px 4px 8px;
|
||||
font-size: 0.8em;
|
||||
font-weight: 600;
|
||||
height: 17px;
|
||||
line-height:17px;
|
||||
}
|
||||
|
||||
.rsssl-premium {
|
||||
background-color: #29b6f6;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-success {
|
||||
background-color: @color-success;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.rsssl-open {
|
||||
background-color: @color_open;
|
||||
}
|
||||
|
||||
.rsssl-warning {
|
||||
background-color: @color_warning;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
.rsssl-grid-item-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 14px 25px 0 25px;
|
||||
height: 40px;
|
||||
bottom: 0;
|
||||
width: 95%;
|
||||
.rsssl-button-save {
|
||||
margin-right:25px;
|
||||
}
|
||||
#rsssl-feedback {
|
||||
font-weight: 600;
|
||||
color: @color-success;
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
.rsssl-deactivate-keep-ssl {
|
||||
th, span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.half-height {
|
||||
height: (@gridblock_height / 2) + @grid_margin;
|
||||
|
||||
.item-container {
|
||||
height: @gridblock_height / 2;
|
||||
.rsssl-grid-item-content {
|
||||
height: 110px;
|
||||
.form-table tbody {
|
||||
tr, th {
|
||||
width:100%;
|
||||
max-width:100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.small {
|
||||
.item-container {
|
||||
width: @gridblock_width_small - @grid_margin;
|
||||
th {
|
||||
width: 90% !important;
|
||||
}
|
||||
.form-table tbody tr {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.no-border {
|
||||
.item-container {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
&.no-background {
|
||||
.item-container {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
Footers
|
||||
*/
|
||||
|
||||
#rsssl-progress-footer, #rsssl-premium-settings-footer {
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-right: @grid_margin;
|
||||
.rsssl-footer-item {
|
||||
form {
|
||||
float:left;
|
||||
}
|
||||
}
|
||||
.rsssl-footer-item +.rsssl-footer-item {
|
||||
margin-left:20px;
|
||||
padding:4px 0;
|
||||
}
|
||||
|
||||
.footer-left {
|
||||
float:left;
|
||||
.upsell {
|
||||
min-width: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.footer-right {
|
||||
float:right;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-system-status-footer-info {
|
||||
margin-right: 20px;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
.system-status-info {
|
||||
margin-left: 6px;
|
||||
}
|
||||
}
|
||||
/*
|
||||
Dots
|
||||
*/
|
||||
|
||||
.dot {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
.rsssl-dot-success {
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-dot-error {
|
||||
background-color: #d7263d;
|
||||
}
|
||||
}
|
||||
|
||||
.upsell-grid-container {
|
||||
.rsssl-secondary-header-item {
|
||||
img {
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Code below should be integrated in to the code above.
|
||||
.rsssl-grid {
|
||||
position: relative;
|
||||
.rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
padding: 10px;
|
||||
height: @gridblock_height;
|
||||
min-height: 500px;
|
||||
z-index: 1;
|
||||
@media only screen and (min-width: @break-xs) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-s) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-m) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-l) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-xl) {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
|
||||
&.small {
|
||||
width: calc(100% - 20px);
|
||||
|
||||
@media only screen and (min-width: @break-xs) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-s) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-m) {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-l) {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-xl) {
|
||||
width: calc(25% - 20px);
|
||||
}
|
||||
.item-container{
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.half-height {
|
||||
min-height: 250px;
|
||||
@media only screen and (min-width: @break-xs) {
|
||||
height: @gridblock_height / 2;
|
||||
min-height: 250px;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-s) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-m) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-l) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-xl) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
.item-container {
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
min-height: 250px;
|
||||
}
|
||||
}
|
||||
.settings.rsssl-item{
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
&.muuri-item-hidden {
|
||||
z-index: 0;
|
||||
}
|
||||
&.muuri-item-releasing {
|
||||
z-index: 2;
|
||||
}
|
||||
&.muuri-item-dragging {
|
||||
z-index: 3;
|
||||
}
|
||||
.rsssl-grid-header {
|
||||
border-bottom: 1px solid @light-grey;
|
||||
padding: 0;
|
||||
height: 60px;
|
||||
.rsssl-grid-header-container {
|
||||
margin: 0 20px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.rsssl-grid-title{
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
padding: 20px 0;
|
||||
font-weight: bold;
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid-controls {
|
||||
float: right;
|
||||
margin-top: 20px;
|
||||
color: #cecece;
|
||||
}
|
||||
}
|
||||
.item-container {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0 0 5px 5px rgba(222,222,222,0.2);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
||||
.item-content {
|
||||
clear:both;
|
||||
margin:15px;
|
||||
height: calc(100% - 100px);
|
||||
padding-top: 0px;
|
||||
padding-bottom:10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.no-border {
|
||||
.item-container {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
&.no-background {
|
||||
.item-container {
|
||||
background-color: #F1F1F1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1
wp-content/plugins/really-simple-ssl/assets/css/grid.min.css
vendored
Normal file
1
wp-content/plugins/really-simple-ssl/assets/css/grid.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<?php //You don't belong here. ?>
|
||||
968
wp-content/plugins/really-simple-ssl/assets/css/main-rtl.css
Normal file
968
wp-content/plugins/really-simple-ssl/assets/css/main-rtl.css
Normal file
@@ -0,0 +1,968 @@
|
||||
.rsssl-high-contrast {
|
||||
/**
|
||||
Let's Encrypt
|
||||
*/
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-success,
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-warning,
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-premium,
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-open {
|
||||
background-color: black !important;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-wizard-progress-bar-value {
|
||||
background: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-icon.rsssl-success {
|
||||
color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-icon.rsssl-success svg {
|
||||
stroke: black !important;
|
||||
fill: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-warning-wrap .rsssl-notice {
|
||||
color: white !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-warning-wrap .rsssl-warning {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .progress .bar {
|
||||
background-color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-notice a {
|
||||
color: white !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl.progress {
|
||||
background-color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-save-settings-feedback {
|
||||
color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .nav-tab-active {
|
||||
border-bottom: 2px solid black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-update-count {
|
||||
background-color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .paginate_button.current {
|
||||
background-color: black !important;
|
||||
color: white;
|
||||
border: 1px solid black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-tasks {
|
||||
color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-close-warning-x {
|
||||
color: black;
|
||||
}
|
||||
.rsssl-high-contrast .update-count {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-bullet:hover {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .button-rsssl-primary,
|
||||
.rsssl-high-contrast .button-primary,
|
||||
.rsssl-high-contrast .button-secondary,
|
||||
.rsssl-high-contrast .button-rsssl-secondary,
|
||||
.rsssl-high-contrast .button-rsssl-tertiary,
|
||||
.rsssl-high-contrast .revoke-from-csp,
|
||||
.rsssl-high-contrast .button-default {
|
||||
background-color: black !important;
|
||||
border-color: black !important;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-high-contrast .button:hover {
|
||||
color: white;
|
||||
}
|
||||
.rsssl-high-contrast input:checked + .rsssl-slider {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-modal,
|
||||
.rsssl-high-contrast .rsssl-help-modal h2 {
|
||||
background-color: black !important;
|
||||
color: white !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-modal.rsssl-notice:after {
|
||||
border-left: 15px solid black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-priority {
|
||||
border: 1px solid white !important;
|
||||
}
|
||||
/**move to css variables in time */
|
||||
:root {
|
||||
--rsp-break-xs: 400px;
|
||||
--rsp-break-s: 576px;
|
||||
--rsp-break-m: 768px;
|
||||
--rsp-break-l: 992px;
|
||||
--rsp-break-xl: 1200px;
|
||||
--rsp-break-xxl: 1400px;
|
||||
--rsp-spacing-xs: 10px;
|
||||
--rsp-spacing-s: 15px;
|
||||
--rsp-spacing-m: 20px;
|
||||
--rsp-spacing-l: 30px;
|
||||
--rsp-spacing-xl: 40px;
|
||||
--rsp-grid-margin: var(--rsp-spacing-xs);
|
||||
--rsp-grid-gap: var(--rsp-spacing-m);
|
||||
--rsp-border-radius: 12px;
|
||||
--rsp-border: 1px solid var(--rsp-border-color);
|
||||
--rsp-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
|
||||
--rsp-border-color: #dfdfdf;
|
||||
--rsp-black: #333;
|
||||
--rsp-white: #fff;
|
||||
--rsp-yellow: #f4bf3e;
|
||||
--rsp-blue: #29b6f6;
|
||||
--rsp-dark-blue: #5A6FA5;
|
||||
--rsp-green: #2e8a37;
|
||||
--rsp-red: #D7263D;
|
||||
--rsp-pink: #E35899;
|
||||
--rsp-orange: #f39c12;
|
||||
--rsp-yellow-faded: rgba(244, 191, 62, 0.1);
|
||||
--rsp-blue-faded: rgba(41, 182, 246, 0.1);
|
||||
--rsp-dark-blue-faded: rgba(41, 182, 246, 0.1);
|
||||
--rsp-green-faded: rgba(46, 138, 55, 0.1);
|
||||
--rsp-red-faded: rgba(215, 38, 61, 0.1);
|
||||
--rsp-pink-faded: rgba(227, 88, 153, 0.1);
|
||||
--rsp-orange-faded: rgba(243, 156, 18, 0.1);
|
||||
--rsp-background-block-color: var(--rsp-white);
|
||||
--rsp-background-color: #f0f0f1;
|
||||
--rsp-input-background-color: #F1F1F1;
|
||||
--rsp-input-text-color: var(--rsp-text-color);
|
||||
--rsp-input-border-color: #8c8f94;
|
||||
--rsp-text-color: rgba(26, 26, 26, 0.9);
|
||||
--rsp-text-color-invert: rgba(255, 255, 255, 0.9);
|
||||
--rsp-text-color-white: rgba(255, 255, 255, 0.9);
|
||||
--rsp-text-color-light: rgba(69, 69, 82, 0.9);
|
||||
--rsp-grey-200: #fafafa;
|
||||
--rsp-grey-300: #ededed;
|
||||
--rsp-grey-400: #c6c6c6;
|
||||
--rsp-grey-500: #737373;
|
||||
--rsp-grey-600: #696969;
|
||||
--rsp-color-success: var(--rsp-green);
|
||||
--rsp-color-error: var(--rsp-red);
|
||||
--rsp-color-warning: var(--rsp-orange);
|
||||
--rsp-color-open: var(--rsp-yellow);
|
||||
--rsp-fs-100: 0.6125rem;
|
||||
--rsp-fs-200: 0.625rem;
|
||||
--rsp-fs-300: 0.8125rem;
|
||||
--rsp-fs-400: 0.875rem;
|
||||
--rsp-fs-500: 1rem;
|
||||
--rsp-fs-600: 1.125rem;
|
||||
--rsp-fs-700: 1.25rem;
|
||||
--rsp-fs-800: 1.5rem;
|
||||
--rsp-fs-900: 2.5rem;
|
||||
--rsp-brand-primary: var(--rsp-green);
|
||||
--rsp-brand-secondary: var(--rsp-yellow);
|
||||
--rsp-brand-primary-faded: var(--rsp-green-faded);
|
||||
}
|
||||
/*
|
||||
Hide nags from other plugins
|
||||
*/
|
||||
.error:not(.really-simple-plugins),
|
||||
.notice:not(.really-simple-plugins),
|
||||
.update-nag:not(.really-simple-plugins),
|
||||
.notice-info:not(.really-simple-plugins) {
|
||||
display: none !important;
|
||||
}
|
||||
.rsssl-spacer {
|
||||
width: 10px;
|
||||
}
|
||||
.rsssl-scroll-container {
|
||||
height: 227px;
|
||||
overflow-y: auto;
|
||||
border-radius: 0;
|
||||
}
|
||||
.rsssl-scroll-container::-webkit-scrollbar-track {
|
||||
border-radius: 10px;
|
||||
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0);
|
||||
background-color: transparent;
|
||||
}
|
||||
.rsssl-scroll-container::-webkit-scrollbar {
|
||||
border-radius: 10px;
|
||||
width: 8px;
|
||||
background-color: var(--rsp-grey-300);
|
||||
cursor: pointer;
|
||||
}
|
||||
.rsssl-scroll-container::-webkit-scrollbar-thumb {
|
||||
background-color: var(--rsp-grey-400);
|
||||
border-radius: 10px;
|
||||
}
|
||||
/* comments on settings pages */
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr.rsssl-comment-text {
|
||||
color: #888;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
padding-bottom: 0 !important;
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr.rsssl-comment-text td {
|
||||
padding-top: 0!important;
|
||||
}
|
||||
.rsssl-networksettings-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
.rsssl-networksettings-overlay .rsssl-disabled-settings-overlay {
|
||||
position: absolute;
|
||||
width: calc(100% - 65px);
|
||||
bottom: 0;
|
||||
background-color: #fff;
|
||||
padding: 20px;
|
||||
margin: 12px;
|
||||
box-shadow: 0 0 5px 5px rgba(223, 222, 222, 0.4);
|
||||
}
|
||||
.rsssl-networksettings-overlay .rsssl-disabled-settings-overlay .rsssl-open {
|
||||
float: right;
|
||||
margin-left: 12px;
|
||||
}
|
||||
/* Hide review on own settings page */
|
||||
#rsssl_do_activate_ssl {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.rlrsssl-review {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-main {
|
||||
flex: 1;
|
||||
width: 80%;
|
||||
float: right;
|
||||
}
|
||||
.rsssl-sidebar img {
|
||||
max-width: 100%;
|
||||
/*height:inherit;*/
|
||||
}
|
||||
.really-simple-ssl-table {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.rsssl-table-td-main-content {
|
||||
width: 100%;
|
||||
}
|
||||
.really-simple-ssl-table tr:first-child {
|
||||
border-top-right-radius: 0.55rem;
|
||||
border-top-left-radius: 0.55rem;
|
||||
}
|
||||
.really-simple-ssl-table tr:last-child {
|
||||
margin-bottom: 0;
|
||||
border-bottom-right-radius: 0.55rem;
|
||||
border-bottom-left-radius: 0.55rem;
|
||||
}
|
||||
.really-simple-ssl-table tr {
|
||||
position: relative;
|
||||
padding-right: 5px;
|
||||
padding-top: 10px;
|
||||
background-color: #fff;
|
||||
}
|
||||
.debug-log {
|
||||
background-color: #fff;
|
||||
padding: 15px;
|
||||
}
|
||||
.rsssl-icons {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
.rsssl-update-count {
|
||||
margin-right: 4px !important;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
box-sizing: border-box;
|
||||
margin: 1px 2px -1px 0;
|
||||
padding: 0 5px;
|
||||
min-width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 9px;
|
||||
background-color: #D7263D;
|
||||
color: #fff;
|
||||
font-size: 11px;
|
||||
line-height: 1.6;
|
||||
text-align: center;
|
||||
z-index: 26;
|
||||
}
|
||||
/* rsssl-rsssl-tooltip for settings page */
|
||||
/* Base styles for the element that has a rsssl-tooltip */
|
||||
[data-rsssl-tooltip],
|
||||
.rsssl-tooltip {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
/* Base styles for the entire tooltip */
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip:after {
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-moz-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, -moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
pointer-events: none;
|
||||
}
|
||||
/* Show the entire rsssl-tooltip on hover and focus */
|
||||
[data-rsssl-tooltip]:hover:before,
|
||||
[data-rsssl-tooltip]:hover:after,
|
||||
[data-rsssl-tooltip]:focus:before,
|
||||
[data-rsssl-tooltip]:focus:after,
|
||||
.rsssl-tooltip:hover:before,
|
||||
.rsssl-tooltip:hover:after,
|
||||
.rsssl-tooltip:focus:before,
|
||||
.rsssl-tooltip:focus:after {
|
||||
visibility: visible;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
/* Base styles for the rsssl-tooltip's directional arrow */
|
||||
.rsssl-tooltip:before,
|
||||
[data-rsssl-tooltip]:before {
|
||||
z-index: 1001;
|
||||
border: 6px solid transparent;
|
||||
background: transparent;
|
||||
content: "";
|
||||
}
|
||||
/* Base styles for the rsssl-tooltip's content area */
|
||||
.rsssl-tooltip:after,
|
||||
[data-rsssl-tooltip]:after {
|
||||
z-index: 1000;
|
||||
padding: 8px;
|
||||
width: 220px;
|
||||
background-color: #000;
|
||||
background-color: hsla(0, 0%, 20%, 0.9);
|
||||
color: #fff;
|
||||
content: attr(data-rsssl-tooltip);
|
||||
font-size: 14px;
|
||||
line-height: 1.2;
|
||||
}
|
||||
/* Directions */
|
||||
/* Top (default) */
|
||||
.rsssl-tooltip-right {
|
||||
font-weight: normal;
|
||||
}
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip:after,
|
||||
.rsssl-tooltip-top:before,
|
||||
.rsssl-tooltip-top:after {
|
||||
bottom: 100%;
|
||||
right: 50%;
|
||||
}
|
||||
[data-rsssl-tooltip]:before,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip-top:before {
|
||||
margin-right: -6px;
|
||||
margin-bottom: -12px;
|
||||
border-top-color: #000;
|
||||
border-top-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
/* Horizontally align top/bottom rsssl-tooltips */
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:after,
|
||||
.rsssl-tooltip-top:after {
|
||||
margin-right: -80px;
|
||||
}
|
||||
[data-rsssl-tooltip]:hover:before,
|
||||
[data-rsssl-tooltip]:hover:after,
|
||||
[data-rsssl-tooltip]:focus:before,
|
||||
[data-rsssl-tooltip]:focus:after,
|
||||
.rsssl-tooltip:hover:before,
|
||||
.rsssl-tooltip:hover:after,
|
||||
.rsssl-tooltip:focus:before,
|
||||
.rsssl-tooltip:focus:after,
|
||||
.rsssl-tooltip-top:hover:before,
|
||||
.rsssl-tooltip-top:hover:after,
|
||||
.rsssl-tooltip-top:focus:before,
|
||||
.rsssl-tooltip-top:focus:after {
|
||||
-webkit-transform: translateY(-12px);
|
||||
-moz-transform: translateY(-12px);
|
||||
transform: translateY(-12px);
|
||||
}
|
||||
/* Left */
|
||||
.rsssl-tooltip-left:before,
|
||||
.rsssl-tooltip-left:after {
|
||||
left: 100%;
|
||||
/*bottom: 50%;*/
|
||||
right: auto;
|
||||
}
|
||||
.rsssl-tooltip-left:before {
|
||||
margin-right: 0;
|
||||
margin-left: -12px;
|
||||
margin-bottom: 0;
|
||||
border-top-color: transparent;
|
||||
border-right-color: #000;
|
||||
border-right-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
.rsssl-tooltip-left:hover:before,
|
||||
.rsssl-tooltip-left:hover:after,
|
||||
.rsssl-tooltip-left:focus:before,
|
||||
.rsssl-tooltip-left:focus:after {
|
||||
-webkit-transform: translateX(12px);
|
||||
-moz-transform: translateX(12px);
|
||||
transform: translateX(12px);
|
||||
}
|
||||
/* Bottom */
|
||||
.rsssl-tooltip-bottom:before,
|
||||
.rsssl-tooltip-bottom:after {
|
||||
top: 100%;
|
||||
bottom: auto;
|
||||
right: 50%;
|
||||
}
|
||||
.rsssl-tooltip-bottom:before {
|
||||
margin-top: -12px;
|
||||
margin-bottom: 0;
|
||||
border-top-color: transparent;
|
||||
border-bottom-color: #000;
|
||||
border-bottom-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
.rsssl-tooltip-bottom:hover:before,
|
||||
.rsssl-tooltip-bottom:hover:after,
|
||||
.rsssl-tooltip-bottom:focus:before,
|
||||
.rsssl-tooltip-bottom:focus:after {
|
||||
-webkit-transform: translateY(12px);
|
||||
-moz-transform: translateY(12px);
|
||||
transform: translateY(12px);
|
||||
}
|
||||
/* Right */
|
||||
.rsssl-tooltip-right:before,
|
||||
.rsssl-tooltip-right:after {
|
||||
bottom: 50%;
|
||||
right: 100%;
|
||||
}
|
||||
.rsssl-tooltip-right:before {
|
||||
margin-bottom: 0;
|
||||
margin-right: -12px;
|
||||
border-top-color: transparent;
|
||||
border-left-color: #000;
|
||||
border-left-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
.rsssl-tooltip-right:hover:before,
|
||||
.rsssl-tooltip-right:hover:after,
|
||||
.rsssl-tooltip-right:focus:before,
|
||||
.rsssl-tooltip-right:focus:after {
|
||||
-webkit-transform: translateX(-12px);
|
||||
-moz-transform: translateX(-12px);
|
||||
transform: translateX(-12px);
|
||||
}
|
||||
/* Move directional arrows down a bit for left/right rsssl-tooltips */
|
||||
.rsssl-tooltip-left:before,
|
||||
.rsssl-tooltip-right:before {
|
||||
top: 3px;
|
||||
}
|
||||
/* Vertically center rsssl-tooltip content for left/right rsssl-tooltips */
|
||||
.rsssl-tooltip-left:after,
|
||||
.rsssl-tooltip-right:after {
|
||||
margin-right: 0;
|
||||
margin-bottom: -25px;
|
||||
}
|
||||
/* Styling for the sidebar in the admin tab of the free plugin */
|
||||
.rsssl-really-simple-plugins-logo {
|
||||
background-color: #ececec;
|
||||
margin-right: -15px;
|
||||
margin-left: -15px;
|
||||
}
|
||||
.rsssl-sidebar {
|
||||
width: 240px;
|
||||
margin-top: 20px;
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
margin-left: 15px;
|
||||
padding-bottom: 15px;
|
||||
background-color: #ECECEC;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container {
|
||||
min-height: 125px;
|
||||
padding-bottom: 35px;
|
||||
margin-bottom: 10px;
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
border-radius: 3%;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container-pro {
|
||||
background-color: #fff;
|
||||
min-height: 125px;
|
||||
padding-bottom: 35px;
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
border-radius: 3%;
|
||||
}
|
||||
.rsssl-sidebar-title h3 {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.rsssl-sidebar-text-content-pro {
|
||||
font-weight: 700;
|
||||
font-size: 0.8em;
|
||||
width: 90%;
|
||||
/*min-height: 100px;*/
|
||||
margin: auto;
|
||||
}
|
||||
.rsssl-sidebar-text-content {
|
||||
width: 45%;
|
||||
padding-top: 5px;
|
||||
padding-left: 7px;
|
||||
font-weight: 700;
|
||||
font-size: 0.8em;
|
||||
float: left;
|
||||
margin: 10px auto;
|
||||
}
|
||||
.rsssl-pro-image {
|
||||
height: 30px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
.rsssl-sidebar-image-pro {
|
||||
width: 90%;
|
||||
margin: 10px;
|
||||
}
|
||||
.rsssl-sidebar-image {
|
||||
width: 100px;
|
||||
float: right;
|
||||
padding: 10px;
|
||||
height: 100px;
|
||||
}
|
||||
@media screen and (max-width: 1024px) and (min-width: 541px) {
|
||||
/* Let the main container be 100% width again */
|
||||
.rsssl-main {
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-sidebar-title {
|
||||
/*margin: auto;*/
|
||||
text-align: center;
|
||||
}
|
||||
.rsssl-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
.rsssl-sidebar {
|
||||
width: 100%;
|
||||
/*padding-left: 10%;*/
|
||||
}
|
||||
.rsssl-really-simple-plugins-logo {
|
||||
width: 40%;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container {
|
||||
background-color: #fff;
|
||||
width: 40%;
|
||||
padding-right: 25px;
|
||||
float: right;
|
||||
margin-left: 25px;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container-pro {
|
||||
width: 40%;
|
||||
padding-right: 25px;
|
||||
margin: auto auto 25px;
|
||||
}
|
||||
.rsssl-sidebar-um-text-content {
|
||||
width: 40%;
|
||||
}
|
||||
.rsssl-pro-image {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 540px) {
|
||||
.rsssl-main {
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
.rsssl-sidebar {
|
||||
display: grid;
|
||||
text-align: -webkit-center;
|
||||
width: 70%;
|
||||
}
|
||||
.rsssl-sidebar-um-text-content {
|
||||
width: 45%;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container-pro {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.rsssl-sidebar h4 {
|
||||
font-size: 14px;
|
||||
font-style: italic;
|
||||
}
|
||||
.rsssl-wrapper {
|
||||
padding: 30px;
|
||||
}
|
||||
.rsssl-sidebar-list {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
#rsssl-premium-button-pro {
|
||||
display: inline-table;
|
||||
width: 40%;
|
||||
text-align: center;
|
||||
float: left;
|
||||
font-size: inherit;
|
||||
height: 25px;
|
||||
-webkit-border-radius: 12px;
|
||||
-moz-border-radius: 12px;
|
||||
border-radius: 12px;
|
||||
border: none;
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.rsssl-sidebar-content {
|
||||
float: right;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
hr {
|
||||
display: block;
|
||||
height: 1px;
|
||||
border: 0;
|
||||
border-top: 1px solid #ccc;
|
||||
margin: 1em 0;
|
||||
padding: 0;
|
||||
}
|
||||
.rsssl-container {
|
||||
display: flex;
|
||||
}
|
||||
#rsssl-premium-button {
|
||||
display: inline-table;
|
||||
width: 40%;
|
||||
text-align: center;
|
||||
float: left;
|
||||
font-size: inherit;
|
||||
height: 25px;
|
||||
border-radius: 12px;
|
||||
border: none;
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.rsssl-more-info-button {
|
||||
border: none;
|
||||
border-radius: 50px;
|
||||
clear: both;
|
||||
margin-top: 10px;
|
||||
}
|
||||
/*
|
||||
cool checkbox sliders
|
||||
*/
|
||||
.rsssl-switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 35px;
|
||||
height: 18px;
|
||||
}
|
||||
.rsssl-switch input {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
display: block !important;
|
||||
}
|
||||
.rsssl-slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: 0.4s;
|
||||
transition: 0.4s;
|
||||
}
|
||||
.rsssl-slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
right: 3px;
|
||||
bottom: 2.2px;
|
||||
background-color: white;
|
||||
-webkit-transition: 0.4s;
|
||||
transition: 0.4s;
|
||||
}
|
||||
.rsssl-slider.rsssl-round {
|
||||
border-radius: 20px;
|
||||
}
|
||||
.rsssl-slider.rsssl-round:before {
|
||||
border-radius: 50%;
|
||||
}
|
||||
input:checked + .rsssl-slider {
|
||||
background-color: #2DAAE1;
|
||||
}
|
||||
input:checked + .rsssl-slider:before {
|
||||
-webkit-transform: translateX(-16px);
|
||||
-ms-transform: translateX(-16px);
|
||||
transform: translateX(-16px);
|
||||
}
|
||||
input:disabled + .rsssl-slider {
|
||||
background-color: #b3e0f4;
|
||||
}
|
||||
input:focus + .rsssl-slider {
|
||||
box-shadow: 0 0 1px #2DAAE1;
|
||||
}
|
||||
.debug-log {
|
||||
width: 90%;
|
||||
}
|
||||
.rsssl-dashboard-plusone {
|
||||
margin-right: 8px;
|
||||
}
|
||||
.rsssl-highlight {
|
||||
background-color: #fff;
|
||||
border-left: 4px solid #61ce70;
|
||||
-o-animation: fadeIt 5s ease-in-out;
|
||||
animation: fadeIt 5s ease-in-out;
|
||||
}
|
||||
@-o-keyframes fadeIt {
|
||||
0% {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
30% {
|
||||
background-color: #d6efd6;
|
||||
}
|
||||
100% {
|
||||
border-right: 0;
|
||||
background-color: inherit;
|
||||
}
|
||||
}
|
||||
@keyframes fadeIt {
|
||||
0% {
|
||||
background-color: #FFFFFF;
|
||||
border-right: 0;
|
||||
}
|
||||
30% {
|
||||
background-color: #d6efd6;
|
||||
}
|
||||
100% {
|
||||
background-color: inherit;
|
||||
}
|
||||
}
|
||||
.form-table th {
|
||||
padding-right: 10px;
|
||||
}
|
||||
.rsssl-dashboard-dismiss .close {
|
||||
all: initial;
|
||||
}
|
||||
.rsssl-dashboard-dismiss span {
|
||||
font-size: 1.5em;
|
||||
color: black;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
.rsssl-dashboard-dismiss span img {
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
}
|
||||
.rsssl-dashboard-dismiss span:hover {
|
||||
cursor: pointer;
|
||||
color: grey;
|
||||
}
|
||||
/* License page */
|
||||
.rsssl-grid .rsssl-item.rsssl-license-grid .item-container .form-table tbody tr {
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.rsssl-license-grid .item-container .rsssl-grid-item-footer input + input {
|
||||
margin-right: 20px;
|
||||
}
|
||||
.rsssl_notice_license {
|
||||
font-size: 13px !important;
|
||||
border-radius: 0.25rem;
|
||||
padding: 10px 15px;
|
||||
margin: 10px 0;
|
||||
background-color: #29b6f6;
|
||||
border: 1px solid #29b6f6;
|
||||
color: #fff;
|
||||
}
|
||||
.rsssl_notice_license h1 {
|
||||
font-size: 16px;
|
||||
}
|
||||
.rsssl_notice_license p {
|
||||
font-size: 13px !important;
|
||||
}
|
||||
.rsssl_notice_license.success {
|
||||
background-color: #dff0d8;
|
||||
border-color: #d0e9c6;
|
||||
color: #3c763d;
|
||||
}
|
||||
.rsssl_notice_license.warning {
|
||||
color: #000;
|
||||
background-color: #FBC43D;
|
||||
border-color: #FBC43D;
|
||||
}
|
||||
.rsssl_notice_license ul {
|
||||
list-style-type: disc;
|
||||
margin-right: 22px;
|
||||
}
|
||||
/**
|
||||
settings saved
|
||||
*/
|
||||
.rsssl-container .rsssl-settings-saved,
|
||||
#rsssl-wizard .rsssl-settings-saved {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
height: 45px;
|
||||
position: fixed;
|
||||
background-color: #fff;
|
||||
z-index: 999999;
|
||||
right: 50%;
|
||||
transform: translateX(50%);
|
||||
text-align: right;
|
||||
box-shadow: 0 0 5px 5px rgba(222, 222, 222, 0.2);
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-success,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-success {
|
||||
color: #61ce70;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved svg,
|
||||
#rsssl-wizard .rsssl-settings-saved svg {
|
||||
stroke: #61ce70;
|
||||
fill: #61ce70;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-settings-saved__text_and_icon,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-settings-saved__text_and_icon {
|
||||
display: flex;
|
||||
align-content: center;
|
||||
padding: 0 20px;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-settings-saved__text_and_icon .rsssl-icon,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-settings-saved__text_and_icon .rsssl-icon {
|
||||
margin: 12px 0 0 0;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-settings-saved__text_and_icon span,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-settings-saved__text_and_icon span {
|
||||
display: flex;
|
||||
align-self: center;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #696969;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-settings-saved__text_and_icon div,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-settings-saved__text_and_icon div {
|
||||
display: flex;
|
||||
align-self: center;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved.rsssl-settings-saved--fade-in,
|
||||
#rsssl-wizard .rsssl-settings-saved.rsssl-settings-saved--fade-in {
|
||||
display: block;
|
||||
-webkit-animation: fadeInFromNone 5s ease-in-out;
|
||||
-moz-animation: fadeInFromNone 5s ease-in-out;
|
||||
-o-animation: fadeInFromNone 5s ease-in-out;
|
||||
animation: fadeInFromNone 5s ease-in-out;
|
||||
}
|
||||
@-webkit-keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
@-moz-keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
@-o-keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
@keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
/*# sourceMappingURL=main.css.map */
|
||||
1
wp-content/plugins/really-simple-ssl/assets/css/main-rtl.min.css
vendored
Normal file
1
wp-content/plugins/really-simple-ssl/assets/css/main-rtl.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
968
wp-content/plugins/really-simple-ssl/assets/css/main.css
Normal file
968
wp-content/plugins/really-simple-ssl/assets/css/main.css
Normal file
@@ -0,0 +1,968 @@
|
||||
.rsssl-high-contrast {
|
||||
/**
|
||||
Let's Encrypt
|
||||
*/
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-success,
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-warning,
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-premium,
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-open {
|
||||
background-color: black !important;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-wizard-progress-bar-value {
|
||||
background: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-icon.rsssl-success {
|
||||
color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-icon.rsssl-success svg {
|
||||
stroke: black !important;
|
||||
fill: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-warning-wrap .rsssl-notice {
|
||||
color: white !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-warning-wrap .rsssl-warning {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .progress .bar {
|
||||
background-color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-notice a {
|
||||
color: white !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl.progress {
|
||||
background-color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-save-settings-feedback {
|
||||
color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .nav-tab-active {
|
||||
border-bottom: 2px solid black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-update-count {
|
||||
background-color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .paginate_button.current {
|
||||
background-color: black !important;
|
||||
color: white;
|
||||
border: 1px solid black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-tasks {
|
||||
color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-close-warning-x {
|
||||
color: black;
|
||||
}
|
||||
.rsssl-high-contrast .update-count {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-bullet:hover {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .button-rsssl-primary,
|
||||
.rsssl-high-contrast .button-primary,
|
||||
.rsssl-high-contrast .button-secondary,
|
||||
.rsssl-high-contrast .button-rsssl-secondary,
|
||||
.rsssl-high-contrast .button-rsssl-tertiary,
|
||||
.rsssl-high-contrast .revoke-from-csp,
|
||||
.rsssl-high-contrast .button-default {
|
||||
background-color: black !important;
|
||||
border-color: black !important;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-high-contrast .button:hover {
|
||||
color: white;
|
||||
}
|
||||
.rsssl-high-contrast input:checked + .rsssl-slider {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-modal,
|
||||
.rsssl-high-contrast .rsssl-help-modal h2 {
|
||||
background-color: black !important;
|
||||
color: white !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-modal.rsssl-notice:after {
|
||||
border-right: 15px solid black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-priority {
|
||||
border: 1px solid white !important;
|
||||
}
|
||||
/**move to css variables in time */
|
||||
:root {
|
||||
--rsp-break-xs: 400px;
|
||||
--rsp-break-s: 576px;
|
||||
--rsp-break-m: 768px;
|
||||
--rsp-break-l: 992px;
|
||||
--rsp-break-xl: 1200px;
|
||||
--rsp-break-xxl: 1400px;
|
||||
--rsp-spacing-xs: 10px;
|
||||
--rsp-spacing-s: 15px;
|
||||
--rsp-spacing-m: 20px;
|
||||
--rsp-spacing-l: 30px;
|
||||
--rsp-spacing-xl: 40px;
|
||||
--rsp-grid-margin: var(--rsp-spacing-xs);
|
||||
--rsp-grid-gap: var(--rsp-spacing-m);
|
||||
--rsp-border-radius: 12px;
|
||||
--rsp-border: 1px solid var(--rsp-border-color);
|
||||
--rsp-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
|
||||
--rsp-border-color: #dfdfdf;
|
||||
--rsp-black: #333;
|
||||
--rsp-white: #fff;
|
||||
--rsp-yellow: #f4bf3e;
|
||||
--rsp-blue: #29b6f6;
|
||||
--rsp-dark-blue: #5A6FA5;
|
||||
--rsp-green: #2e8a37;
|
||||
--rsp-red: #D7263D;
|
||||
--rsp-pink: #E35899;
|
||||
--rsp-orange: #f39c12;
|
||||
--rsp-yellow-faded: rgba(244, 191, 62, 0.1);
|
||||
--rsp-blue-faded: rgba(41, 182, 246, 0.1);
|
||||
--rsp-dark-blue-faded: rgba(41, 182, 246, 0.1);
|
||||
--rsp-green-faded: rgba(46, 138, 55, 0.1);
|
||||
--rsp-red-faded: rgba(215, 38, 61, 0.1);
|
||||
--rsp-pink-faded: rgba(227, 88, 153, 0.1);
|
||||
--rsp-orange-faded: rgba(243, 156, 18, 0.1);
|
||||
--rsp-background-block-color: var(--rsp-white);
|
||||
--rsp-background-color: #f0f0f1;
|
||||
--rsp-input-background-color: #F1F1F1;
|
||||
--rsp-input-text-color: var(--rsp-text-color);
|
||||
--rsp-input-border-color: #8c8f94;
|
||||
--rsp-text-color: rgba(26, 26, 26, 0.9);
|
||||
--rsp-text-color-invert: rgba(255, 255, 255, 0.9);
|
||||
--rsp-text-color-white: rgba(255, 255, 255, 0.9);
|
||||
--rsp-text-color-light: rgba(69, 69, 82, 0.9);
|
||||
--rsp-grey-200: #fafafa;
|
||||
--rsp-grey-300: #ededed;
|
||||
--rsp-grey-400: #c6c6c6;
|
||||
--rsp-grey-500: #737373;
|
||||
--rsp-grey-600: #696969;
|
||||
--rsp-color-success: var(--rsp-green);
|
||||
--rsp-color-error: var(--rsp-red);
|
||||
--rsp-color-warning: var(--rsp-orange);
|
||||
--rsp-color-open: var(--rsp-yellow);
|
||||
--rsp-fs-100: 0.6125rem;
|
||||
--rsp-fs-200: 0.625rem;
|
||||
--rsp-fs-300: 0.8125rem;
|
||||
--rsp-fs-400: 0.875rem;
|
||||
--rsp-fs-500: 1rem;
|
||||
--rsp-fs-600: 1.125rem;
|
||||
--rsp-fs-700: 1.25rem;
|
||||
--rsp-fs-800: 1.5rem;
|
||||
--rsp-fs-900: 2.5rem;
|
||||
--rsp-brand-primary: var(--rsp-green);
|
||||
--rsp-brand-secondary: var(--rsp-yellow);
|
||||
--rsp-brand-primary-faded: var(--rsp-green-faded);
|
||||
}
|
||||
/*
|
||||
Hide nags from other plugins
|
||||
*/
|
||||
.error:not(.really-simple-plugins),
|
||||
.notice:not(.really-simple-plugins),
|
||||
.update-nag:not(.really-simple-plugins),
|
||||
.notice-info:not(.really-simple-plugins) {
|
||||
display: none !important;
|
||||
}
|
||||
.rsssl-spacer {
|
||||
width: 10px;
|
||||
}
|
||||
.rsssl-scroll-container {
|
||||
height: 227px;
|
||||
overflow-y: auto;
|
||||
border-radius: 0;
|
||||
}
|
||||
.rsssl-scroll-container::-webkit-scrollbar-track {
|
||||
border-radius: 10px;
|
||||
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0);
|
||||
background-color: transparent;
|
||||
}
|
||||
.rsssl-scroll-container::-webkit-scrollbar {
|
||||
border-radius: 10px;
|
||||
width: 8px;
|
||||
background-color: var(--rsp-grey-300);
|
||||
cursor: pointer;
|
||||
}
|
||||
.rsssl-scroll-container::-webkit-scrollbar-thumb {
|
||||
background-color: var(--rsp-grey-400);
|
||||
border-radius: 10px;
|
||||
}
|
||||
/* comments on settings pages */
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr.rsssl-comment-text {
|
||||
color: #888;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
padding-bottom: 0 !important;
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr.rsssl-comment-text td {
|
||||
padding-top: 0!important;
|
||||
}
|
||||
.rsssl-networksettings-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
.rsssl-networksettings-overlay .rsssl-disabled-settings-overlay {
|
||||
position: absolute;
|
||||
width: calc(100% - 65px);
|
||||
bottom: 0;
|
||||
background-color: #fff;
|
||||
padding: 20px;
|
||||
margin: 12px;
|
||||
box-shadow: 0 0 5px 5px rgba(223, 222, 222, 0.4);
|
||||
}
|
||||
.rsssl-networksettings-overlay .rsssl-disabled-settings-overlay .rsssl-open {
|
||||
float: left;
|
||||
margin-right: 12px;
|
||||
}
|
||||
/* Hide review on own settings page */
|
||||
#rsssl_do_activate_ssl {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.rlrsssl-review {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-main {
|
||||
flex: 1;
|
||||
width: 80%;
|
||||
float: left;
|
||||
}
|
||||
.rsssl-sidebar img {
|
||||
max-width: 100%;
|
||||
/*height:inherit;*/
|
||||
}
|
||||
.really-simple-ssl-table {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.rsssl-table-td-main-content {
|
||||
width: 100%;
|
||||
}
|
||||
.really-simple-ssl-table tr:first-child {
|
||||
border-top-left-radius: 0.55rem;
|
||||
border-top-right-radius: 0.55rem;
|
||||
}
|
||||
.really-simple-ssl-table tr:last-child {
|
||||
margin-bottom: 0;
|
||||
border-bottom-left-radius: 0.55rem;
|
||||
border-bottom-right-radius: 0.55rem;
|
||||
}
|
||||
.really-simple-ssl-table tr {
|
||||
position: relative;
|
||||
padding-left: 5px;
|
||||
padding-top: 10px;
|
||||
background-color: #fff;
|
||||
}
|
||||
.debug-log {
|
||||
background-color: #fff;
|
||||
padding: 15px;
|
||||
}
|
||||
.rsssl-icons {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
.rsssl-update-count {
|
||||
margin-left: 4px !important;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
box-sizing: border-box;
|
||||
margin: 1px 0 -1px 2px;
|
||||
padding: 0 5px;
|
||||
min-width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 9px;
|
||||
background-color: #D7263D;
|
||||
color: #fff;
|
||||
font-size: 11px;
|
||||
line-height: 1.6;
|
||||
text-align: center;
|
||||
z-index: 26;
|
||||
}
|
||||
/* rsssl-rsssl-tooltip for settings page */
|
||||
/* Base styles for the element that has a rsssl-tooltip */
|
||||
[data-rsssl-tooltip],
|
||||
.rsssl-tooltip {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
/* Base styles for the entire tooltip */
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip:after {
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-moz-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, -moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
pointer-events: none;
|
||||
}
|
||||
/* Show the entire rsssl-tooltip on hover and focus */
|
||||
[data-rsssl-tooltip]:hover:before,
|
||||
[data-rsssl-tooltip]:hover:after,
|
||||
[data-rsssl-tooltip]:focus:before,
|
||||
[data-rsssl-tooltip]:focus:after,
|
||||
.rsssl-tooltip:hover:before,
|
||||
.rsssl-tooltip:hover:after,
|
||||
.rsssl-tooltip:focus:before,
|
||||
.rsssl-tooltip:focus:after {
|
||||
visibility: visible;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
/* Base styles for the rsssl-tooltip's directional arrow */
|
||||
.rsssl-tooltip:before,
|
||||
[data-rsssl-tooltip]:before {
|
||||
z-index: 1001;
|
||||
border: 6px solid transparent;
|
||||
background: transparent;
|
||||
content: "";
|
||||
}
|
||||
/* Base styles for the rsssl-tooltip's content area */
|
||||
.rsssl-tooltip:after,
|
||||
[data-rsssl-tooltip]:after {
|
||||
z-index: 1000;
|
||||
padding: 8px;
|
||||
width: 220px;
|
||||
background-color: #000;
|
||||
background-color: hsla(0, 0%, 20%, 0.9);
|
||||
color: #fff;
|
||||
content: attr(data-rsssl-tooltip);
|
||||
font-size: 14px;
|
||||
line-height: 1.2;
|
||||
}
|
||||
/* Directions */
|
||||
/* Top (default) */
|
||||
.rsssl-tooltip-right {
|
||||
font-weight: normal;
|
||||
}
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip:after,
|
||||
.rsssl-tooltip-top:before,
|
||||
.rsssl-tooltip-top:after {
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
}
|
||||
[data-rsssl-tooltip]:before,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip-top:before {
|
||||
margin-left: -6px;
|
||||
margin-bottom: -12px;
|
||||
border-top-color: #000;
|
||||
border-top-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
/* Horizontally align top/bottom rsssl-tooltips */
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:after,
|
||||
.rsssl-tooltip-top:after {
|
||||
margin-left: -80px;
|
||||
}
|
||||
[data-rsssl-tooltip]:hover:before,
|
||||
[data-rsssl-tooltip]:hover:after,
|
||||
[data-rsssl-tooltip]:focus:before,
|
||||
[data-rsssl-tooltip]:focus:after,
|
||||
.rsssl-tooltip:hover:before,
|
||||
.rsssl-tooltip:hover:after,
|
||||
.rsssl-tooltip:focus:before,
|
||||
.rsssl-tooltip:focus:after,
|
||||
.rsssl-tooltip-top:hover:before,
|
||||
.rsssl-tooltip-top:hover:after,
|
||||
.rsssl-tooltip-top:focus:before,
|
||||
.rsssl-tooltip-top:focus:after {
|
||||
-webkit-transform: translateY(-12px);
|
||||
-moz-transform: translateY(-12px);
|
||||
transform: translateY(-12px);
|
||||
}
|
||||
/* Left */
|
||||
.rsssl-tooltip-left:before,
|
||||
.rsssl-tooltip-left:after {
|
||||
right: 100%;
|
||||
/*bottom: 50%;*/
|
||||
left: auto;
|
||||
}
|
||||
.rsssl-tooltip-left:before {
|
||||
margin-left: 0;
|
||||
margin-right: -12px;
|
||||
margin-bottom: 0;
|
||||
border-top-color: transparent;
|
||||
border-left-color: #000;
|
||||
border-left-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
.rsssl-tooltip-left:hover:before,
|
||||
.rsssl-tooltip-left:hover:after,
|
||||
.rsssl-tooltip-left:focus:before,
|
||||
.rsssl-tooltip-left:focus:after {
|
||||
-webkit-transform: translateX(-12px);
|
||||
-moz-transform: translateX(-12px);
|
||||
transform: translateX(-12px);
|
||||
}
|
||||
/* Bottom */
|
||||
.rsssl-tooltip-bottom:before,
|
||||
.rsssl-tooltip-bottom:after {
|
||||
top: 100%;
|
||||
bottom: auto;
|
||||
left: 50%;
|
||||
}
|
||||
.rsssl-tooltip-bottom:before {
|
||||
margin-top: -12px;
|
||||
margin-bottom: 0;
|
||||
border-top-color: transparent;
|
||||
border-bottom-color: #000;
|
||||
border-bottom-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
.rsssl-tooltip-bottom:hover:before,
|
||||
.rsssl-tooltip-bottom:hover:after,
|
||||
.rsssl-tooltip-bottom:focus:before,
|
||||
.rsssl-tooltip-bottom:focus:after {
|
||||
-webkit-transform: translateY(12px);
|
||||
-moz-transform: translateY(12px);
|
||||
transform: translateY(12px);
|
||||
}
|
||||
/* Right */
|
||||
.rsssl-tooltip-right:before,
|
||||
.rsssl-tooltip-right:after {
|
||||
bottom: 50%;
|
||||
left: 100%;
|
||||
}
|
||||
.rsssl-tooltip-right:before {
|
||||
margin-bottom: 0;
|
||||
margin-left: -12px;
|
||||
border-top-color: transparent;
|
||||
border-right-color: #000;
|
||||
border-right-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
.rsssl-tooltip-right:hover:before,
|
||||
.rsssl-tooltip-right:hover:after,
|
||||
.rsssl-tooltip-right:focus:before,
|
||||
.rsssl-tooltip-right:focus:after {
|
||||
-webkit-transform: translateX(12px);
|
||||
-moz-transform: translateX(12px);
|
||||
transform: translateX(12px);
|
||||
}
|
||||
/* Move directional arrows down a bit for left/right rsssl-tooltips */
|
||||
.rsssl-tooltip-left:before,
|
||||
.rsssl-tooltip-right:before {
|
||||
top: 3px;
|
||||
}
|
||||
/* Vertically center rsssl-tooltip content for left/right rsssl-tooltips */
|
||||
.rsssl-tooltip-left:after,
|
||||
.rsssl-tooltip-right:after {
|
||||
margin-left: 0;
|
||||
margin-bottom: -25px;
|
||||
}
|
||||
/* Styling for the sidebar in the admin tab of the free plugin */
|
||||
.rsssl-really-simple-plugins-logo {
|
||||
background-color: #ececec;
|
||||
margin-left: -15px;
|
||||
margin-right: -15px;
|
||||
}
|
||||
.rsssl-sidebar {
|
||||
width: 240px;
|
||||
margin-top: 20px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
margin-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
background-color: #ECECEC;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container {
|
||||
min-height: 125px;
|
||||
padding-bottom: 35px;
|
||||
margin-bottom: 10px;
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
border-radius: 3%;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container-pro {
|
||||
background-color: #fff;
|
||||
min-height: 125px;
|
||||
padding-bottom: 35px;
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
border-radius: 3%;
|
||||
}
|
||||
.rsssl-sidebar-title h3 {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.rsssl-sidebar-text-content-pro {
|
||||
font-weight: 700;
|
||||
font-size: 0.8em;
|
||||
width: 90%;
|
||||
/*min-height: 100px;*/
|
||||
margin: auto;
|
||||
}
|
||||
.rsssl-sidebar-text-content {
|
||||
width: 45%;
|
||||
padding-top: 5px;
|
||||
padding-right: 7px;
|
||||
font-weight: 700;
|
||||
font-size: 0.8em;
|
||||
float: right;
|
||||
margin: 10px auto;
|
||||
}
|
||||
.rsssl-pro-image {
|
||||
height: 30px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
.rsssl-sidebar-image-pro {
|
||||
width: 90%;
|
||||
margin: 10px;
|
||||
}
|
||||
.rsssl-sidebar-image {
|
||||
width: 100px;
|
||||
float: left;
|
||||
padding: 10px;
|
||||
height: 100px;
|
||||
}
|
||||
@media screen and (max-width: 1024px) and (min-width: 541px) {
|
||||
/* Let the main container be 100% width again */
|
||||
.rsssl-main {
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-sidebar-title {
|
||||
/*margin: auto;*/
|
||||
text-align: center;
|
||||
}
|
||||
.rsssl-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
.rsssl-sidebar {
|
||||
width: 100%;
|
||||
/*padding-left: 10%;*/
|
||||
}
|
||||
.rsssl-really-simple-plugins-logo {
|
||||
width: 40%;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container {
|
||||
background-color: #fff;
|
||||
width: 40%;
|
||||
padding-left: 25px;
|
||||
float: left;
|
||||
margin-right: 25px;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container-pro {
|
||||
width: 40%;
|
||||
padding-left: 25px;
|
||||
margin: auto auto 25px;
|
||||
}
|
||||
.rsssl-sidebar-um-text-content {
|
||||
width: 40%;
|
||||
}
|
||||
.rsssl-pro-image {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 540px) {
|
||||
.rsssl-main {
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
.rsssl-sidebar {
|
||||
display: grid;
|
||||
text-align: -webkit-center;
|
||||
width: 70%;
|
||||
}
|
||||
.rsssl-sidebar-um-text-content {
|
||||
width: 45%;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container-pro {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.rsssl-sidebar h4 {
|
||||
font-size: 14px;
|
||||
font-style: italic;
|
||||
}
|
||||
.rsssl-wrapper {
|
||||
padding: 30px;
|
||||
}
|
||||
.rsssl-sidebar-list {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
#rsssl-premium-button-pro {
|
||||
display: inline-table;
|
||||
width: 40%;
|
||||
text-align: center;
|
||||
float: right;
|
||||
font-size: inherit;
|
||||
height: 25px;
|
||||
-webkit-border-radius: 12px;
|
||||
-moz-border-radius: 12px;
|
||||
border-radius: 12px;
|
||||
border: none;
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.rsssl-sidebar-content {
|
||||
float: left;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
hr {
|
||||
display: block;
|
||||
height: 1px;
|
||||
border: 0;
|
||||
border-top: 1px solid #ccc;
|
||||
margin: 1em 0;
|
||||
padding: 0;
|
||||
}
|
||||
.rsssl-container {
|
||||
display: flex;
|
||||
}
|
||||
#rsssl-premium-button {
|
||||
display: inline-table;
|
||||
width: 40%;
|
||||
text-align: center;
|
||||
float: right;
|
||||
font-size: inherit;
|
||||
height: 25px;
|
||||
border-radius: 12px;
|
||||
border: none;
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.rsssl-more-info-button {
|
||||
border: none;
|
||||
border-radius: 50px;
|
||||
clear: both;
|
||||
margin-top: 10px;
|
||||
}
|
||||
/*
|
||||
cool checkbox sliders
|
||||
*/
|
||||
.rsssl-switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 35px;
|
||||
height: 18px;
|
||||
}
|
||||
.rsssl-switch input {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
display: block !important;
|
||||
}
|
||||
.rsssl-slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: 0.4s;
|
||||
transition: 0.4s;
|
||||
}
|
||||
.rsssl-slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
left: 3px;
|
||||
bottom: 2.2px;
|
||||
background-color: white;
|
||||
-webkit-transition: 0.4s;
|
||||
transition: 0.4s;
|
||||
}
|
||||
.rsssl-slider.rsssl-round {
|
||||
border-radius: 20px;
|
||||
}
|
||||
.rsssl-slider.rsssl-round:before {
|
||||
border-radius: 50%;
|
||||
}
|
||||
input:checked + .rsssl-slider {
|
||||
background-color: #2DAAE1;
|
||||
}
|
||||
input:checked + .rsssl-slider:before {
|
||||
-webkit-transform: translateX(16px);
|
||||
-ms-transform: translateX(16px);
|
||||
transform: translateX(16px);
|
||||
}
|
||||
input:disabled + .rsssl-slider {
|
||||
background-color: #b3e0f4;
|
||||
}
|
||||
input:focus + .rsssl-slider {
|
||||
box-shadow: 0 0 1px #2DAAE1;
|
||||
}
|
||||
.debug-log {
|
||||
width: 90%;
|
||||
}
|
||||
.rsssl-dashboard-plusone {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.rsssl-highlight {
|
||||
background-color: #fff;
|
||||
border-right: 4px solid #61ce70;
|
||||
-o-animation: fadeIt 5s ease-in-out;
|
||||
animation: fadeIt 5s ease-in-out;
|
||||
}
|
||||
@-o-keyframes fadeIt {
|
||||
0% {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
30% {
|
||||
background-color: #d6efd6;
|
||||
}
|
||||
100% {
|
||||
border-left: 0;
|
||||
background-color: inherit;
|
||||
}
|
||||
}
|
||||
@keyframes fadeIt {
|
||||
0% {
|
||||
background-color: #FFFFFF;
|
||||
border-left: 0;
|
||||
}
|
||||
30% {
|
||||
background-color: #d6efd6;
|
||||
}
|
||||
100% {
|
||||
background-color: inherit;
|
||||
}
|
||||
}
|
||||
.form-table th {
|
||||
padding-left: 10px;
|
||||
}
|
||||
.rsssl-dashboard-dismiss .close {
|
||||
all: initial;
|
||||
}
|
||||
.rsssl-dashboard-dismiss span {
|
||||
font-size: 1.5em;
|
||||
color: black;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
.rsssl-dashboard-dismiss span img {
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
}
|
||||
.rsssl-dashboard-dismiss span:hover {
|
||||
cursor: pointer;
|
||||
color: grey;
|
||||
}
|
||||
/* License page */
|
||||
.rsssl-grid .rsssl-item.rsssl-license-grid .item-container .form-table tbody tr {
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.rsssl-license-grid .item-container .rsssl-grid-item-footer input + input {
|
||||
margin-left: 20px;
|
||||
}
|
||||
.rsssl_notice_license {
|
||||
font-size: 13px !important;
|
||||
border-radius: 0.25rem;
|
||||
padding: 10px 15px;
|
||||
margin: 10px 0;
|
||||
background-color: #29b6f6;
|
||||
border: 1px solid #29b6f6;
|
||||
color: #fff;
|
||||
}
|
||||
.rsssl_notice_license h1 {
|
||||
font-size: 16px;
|
||||
}
|
||||
.rsssl_notice_license p {
|
||||
font-size: 13px !important;
|
||||
}
|
||||
.rsssl_notice_license.success {
|
||||
background-color: #dff0d8;
|
||||
border-color: #d0e9c6;
|
||||
color: #3c763d;
|
||||
}
|
||||
.rsssl_notice_license.warning {
|
||||
color: #000;
|
||||
background-color: #FBC43D;
|
||||
border-color: #FBC43D;
|
||||
}
|
||||
.rsssl_notice_license ul {
|
||||
list-style-type: disc;
|
||||
margin-left: 22px;
|
||||
}
|
||||
/**
|
||||
settings saved
|
||||
*/
|
||||
.rsssl-container .rsssl-settings-saved,
|
||||
#rsssl-wizard .rsssl-settings-saved {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
height: 45px;
|
||||
position: fixed;
|
||||
background-color: #fff;
|
||||
z-index: 999999;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
text-align: left;
|
||||
box-shadow: 0 0 5px 5px rgba(222, 222, 222, 0.2);
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-success,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-success {
|
||||
color: #61ce70;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved svg,
|
||||
#rsssl-wizard .rsssl-settings-saved svg {
|
||||
stroke: #61ce70;
|
||||
fill: #61ce70;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-settings-saved__text_and_icon,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-settings-saved__text_and_icon {
|
||||
display: flex;
|
||||
align-content: center;
|
||||
padding: 0 20px;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-settings-saved__text_and_icon .rsssl-icon,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-settings-saved__text_and_icon .rsssl-icon {
|
||||
margin: 12px 0 0 0;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-settings-saved__text_and_icon span,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-settings-saved__text_and_icon span {
|
||||
display: flex;
|
||||
align-self: center;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #696969;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved .rsssl-settings-saved__text_and_icon div,
|
||||
#rsssl-wizard .rsssl-settings-saved .rsssl-settings-saved__text_and_icon div {
|
||||
display: flex;
|
||||
align-self: center;
|
||||
}
|
||||
.rsssl-container .rsssl-settings-saved.rsssl-settings-saved--fade-in,
|
||||
#rsssl-wizard .rsssl-settings-saved.rsssl-settings-saved--fade-in {
|
||||
display: block;
|
||||
-webkit-animation: fadeInFromNone 5s ease-in-out;
|
||||
-moz-animation: fadeInFromNone 5s ease-in-out;
|
||||
-o-animation: fadeInFromNone 5s ease-in-out;
|
||||
animation: fadeInFromNone 5s ease-in-out;
|
||||
}
|
||||
@-webkit-keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
@-moz-keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
@-o-keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
@keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
/*# sourceMappingURL=main.css.map */
|
||||
File diff suppressed because one or more lines are too long
914
wp-content/plugins/really-simple-ssl/assets/css/main.less
Normal file
914
wp-content/plugins/really-simple-ssl/assets/css/main.less
Normal file
@@ -0,0 +1,914 @@
|
||||
// RTL generator: https://cssjanus.github.io/
|
||||
@import 'wcag.less';
|
||||
@import 'variables.less';
|
||||
/*
|
||||
Hide nags from other plugins
|
||||
*/
|
||||
.error, .notice, .update-nag, .notice-info {
|
||||
&:not(.really-simple-plugins) {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-spacer {
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
.rsssl-scroll-container{
|
||||
height: 227px;
|
||||
overflow-y: auto;
|
||||
//padding: var(--rsp-spacing-s) var(--rsp-spacing-l);
|
||||
border-radius: 0;
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
border-radius: 10px;
|
||||
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0);
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
border-radius: 10px;
|
||||
width: 8px;
|
||||
background-color: var(--rsp-grey-300);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
background-color: var(--rsp-grey-400);
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
/* comments on settings pages */
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr.rsssl-comment-text {
|
||||
color:#888;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
font-style:italic;
|
||||
padding-bottom:0 !important;
|
||||
margin-top:0 !important;
|
||||
td {padding-top:0!important;}
|
||||
}
|
||||
.rsssl-networksettings-overlay{
|
||||
position: absolute;
|
||||
top:0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
.rsssl-disabled-settings-overlay{
|
||||
.rsssl-open {
|
||||
float: left;
|
||||
margin-right:12px;
|
||||
}
|
||||
position:absolute;
|
||||
width: calc(100% - 65px);
|
||||
bottom: 0;
|
||||
background-color: #fff;
|
||||
padding: 20px;
|
||||
margin:12px;
|
||||
box-shadow: 0 0 5px 5px rgba(223,222,222,0.4);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Hide review on own settings page */
|
||||
#rsssl_do_activate_ssl {
|
||||
margin-right:10px;
|
||||
}
|
||||
.rlrsssl-review {
|
||||
display:none;
|
||||
}
|
||||
|
||||
.rsssl-main {
|
||||
flex: 1;
|
||||
width: 80%;
|
||||
float:left;
|
||||
}
|
||||
|
||||
.rsssl-sidebar img {
|
||||
max-width:100%;
|
||||
/*height:inherit;*/
|
||||
}
|
||||
|
||||
.really-simple-ssl-table {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.rsssl-table-td-main-content {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.really-simple-ssl-table tr:first-child {
|
||||
border-top-left-radius: .55rem;
|
||||
border-top-right-radius: .55rem;
|
||||
}
|
||||
|
||||
.really-simple-ssl-table tr:last-child {
|
||||
margin-bottom: 0;
|
||||
border-bottom-left-radius: .55rem;
|
||||
border-bottom-right-radius: .55rem;
|
||||
}
|
||||
|
||||
.really-simple-ssl-table tr {
|
||||
position: relative;
|
||||
padding-left: 5px;
|
||||
padding-top: 10px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.debug-log {
|
||||
background-color: #fff;
|
||||
padding:15px;
|
||||
}
|
||||
|
||||
.rsssl-icons {
|
||||
width:15px;
|
||||
height:15px;
|
||||
}
|
||||
|
||||
.rsssl-update-count {
|
||||
margin-left: 4px !important;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
box-sizing: border-box;
|
||||
margin: 1px 0 -1px 2px;
|
||||
padding: 0 5px;
|
||||
min-width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 9px;
|
||||
background-color: @rsp-red;
|
||||
color: #fff;
|
||||
font-size: 11px;
|
||||
line-height: 1.6;
|
||||
text-align: center;
|
||||
z-index: 26
|
||||
}
|
||||
|
||||
/* rsssl-rsssl-tooltip for settings page */
|
||||
/* Base styles for the element that has a rsssl-tooltip */
|
||||
[data-rsssl-tooltip],
|
||||
.rsssl-tooltip {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Base styles for the entire tooltip */
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip:after {
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
-webkit-transition:
|
||||
opacity 0.2s ease-in-out,
|
||||
visibility 0.2s ease-in-out,
|
||||
-webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-moz-transition:
|
||||
opacity 0.2s ease-in-out,
|
||||
visibility 0.2s ease-in-out,
|
||||
-moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
transition:
|
||||
opacity 0.2s ease-in-out,
|
||||
visibility 0.2s ease-in-out,
|
||||
transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Show the entire rsssl-tooltip on hover and focus */
|
||||
[data-rsssl-tooltip]:hover:before,
|
||||
[data-rsssl-tooltip]:hover:after,
|
||||
[data-rsssl-tooltip]:focus:before,
|
||||
[data-rsssl-tooltip]:focus:after,
|
||||
.rsssl-tooltip:hover:before,
|
||||
.rsssl-tooltip:hover:after,
|
||||
.rsssl-tooltip:focus:before,
|
||||
.rsssl-tooltip:focus:after {
|
||||
visibility: visible;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Base styles for the rsssl-tooltip's directional arrow */
|
||||
.rsssl-tooltip:before,
|
||||
[data-rsssl-tooltip]:before {
|
||||
z-index: 1001;
|
||||
border: 6px solid transparent;
|
||||
background: transparent;
|
||||
content: "";
|
||||
}
|
||||
|
||||
/* Base styles for the rsssl-tooltip's content area */
|
||||
.rsssl-tooltip:after,
|
||||
[data-rsssl-tooltip]:after {
|
||||
z-index: 1000;
|
||||
padding: 8px;
|
||||
width: 220px;
|
||||
background-color: #000;
|
||||
background-color: hsla(0, 0%, 20%, 0.9);
|
||||
color: #fff;
|
||||
content: attr(data-rsssl-tooltip);
|
||||
font-size: 14px;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
/* Directions */
|
||||
|
||||
/* Top (default) */
|
||||
.rsssl-tooltip-right {
|
||||
font-weight:normal;
|
||||
}
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip:after,
|
||||
.rsssl-tooltip-top:before,
|
||||
.rsssl-tooltip-top:after {
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
[data-rsssl-tooltip]:before,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip-top:before {
|
||||
margin-left: -6px;
|
||||
margin-bottom: -12px;
|
||||
border-top-color: #000;
|
||||
border-top-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
|
||||
/* Horizontally align top/bottom rsssl-tooltips */
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:after,
|
||||
.rsssl-tooltip-top:after {
|
||||
margin-left: -80px;
|
||||
}
|
||||
|
||||
[data-rsssl-tooltip]:hover:before,
|
||||
[data-rsssl-tooltip]:hover:after,
|
||||
[data-rsssl-tooltip]:focus:before,
|
||||
[data-rsssl-tooltip]:focus:after,
|
||||
.rsssl-tooltip:hover:before,
|
||||
.rsssl-tooltip:hover:after,
|
||||
.rsssl-tooltip:focus:before,
|
||||
.rsssl-tooltip:focus:after,
|
||||
.rsssl-tooltip-top:hover:before,
|
||||
.rsssl-tooltip-top:hover:after,
|
||||
.rsssl-tooltip-top:focus:before,
|
||||
.rsssl-tooltip-top:focus:after {
|
||||
-webkit-transform: translateY(-12px);
|
||||
-moz-transform: translateY(-12px);
|
||||
transform: translateY(-12px);
|
||||
}
|
||||
|
||||
/* Left */
|
||||
.rsssl-tooltip-left:before,
|
||||
.rsssl-tooltip-left:after {
|
||||
right: 100%;
|
||||
/*bottom: 50%;*/
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.rsssl-tooltip-left:before {
|
||||
margin-left: 0;
|
||||
margin-right: -12px;
|
||||
margin-bottom: 0;
|
||||
border-top-color: transparent;
|
||||
border-left-color: #000;
|
||||
border-left-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
|
||||
.rsssl-tooltip-left:hover:before,
|
||||
.rsssl-tooltip-left:hover:after,
|
||||
.rsssl-tooltip-left:focus:before,
|
||||
.rsssl-tooltip-left:focus:after {
|
||||
-webkit-transform: translateX(-12px);
|
||||
-moz-transform: translateX(-12px);
|
||||
transform: translateX(-12px);
|
||||
}
|
||||
|
||||
/* Bottom */
|
||||
.rsssl-tooltip-bottom:before,
|
||||
.rsssl-tooltip-bottom:after {
|
||||
top: 100%;
|
||||
bottom: auto;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
.rsssl-tooltip-bottom:before {
|
||||
margin-top: -12px;
|
||||
margin-bottom: 0;
|
||||
border-top-color: transparent;
|
||||
border-bottom-color: #000;
|
||||
border-bottom-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
|
||||
.rsssl-tooltip-bottom:hover:before,
|
||||
.rsssl-tooltip-bottom:hover:after,
|
||||
.rsssl-tooltip-bottom:focus:before,
|
||||
.rsssl-tooltip-bottom:focus:after {
|
||||
-webkit-transform: translateY(12px);
|
||||
-moz-transform: translateY(12px);
|
||||
transform: translateY(12px);
|
||||
}
|
||||
|
||||
/* Right */
|
||||
.rsssl-tooltip-right:before,
|
||||
.rsssl-tooltip-right:after {
|
||||
bottom: 50%;
|
||||
left: 100%;
|
||||
}
|
||||
|
||||
.rsssl-tooltip-right:before {
|
||||
margin-bottom: 0;
|
||||
margin-left: -12px;
|
||||
border-top-color: transparent;
|
||||
border-right-color: #000;
|
||||
border-right-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
|
||||
.rsssl-tooltip-right:hover:before,
|
||||
.rsssl-tooltip-right:hover:after,
|
||||
.rsssl-tooltip-right:focus:before,
|
||||
.rsssl-tooltip-right:focus:after {
|
||||
-webkit-transform: translateX(12px);
|
||||
-moz-transform: translateX(12px);
|
||||
transform: translateX(12px);
|
||||
}
|
||||
|
||||
/* Move directional arrows down a bit for left/right rsssl-tooltips */
|
||||
.rsssl-tooltip-left:before,
|
||||
.rsssl-tooltip-right:before {
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
/* Vertically center rsssl-tooltip content for left/right rsssl-tooltips */
|
||||
.rsssl-tooltip-left:after,
|
||||
.rsssl-tooltip-right:after {
|
||||
margin-left: 0;
|
||||
margin-bottom: -25px;
|
||||
}
|
||||
|
||||
/* Styling for the sidebar in the admin tab of the free plugin */
|
||||
|
||||
.rsssl-really-simple-plugins-logo {
|
||||
background-color: #ececec;
|
||||
margin-left: -15px;
|
||||
margin-right: -15px;
|
||||
}
|
||||
|
||||
.rsssl-sidebar {
|
||||
width: 240px;
|
||||
margin-top: 20px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
margin-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
background-color: #ECECEC;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-single-content-container {
|
||||
min-height: 125px;
|
||||
padding-bottom: 35px;
|
||||
margin-bottom: 10px;
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
border-radius: 3%;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-single-content-container-pro {
|
||||
background-color: #fff;
|
||||
min-height: 125px;
|
||||
padding-bottom: 35px;
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
border-radius: 3%;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-title h3 {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-text-content-pro {
|
||||
font-weight: 700;
|
||||
font-size: 0.8em;
|
||||
width: 90%;
|
||||
/*min-height: 100px;*/
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-text-content {
|
||||
width: 45%;
|
||||
padding-top: 5px;
|
||||
padding-right: 7px;
|
||||
font-weight: 700;
|
||||
font-size: 0.8em;
|
||||
float: right;
|
||||
margin: 10px auto;
|
||||
}
|
||||
|
||||
.rsssl-pro-image {
|
||||
height: 30px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-image-pro {
|
||||
width: 90%;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-image {
|
||||
width: 100px;
|
||||
float: left;
|
||||
padding: 10px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) and (min-width: 541px) {
|
||||
/* Let the main container be 100% width again */
|
||||
.rsssl-main {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-title {
|
||||
/*margin: auto;*/
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.rsssl-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
.rsssl-sidebar {
|
||||
width: 100%;
|
||||
/*padding-left: 10%;*/
|
||||
}
|
||||
.rsssl-really-simple-plugins-logo {
|
||||
width: 40%;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container {
|
||||
background-color: #fff;
|
||||
width: 40%;
|
||||
padding-left: 25px;
|
||||
float: left;
|
||||
margin-right: 25px;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-single-content-container-pro {
|
||||
width: 40%;
|
||||
padding-left: 25px;
|
||||
margin: auto auto 25px;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-um-text-content {
|
||||
width: 40%;
|
||||
}
|
||||
.rsssl-pro-image {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 540px) {
|
||||
.rsssl-main {
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
.rsssl-sidebar {
|
||||
display: grid;
|
||||
text-align: -webkit-center;
|
||||
width: 70%;
|
||||
}
|
||||
.rsssl-sidebar-um-text-content {
|
||||
width: 45%;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container-pro {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-sidebar-single-content-container {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-sidebar h4 {
|
||||
font-size:14px;
|
||||
font-style:italic;
|
||||
}
|
||||
|
||||
.rsssl-wrapper {
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-list {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#rsssl-premium-button-pro {
|
||||
display: inline-table;
|
||||
width: 40%;
|
||||
text-align: center;
|
||||
float: right;
|
||||
font-size: inherit;
|
||||
height: 25px;
|
||||
-webkit-border-radius: 12px;
|
||||
-moz-border-radius: 12px;
|
||||
border-radius: 12px;
|
||||
border: none;
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.rsssl-sidebar-content {
|
||||
float: left;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
hr {
|
||||
display: block;
|
||||
height: 1px;
|
||||
border: 0;
|
||||
border-top: 1px solid #ccc;
|
||||
margin: 1em 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.rsssl-container {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#rsssl-premium-button {
|
||||
display: inline-table;
|
||||
width: 40%;
|
||||
text-align: center;
|
||||
float: right;
|
||||
font-size: inherit;
|
||||
height: 25px;
|
||||
border-radius: 12px;
|
||||
border: none;
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.rsssl-more-info-button {
|
||||
border: none;
|
||||
border-radius: 50px;
|
||||
clear: both;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
/*
|
||||
cool checkbox sliders
|
||||
*/
|
||||
.rsssl-switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 35px;
|
||||
height: 18px;
|
||||
input {
|
||||
position:absolute;
|
||||
opacity:0;
|
||||
display:block !important; //temporary fix to override pro setting
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
&:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
left: 3px;
|
||||
bottom: 2.2px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
&.rsssl-round {
|
||||
border-radius: 20px;
|
||||
&:before {
|
||||
border-radius: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input:checked + .rsssl-slider {
|
||||
background-color: #2DAAE1;
|
||||
}
|
||||
input:checked + .rsssl-slider:before {
|
||||
-webkit-transform: translateX(16px);
|
||||
-ms-transform: translateX(16px);
|
||||
transform: translateX(16px);
|
||||
}
|
||||
input:disabled + .rsssl-slider {
|
||||
background-color: #b3e0f4;
|
||||
}
|
||||
input:focus + .rsssl-slider {
|
||||
box-shadow: 0 0 1px #2DAAE1;
|
||||
}
|
||||
|
||||
.debug-log {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.rsssl-dashboard-plusone {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.rsssl-highlight {
|
||||
background-color: #fff;
|
||||
border-right: 4px solid #61ce70;
|
||||
-o-animation: fadeIt 5s ease-in-out;
|
||||
animation: fadeIt 5s ease-in-out;
|
||||
}
|
||||
|
||||
@-o-keyframes fadeIt {
|
||||
0% { background-color: #FFFFFF; }
|
||||
30% { background-color: #d6efd6; }
|
||||
100% {
|
||||
border-left: 0;
|
||||
background-color: inherit;
|
||||
}
|
||||
}
|
||||
@keyframes fadeIt {
|
||||
0% {
|
||||
background-color: #FFFFFF;
|
||||
border-left: 0;
|
||||
}
|
||||
30% { background-color: #d6efd6; }
|
||||
100% { background-color: inherit; }
|
||||
}
|
||||
|
||||
.form-table th {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.rsssl-dashboard-dismiss .close {
|
||||
all: initial;
|
||||
}
|
||||
|
||||
.rsssl-dashboard-dismiss span {
|
||||
font-size: 1.5em;
|
||||
color: black;
|
||||
font-family: sans-serif;
|
||||
img {
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-dashboard-dismiss span:hover {
|
||||
cursor: pointer;
|
||||
color: grey;
|
||||
}
|
||||
|
||||
/* License page */
|
||||
.rsssl-grid .rsssl-item.rsssl-license-grid .item-container {
|
||||
.form-table tbody tr {
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.rsssl-grid-item-footer {
|
||||
input + input {
|
||||
margin-left:20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl_notice_license {
|
||||
|
||||
font-size: 13px !important;
|
||||
border-radius: .25rem;
|
||||
padding: 10px 15px;
|
||||
margin: 10px 0;
|
||||
background-color: #29b6f6;
|
||||
border: 1px solid #29b6f6;
|
||||
color: #fff;
|
||||
|
||||
h1 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 13px !important;
|
||||
}
|
||||
|
||||
&.success {
|
||||
background-color: #dff0d8;
|
||||
border-color: #d0e9c6;
|
||||
color: #3c763d;
|
||||
}
|
||||
|
||||
&.warning {
|
||||
color: #000;
|
||||
background-color: #FBC43D;;
|
||||
border-color: #FBC43D;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: disc;
|
||||
margin-left: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
settings saved
|
||||
*/
|
||||
|
||||
|
||||
.rsssl-container, #rsssl-wizard {
|
||||
.rsssl-settings-saved {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
height: 45px;
|
||||
position: fixed;
|
||||
background-color: #fff;
|
||||
z-index: 999999;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
text-align: left;
|
||||
box-shadow: 0 0 5px 5px rgba(222, 222, 222, 0.2);
|
||||
|
||||
.rsssl-success {
|
||||
color: #61ce70;
|
||||
}
|
||||
|
||||
svg {
|
||||
stroke: #61ce70;
|
||||
fill: #61ce70;
|
||||
}
|
||||
|
||||
.rsssl-settings-saved__text_and_icon {
|
||||
.rsssl-icon {
|
||||
margin: 12px 0 0 0;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
display: flex;
|
||||
align-content: center;
|
||||
padding: 0 20px;
|
||||
|
||||
span {
|
||||
display: flex;
|
||||
align-self: center;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #696969;
|
||||
}
|
||||
|
||||
div {
|
||||
display: flex;
|
||||
align-self: center;
|
||||
}
|
||||
}
|
||||
|
||||
&.rsssl-settings-saved--fade-in {
|
||||
display: block;
|
||||
-webkit-animation: fadeInFromNone 5s ease-in-out;
|
||||
-moz-animation: fadeInFromNone 5s ease-in-out;
|
||||
-o-animation: fadeInFromNone 5s ease-in-out;
|
||||
animation: fadeInFromNone 5s ease-in-out;
|
||||
}
|
||||
|
||||
@-webkit-keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@-o-keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeInFromNone {
|
||||
0% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
|
||||
5% {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
top: -10px;
|
||||
}
|
||||
|
||||
15% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
90% {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
top: 20px;
|
||||
}
|
||||
100% {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1
wp-content/plugins/really-simple-ssl/assets/css/main.min.css
vendored
Normal file
1
wp-content/plugins/really-simple-ssl/assets/css/main.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
135
wp-content/plugins/really-simple-ssl/assets/css/progress.css
Normal file
135
wp-content/plugins/really-simple-ssl/assets/css/progress.css
Normal file
@@ -0,0 +1,135 @@
|
||||
/**move to css variables in time */
|
||||
:root {
|
||||
--rsp-break-xs: 400px;
|
||||
--rsp-break-s: 576px;
|
||||
--rsp-break-m: 768px;
|
||||
--rsp-break-l: 992px;
|
||||
--rsp-break-xl: 1200px;
|
||||
--rsp-break-xxl: 1400px;
|
||||
--rsp-spacing-xs: 10px;
|
||||
--rsp-spacing-s: 15px;
|
||||
--rsp-spacing-m: 20px;
|
||||
--rsp-spacing-l: 30px;
|
||||
--rsp-spacing-xl: 40px;
|
||||
--rsp-grid-margin: var(--rsp-spacing-xs);
|
||||
--rsp-grid-gap: var(--rsp-spacing-m);
|
||||
--rsp-border-radius: 12px;
|
||||
--rsp-border: 1px solid var(--rsp-border-color);
|
||||
--rsp-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
|
||||
--rsp-border-color: #dfdfdf;
|
||||
--rsp-black: #333;
|
||||
--rsp-white: #fff;
|
||||
--rsp-yellow: #f4bf3e;
|
||||
--rsp-blue: #29b6f6;
|
||||
--rsp-dark-blue: #5A6FA5;
|
||||
--rsp-green: #2e8a37;
|
||||
--rsp-red: #D7263D;
|
||||
--rsp-pink: #E35899;
|
||||
--rsp-orange: #f39c12;
|
||||
--rsp-yellow-faded: rgba(244, 191, 62, 0.1);
|
||||
--rsp-blue-faded: rgba(41, 182, 246, 0.1);
|
||||
--rsp-dark-blue-faded: rgba(41, 182, 246, 0.1);
|
||||
--rsp-green-faded: rgba(46, 138, 55, 0.1);
|
||||
--rsp-red-faded: rgba(215, 38, 61, 0.1);
|
||||
--rsp-pink-faded: rgba(227, 88, 153, 0.1);
|
||||
--rsp-orange-faded: rgba(243, 156, 18, 0.1);
|
||||
--rsp-background-block-color: var(--rsp-white);
|
||||
--rsp-background-color: #f0f0f1;
|
||||
--rsp-input-background-color: #F1F1F1;
|
||||
--rsp-input-text-color: var(--rsp-text-color);
|
||||
--rsp-input-border-color: #8c8f94;
|
||||
--rsp-text-color: rgba(26, 26, 26, 0.9);
|
||||
--rsp-text-color-invert: rgba(255, 255, 255, 0.9);
|
||||
--rsp-text-color-white: rgba(255, 255, 255, 0.9);
|
||||
--rsp-text-color-light: rgba(69, 69, 82, 0.9);
|
||||
--rsp-grey-200: #fafafa;
|
||||
--rsp-grey-300: #ededed;
|
||||
--rsp-grey-400: #c6c6c6;
|
||||
--rsp-grey-500: #737373;
|
||||
--rsp-grey-600: #696969;
|
||||
--rsp-color-success: var(--rsp-green);
|
||||
--rsp-color-error: var(--rsp-red);
|
||||
--rsp-color-warning: var(--rsp-orange);
|
||||
--rsp-color-open: var(--rsp-yellow);
|
||||
--rsp-fs-100: 0.6125rem;
|
||||
--rsp-fs-200: 0.625rem;
|
||||
--rsp-fs-300: 0.8125rem;
|
||||
--rsp-fs-400: 0.875rem;
|
||||
--rsp-fs-500: 1rem;
|
||||
--rsp-fs-600: 1.125rem;
|
||||
--rsp-fs-700: 1.25rem;
|
||||
--rsp-fs-800: 1.5rem;
|
||||
--rsp-fs-900: 2.5rem;
|
||||
--rsp-brand-primary: var(--rsp-green);
|
||||
--rsp-brand-secondary: var(--rsp-yellow);
|
||||
--rsp-brand-primary-faded: var(--rsp-green-faded);
|
||||
}
|
||||
.rsssl-progress-block {
|
||||
padding-top: 10px;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress {
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
border-radius: 5px;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress .rsssl-bar {
|
||||
height: 100%;
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress .rsssl-bar.rsssl-orange {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 10px 0;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text .rsssl-task-list {
|
||||
height: 257px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text .rsssl-toggle-active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text #rsssl-all-tasks,
|
||||
.rsssl-progress-block .rsssl-progress-text #rsssl-remaining-tasks {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text .rsssl-tasks-container {
|
||||
border-bottom: 1px solid lightgrey;
|
||||
color: lightgrey;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text .rsssl-tasks-container.active {
|
||||
text-decoration: none;
|
||||
border-bottom: 0;
|
||||
color: initial;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text .rsssl-tasks-inactive {
|
||||
text-decoration: underline;
|
||||
color: lightgrey;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text .rsssl-progress-percentage {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text .rsssl-progress-text {
|
||||
margin-left: 35px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-text .rsssl-progress-text a {
|
||||
margin-left: 3px;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-table tr {
|
||||
position: relative;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-table td {
|
||||
padding: 10px 10px 10px 0;
|
||||
}
|
||||
.rsssl-progress-block .rsssl-progress-table td + td {
|
||||
padding-left: 15px;
|
||||
}
|
||||
/*# sourceMappingURL=progress.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["variables.less","progress.less"],"names":[],"mappings":";AA2DA;EAEE,qBAAA;EACA,oBAAA;EACA,oBAAA;EACA,oBAAA;EACA,sBAAA;EACA,uBAAA;EAGA,sBAAA;EACA,qBAAA;EACA,qBAAA;EACA,qBAAA;EACA,sBAAA;EAGA,mBAAmB,qBAAnB;EACA,gBAAgB,oBAAhB;EAGA,yBAAA;EACA,wBAAwB,uBAAxB;EACA,2FAAA;EACA,2BAAA;EAGA,iBAAA;EACA,iBAAA;EACA,qBAAA;EACA,mBAAA;EACA,wBAAA;EACA,oBAAA;EACA,kBAAA;EACA,mBAAA;EACA,qBAAA;EAEA,2CAAA;EACA,yCAAA;EACA,8CAAA;EACA,yCAAA;EACA,uCAAA;EACA,yCAAA;EACA,2CAAA;EAEA,8BAA8B,gBAA9B;EACA,+BAAA;EAGA,qCAAA;EACA,wBAAwB,qBAAxB;EACA,iCAAA;EAEA,uCAAA;EACA,iDAAA;EACA,gDAAA;EACA,6CAAA;EAEA,uBAAA;EACA,uBAAA;EACA,uBAAA;EACA,uBAAA;EACA,uBAAA;EAGA,qBAAqB,gBAArB;EACA,mBAAmB,cAAnB;EACA,qBAAqB,iBAArB;EACA,kBAAkB,iBAAlB;EAGA,uBAAA;EACA,sBAAA;EACA,uBAAA;EACA,sBAAA;EACA,kBAAA;EACA,sBAAA;EACA,qBAAA;EACA,oBAAA;EACA,oBAAA;EAGA,qBAAqB,gBAArB;EACA,uBAAuB,iBAAvB;EACA,2BAA2B,sBAA3B;;AC7IF;EACE,iBAAA;;AADF,qBAEE;EACE,gBAAA;EACA,YAAA;EACA,kBAAA;EACA,yBAAA;;AANJ,qBAEE,gBAKE;EACE,YAAA;EACA,yBAAA;;AACA,qBARJ,gBAKE,WAGG;EACC,yBAAA;;AAXR,qBAgBE;EACE,aAAA;EACA,mBAAA;EACA,cAAA;EACA,iBAAA;EACA,oBAAA;;AArBJ,qBAgBE,qBAOE;EACE,aAAA;EACA,gBAAA;;AAzBN,qBAgBE,qBAYE;EACE,0BAAA;;AA7BN,qBAgBE,qBAgBE;AAhCJ,qBAgBE,qBAgBoB;EAChB,aAAA;;AAjCN,qBAgBE,qBAoBE;EACE,kCAAA;EACA,gBAAA;;AACA,qBAvBJ,qBAoBE,uBAGG;EACC,qBAAA;EACA,gBAAA;EACA,cAAA;;AA1CR,qBAgBE,qBA+BE;EACE,0BAAA;EACA,gBAAA;;AAjDN,qBAgBE,qBAoCE;EACE,eAAA;EACA,gBAAA;;AAtDN,qBAgBE,qBAyCE;EACE,iBAAA;EACA,eAAA;EACA,gBAAA;;AA5DN,qBAgBE,qBAyCE,qBAIE;EACE,gBAAA;;AA9DR,qBAmEE,sBACE;EACE,kBAAA;;AArEN,qBAmEE,sBAIE;EACE,yBAAA;;AAxEN,qBAmEE,sBAOE,GAAG;EAAK,kBAAA","file":"progress.css"}
|
||||
101
wp-content/plugins/really-simple-ssl/assets/css/progress.less
Normal file
101
wp-content/plugins/really-simple-ssl/assets/css/progress.less
Normal file
@@ -0,0 +1,101 @@
|
||||
@import "variables.less";
|
||||
|
||||
.rsssl-progress-block {
|
||||
padding-top: 10px;
|
||||
.rsssl-progress {
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
border-radius: 5px;
|
||||
background-color: #f7f7f7;
|
||||
.rsssl-bar {
|
||||
height: 100%;
|
||||
background-color: @color-success;
|
||||
&.rsssl-orange {
|
||||
background-color: @color_open;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-progress-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 10px 0;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
|
||||
.rsssl-progress-percentage {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.rsssl-progress-text {
|
||||
margin-left: 35px;
|
||||
font-size:18px;
|
||||
font-weight:600;
|
||||
a {
|
||||
margin-left: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.rsssl-header-html {
|
||||
display: flex;
|
||||
color: @light-text-color;
|
||||
.rsssl-toggle-active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-task-control-container {
|
||||
display:flex;
|
||||
label {
|
||||
margin:0 5px;
|
||||
border-bottom:1px solid lightgrey;
|
||||
color: lightgrey;
|
||||
}
|
||||
&.rsssl-active-filter-remaining .rsssl-remaining-tasks label {
|
||||
text-decoration: none;
|
||||
border-bottom:0;
|
||||
color:initial;
|
||||
}
|
||||
&.rsssl-active-filter-all .rsssl-all-tasks label {
|
||||
text-decoration: none;
|
||||
border-bottom:0;
|
||||
color:initial;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Task element, list of tasks
|
||||
*/
|
||||
|
||||
.rsssl-task-element {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: var(--rsp-spacing-m);
|
||||
padding-bottom: var(--rsp-spacing-s);
|
||||
.rsssl-task-message {
|
||||
flex:1;
|
||||
}
|
||||
.rsssl-task-dismiss {
|
||||
button {
|
||||
all:initial; //remove default button styles
|
||||
}
|
||||
span {
|
||||
font-size: 1.5em;
|
||||
color: black;
|
||||
font-family: sans-serif;
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
color: grey;
|
||||
}
|
||||
svg {
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1
wp-content/plugins/really-simple-ssl/assets/css/progress.min.css
vendored
Normal file
1
wp-content/plugins/really-simple-ssl/assets/css/progress.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
:root{--rsp-break-xs:400px;--rsp-break-s:576px;--rsp-break-m:768px;--rsp-break-l:992px;--rsp-break-xl:1200px;--rsp-break-xxl:1400px;--rsp-spacing-xs:10px;--rsp-spacing-s:15px;--rsp-spacing-m:20px;--rsp-spacing-l:30px;--rsp-spacing-xl:40px;--rsp-grid-margin:var(--rsp-spacing-xs);--rsp-grid-gap:var(--rsp-spacing-m);--rsp-border-radius:12px;--rsp-border:1px solid var(--rsp-border-color);--rsp-box-shadow:rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;--rsp-border-color:#dfdfdf;--rsp-black:#333;--rsp-white:#fff;--rsp-yellow:#f4bf3e;--rsp-blue:#29b6f6;--rsp-dark-blue:#5A6FA5;--rsp-green:#2e8a37;--rsp-red:#D7263D;--rsp-pink:#E35899;--rsp-orange:#f39c12;--rsp-yellow-faded:rgba(244, 191, 62, 0.1);--rsp-blue-faded:rgba(41, 182, 246, 0.1);--rsp-dark-blue-faded:rgba(41, 182, 246, 0.1);--rsp-green-faded:rgba(46, 138, 55, 0.1);--rsp-red-faded:rgba(215, 38, 61, 0.1);--rsp-pink-faded:rgba(227, 88, 153, 0.1);--rsp-orange-faded:rgba(243, 156, 18, 0.1);--rsp-background-block-color:var(--rsp-white);--rsp-background-color:#f0f0f1;--rsp-input-background-color:#F1F1F1;--rsp-input-text-color:var(--rsp-text-color);--rsp-input-border-color:#8c8f94;--rsp-text-color:rgba(26, 26, 26, 0.9);--rsp-text-color-invert:rgba(255, 255, 255, 0.9);--rsp-text-color-white:rgba(255, 255, 255, 0.9);--rsp-text-color-light:rgba(69, 69, 82, 0.9);--rsp-grey-200:#fafafa;--rsp-grey-300:#ededed;--rsp-grey-400:#c6c6c6;--rsp-grey-500:#737373;--rsp-grey-600:#696969;--rsp-color-success:var(--rsp-green);--rsp-color-error:var(--rsp-red);--rsp-color-warning:var(--rsp-orange);--rsp-color-open:var(--rsp-yellow);--rsp-fs-100:0.6125rem;--rsp-fs-200:0.625rem;--rsp-fs-300:0.8125rem;--rsp-fs-400:0.875rem;--rsp-fs-500:1rem;--rsp-fs-600:1.125rem;--rsp-fs-700:1.25rem;--rsp-fs-800:1.5rem;--rsp-fs-900:2.5rem;--rsp-brand-primary:var(--rsp-green);--rsp-brand-secondary:var(--rsp-yellow);--rsp-brand-primary-faded:var(--rsp-green-faded)}.rsssl-progress-block{padding-top:10px}.rsssl-progress-block .rsssl-progress{overflow:hidden;height:20px;border-radius:5px;background-color:#f7f7f7}.rsssl-progress-block .rsssl-progress .rsssl-bar{height:100%;background-color:#61ce70}.rsssl-progress-block .rsssl-progress .rsssl-bar.rsssl-orange{background-color:#fbc43d}.rsssl-progress-block .rsssl-progress-text{display:flex;align-items:center;margin:10px 0;padding-top:10px;padding-bottom:10px}.rsssl-progress-block .rsssl-progress-text .rsssl-task-list{height:257px;overflow:hidden}.rsssl-progress-block .rsssl-progress-text .rsssl-toggle-active{text-decoration:underline}.rsssl-progress-block .rsssl-progress-text #rsssl-all-tasks,.rsssl-progress-block .rsssl-progress-text #rsssl-remaining-tasks{display:none}.rsssl-progress-block .rsssl-progress-text .rsssl-tasks-container{border-bottom:1px solid #d3d3d3;color:#d3d3d3}.rsssl-progress-block .rsssl-progress-text .rsssl-tasks-container.active{text-decoration:none;border-bottom:0;color:initial}.rsssl-progress-block .rsssl-progress-text .rsssl-tasks-inactive{text-decoration:underline;color:#d3d3d3}.rsssl-progress-block .rsssl-progress-text .rsssl-progress-percentage{font-size:32px;font-weight:700}.rsssl-progress-block .rsssl-progress-text .rsssl-progress-text{margin-left:35px;font-size:18px;font-weight:600}.rsssl-progress-block .rsssl-progress-text .rsssl-progress-text a{margin-left:3px}.rsssl-progress-block .rsssl-progress-table tr{position:relative}.rsssl-progress-block .rsssl-progress-table td{padding:10px 10px 10px 0}.rsssl-progress-block .rsssl-progress-table td+td{padding-left:15px}
|
||||
210
wp-content/plugins/really-simple-ssl/assets/css/tooltips.less
Normal file
210
wp-content/plugins/really-simple-ssl/assets/css/tooltips.less
Normal file
@@ -0,0 +1,210 @@
|
||||
/* rsssl-rsssl-tooltip for settings page */
|
||||
/* Base styles for the element that has a rsssl-tooltip */
|
||||
[data-rsssl-tooltip],
|
||||
.rsssl-tooltip {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Base styles for the entire tooltip */
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip:after {
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
-webkit-transition:
|
||||
opacity 0.2s ease-in-out,
|
||||
visibility 0.2s ease-in-out,
|
||||
-webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-moz-transition:
|
||||
opacity 0.2s ease-in-out,
|
||||
visibility 0.2s ease-in-out,
|
||||
-moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
transition:
|
||||
opacity 0.2s ease-in-out,
|
||||
visibility 0.2s ease-in-out,
|
||||
transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Show the entire rsssl-tooltip on hover and focus */
|
||||
[data-rsssl-tooltip]:hover:before,
|
||||
[data-rsssl-tooltip]:hover:after,
|
||||
[data-rsssl-tooltip]:focus:before,
|
||||
[data-rsssl-tooltip]:focus:after,
|
||||
.rsssl-tooltip:hover:before,
|
||||
.rsssl-tooltip:hover:after,
|
||||
.rsssl-tooltip:focus:before,
|
||||
.rsssl-tooltip:focus:after {
|
||||
visibility: visible;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Base styles for the rsssl-tooltip's directional arrow */
|
||||
.rsssl-tooltip:before,
|
||||
[data-rsssl-tooltip]:before {
|
||||
z-index: 1001;
|
||||
border: 6px solid transparent;
|
||||
background: transparent;
|
||||
content: "";
|
||||
}
|
||||
|
||||
/* Base styles for the rsssl-tooltip's content area */
|
||||
.rsssl-tooltip:after,
|
||||
[data-rsssl-tooltip]:after {
|
||||
z-index: 1000;
|
||||
padding: 8px;
|
||||
width: 220px;
|
||||
background-color: #000;
|
||||
background-color: hsla(0, 0%, 20%, 0.9);
|
||||
color: #fff;
|
||||
content: attr(data-rsssl-tooltip);
|
||||
font-size: 14px;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
/* Directions */
|
||||
|
||||
/* Top (default) */
|
||||
.rsssl-tooltip-right {
|
||||
font-weight:normal;
|
||||
}
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip:after,
|
||||
.rsssl-tooltip-top:before,
|
||||
.rsssl-tooltip-top:after {
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
[data-rsssl-tooltip]:before,
|
||||
.rsssl-tooltip:before,
|
||||
.rsssl-tooltip-top:before {
|
||||
margin-left: -6px;
|
||||
margin-bottom: -12px;
|
||||
border-top-color: #000;
|
||||
border-top-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
|
||||
/* Horizontally align top/bottom rsssl-tooltips */
|
||||
[data-rsssl-tooltip]:after,
|
||||
.rsssl-tooltip:after,
|
||||
.rsssl-tooltip-top:after {
|
||||
margin-left: -80px;
|
||||
}
|
||||
|
||||
[data-rsssl-tooltip]:hover:before,
|
||||
[data-rsssl-tooltip]:hover:after,
|
||||
[data-rsssl-tooltip]:focus:before,
|
||||
[data-rsssl-tooltip]:focus:after,
|
||||
.rsssl-tooltip:hover:before,
|
||||
.rsssl-tooltip:hover:after,
|
||||
.rsssl-tooltip:focus:before,
|
||||
.rsssl-tooltip:focus:after,
|
||||
.rsssl-tooltip-top:hover:before,
|
||||
.rsssl-tooltip-top:hover:after,
|
||||
.rsssl-tooltip-top:focus:before,
|
||||
.rsssl-tooltip-top:focus:after {
|
||||
-webkit-transform: translateY(-12px);
|
||||
-moz-transform: translateY(-12px);
|
||||
transform: translateY(-12px);
|
||||
}
|
||||
|
||||
/* Left */
|
||||
.rsssl-tooltip-left:before,
|
||||
.rsssl-tooltip-left:after {
|
||||
right: 100%;
|
||||
/*bottom: 50%;*/
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.rsssl-tooltip-left:before {
|
||||
margin-left: 0;
|
||||
margin-right: -12px;
|
||||
margin-bottom: 0;
|
||||
border-top-color: transparent;
|
||||
border-left-color: #000;
|
||||
border-left-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
|
||||
.rsssl-tooltip-left:hover:before,
|
||||
.rsssl-tooltip-left:hover:after,
|
||||
.rsssl-tooltip-left:focus:before,
|
||||
.rsssl-tooltip-left:focus:after {
|
||||
-webkit-transform: translateX(-12px);
|
||||
-moz-transform: translateX(-12px);
|
||||
transform: translateX(-12px);
|
||||
}
|
||||
|
||||
/* Bottom */
|
||||
.rsssl-tooltip-bottom:before,
|
||||
.rsssl-tooltip-bottom:after {
|
||||
top: 100%;
|
||||
bottom: auto;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
.rsssl-tooltip-bottom:before {
|
||||
margin-top: -12px;
|
||||
margin-bottom: 0;
|
||||
border-top-color: transparent;
|
||||
border-bottom-color: #000;
|
||||
border-bottom-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
|
||||
.rsssl-tooltip-bottom:hover:before,
|
||||
.rsssl-tooltip-bottom:hover:after,
|
||||
.rsssl-tooltip-bottom:focus:before,
|
||||
.rsssl-tooltip-bottom:focus:after {
|
||||
-webkit-transform: translateY(12px);
|
||||
-moz-transform: translateY(12px);
|
||||
transform: translateY(12px);
|
||||
}
|
||||
|
||||
/* Right */
|
||||
.rsssl-tooltip-right:before,
|
||||
.rsssl-tooltip-right:after {
|
||||
bottom: 50%;
|
||||
left: 100%;
|
||||
}
|
||||
|
||||
.rsssl-tooltip-right:before {
|
||||
margin-bottom: 0;
|
||||
margin-left: -12px;
|
||||
border-top-color: transparent;
|
||||
border-right-color: #000;
|
||||
border-right-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
|
||||
.rsssl-tooltip-right:hover:before,
|
||||
.rsssl-tooltip-right:hover:after,
|
||||
.rsssl-tooltip-right:focus:before,
|
||||
.rsssl-tooltip-right:focus:after {
|
||||
-webkit-transform: translateX(12px);
|
||||
-moz-transform: translateX(12px);
|
||||
transform: translateX(12px);
|
||||
}
|
||||
|
||||
/* Move directional arrows down a bit for left/right rsssl-tooltips */
|
||||
.rsssl-tooltip-left:before,
|
||||
.rsssl-tooltip-right:before {
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
/* Vertically center rsssl-tooltip content for left/right rsssl-tooltips */
|
||||
.rsssl-tooltip-left:after,
|
||||
.rsssl-tooltip-right:after {
|
||||
margin-left: 0;
|
||||
margin-bottom: -25px;
|
||||
}
|
||||
127
wp-content/plugins/really-simple-ssl/assets/css/variables.less
Normal file
127
wp-content/plugins/really-simple-ssl/assets/css/variables.less
Normal file
@@ -0,0 +1,127 @@
|
||||
|
||||
// Margins, Paddings and Border Radius
|
||||
@small-margin: 10px;
|
||||
@default-margin: 15px;
|
||||
@big-margin: 30px;
|
||||
@grid-margin:10px;
|
||||
@default-padding: 20px;
|
||||
@border-radius: 25px;
|
||||
|
||||
// RSP Brand Colors
|
||||
@rsp-black: #333;
|
||||
@rsp-yellow: #f8be2e;
|
||||
@rsp-blue: #29b6f6;
|
||||
@rsp-green: #61ce70;
|
||||
@rsp-red: #D7263D;
|
||||
@rsp-pink: #E366A1;
|
||||
@rsp-orange: #f39c12;
|
||||
@box_shadow_color: #dedede;
|
||||
@light-text-color: #3c3c3c;
|
||||
|
||||
// Colors
|
||||
@brand-primary: @rsp-blue;
|
||||
@brand-secondary: @color-success;
|
||||
|
||||
// Notification colors
|
||||
@color-success: #61ce70;
|
||||
@color-disabled: #d7d7d7;
|
||||
@color-warning: @rsp-red;
|
||||
@color-open: @rsp-yellow; //#f8be2e; //#FBC43D
|
||||
|
||||
//Input colors
|
||||
@input-background-color: #F1F1F1;
|
||||
@input-border-color: #dedede;
|
||||
|
||||
@grey: #c6c6c6;
|
||||
@grey-light: #eeeeee;
|
||||
@grey-dark: #888;
|
||||
@grey-lighter: #fafafa;
|
||||
|
||||
/**move to css variables in time */
|
||||
:root {
|
||||
// Break points
|
||||
--rsp-break-xs: 400px;
|
||||
--rsp-break-s: 576px;
|
||||
--rsp-break-m: 768px;
|
||||
--rsp-break-l: 992px;
|
||||
--rsp-break-xl: 1200px;
|
||||
--rsp-break-xxl: 1400px;
|
||||
|
||||
// Margins, Paddings and Border Radius
|
||||
--rsp-spacing-xs: 10px;
|
||||
--rsp-spacing-s: 15px;
|
||||
--rsp-spacing-m: 20px;
|
||||
--rsp-spacing-l: 30px;
|
||||
--rsp-spacing-xl: 40px;
|
||||
|
||||
// Grid settings
|
||||
--rsp-grid-margin: var(--rsp-spacing-xs);
|
||||
--rsp-grid-gap: var(--rsp-spacing-m);
|
||||
|
||||
// Borders and stuff
|
||||
--rsp-border-radius: 12px;
|
||||
--rsp-border: 1px solid var(--rsp-border-color);
|
||||
--rsp-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
|
||||
--rsp-border-color: #dfdfdf;
|
||||
|
||||
// RSP Brand Colors
|
||||
--rsp-black: #333;
|
||||
--rsp-white: #fff;
|
||||
--rsp-yellow: #f4bf3e;
|
||||
--rsp-blue: #29b6f6;
|
||||
--rsp-dark-blue: #5A6FA5;
|
||||
--rsp-green: #2e8a37;
|
||||
--rsp-red: #D7263D;
|
||||
--rsp-pink: #E35899;
|
||||
--rsp-orange: #f39c12;
|
||||
|
||||
--rsp-yellow-faded: fade(#f4bf3e, 10%);
|
||||
--rsp-blue-faded: fade(#29b6f6, 10%);
|
||||
--rsp-dark-blue-faded: fade(#29b6f6, 10%);
|
||||
--rsp-green-faded: fade(#2e8a37, 10%);
|
||||
--rsp-red-faded: fade(#D7263D, 10%);
|
||||
--rsp-pink-faded: fade(#E35899, 10%);
|
||||
--rsp-orange-faded: fade(#f39c12, 10%);
|
||||
|
||||
--rsp-background-block-color: var(--rsp-white);
|
||||
--rsp-background-color: #f0f0f1; //#f0f0f1 is the default wordpress bg color
|
||||
|
||||
//Input colors
|
||||
--rsp-input-background-color: #F1F1F1;
|
||||
--rsp-input-text-color: var(--rsp-text-color);
|
||||
--rsp-input-border-color: #8c8f94;
|
||||
|
||||
--rsp-text-color: rgba(26, 26, 26, 0.9);
|
||||
--rsp-text-color-invert: rgba(255, 255, 255, 0.9);
|
||||
--rsp-text-color-white: rgba(255, 255, 255, 0.9);
|
||||
--rsp-text-color-light: rgba(69, 69, 82, 0.9);
|
||||
|
||||
--rsp-grey-200: #fafafa;
|
||||
--rsp-grey-300: #ededed;
|
||||
--rsp-grey-400: #c6c6c6;
|
||||
--rsp-grey-500: #737373;
|
||||
--rsp-grey-600: #696969;
|
||||
|
||||
// Notification colors
|
||||
--rsp-color-success: var(--rsp-green);
|
||||
--rsp-color-error: var(--rsp-red);
|
||||
--rsp-color-warning: var(--rsp-orange);
|
||||
--rsp-color-open: var(--rsp-yellow);
|
||||
|
||||
// Font sizes
|
||||
--rsp-fs-100: 0.6125rem;
|
||||
--rsp-fs-200: 0.625rem;
|
||||
--rsp-fs-300: 0.8125rem;
|
||||
--rsp-fs-400: 0.875rem;
|
||||
--rsp-fs-500: 1rem;
|
||||
--rsp-fs-600: 1.125rem;
|
||||
--rsp-fs-700: 1.25rem;
|
||||
--rsp-fs-800: 1.5rem;
|
||||
--rsp-fs-900: 2.5rem;
|
||||
|
||||
// Plugin specific variables down here please
|
||||
--rsp-brand-primary: var(--rsp-green);
|
||||
--rsp-brand-secondary: var(--rsp-yellow);
|
||||
--rsp-brand-primary-faded: var(--rsp-green-faded);
|
||||
}
|
||||
|
||||
0
wp-content/plugins/really-simple-ssl/assets/css/variables.min.css
vendored
Normal file
0
wp-content/plugins/really-simple-ssl/assets/css/variables.min.css
vendored
Normal file
95
wp-content/plugins/really-simple-ssl/assets/css/wcag.css
Normal file
95
wp-content/plugins/really-simple-ssl/assets/css/wcag.css
Normal file
@@ -0,0 +1,95 @@
|
||||
.rsssl-high-contrast {
|
||||
/**
|
||||
Let's Encrypt
|
||||
*/
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-success,
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-warning,
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-premium,
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-open {
|
||||
background-color: black !important;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-wizard-progress-bar-value {
|
||||
background: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-icon.rsssl-success {
|
||||
color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-icon.rsssl-success svg {
|
||||
stroke: black !important;
|
||||
fill: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-warning-wrap .rsssl-notice {
|
||||
color: white !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-warning-wrap .rsssl-warning {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .progress .bar {
|
||||
background-color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-notice a {
|
||||
color: white !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl.progress {
|
||||
background-color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-save-settings-feedback {
|
||||
color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .nav-tab-active {
|
||||
border-bottom: 2px solid black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-update-count {
|
||||
background-color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .paginate_button.current {
|
||||
background-color: black !important;
|
||||
color: white;
|
||||
border: 1px solid black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-tasks {
|
||||
color: black !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-close-warning-x {
|
||||
color: black;
|
||||
}
|
||||
.rsssl-high-contrast .update-count {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-bullet:hover {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .button-rsssl-primary,
|
||||
.rsssl-high-contrast .button-primary,
|
||||
.rsssl-high-contrast .button-secondary,
|
||||
.rsssl-high-contrast .button-rsssl-secondary,
|
||||
.rsssl-high-contrast .button-rsssl-tertiary,
|
||||
.rsssl-high-contrast .revoke-from-csp,
|
||||
.rsssl-high-contrast .button-default {
|
||||
background-color: black !important;
|
||||
border-color: black !important;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-high-contrast .button:hover {
|
||||
color: white;
|
||||
}
|
||||
.rsssl-high-contrast input:checked + .rsssl-slider {
|
||||
background-color: black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-modal,
|
||||
.rsssl-high-contrast .rsssl-help-modal h2 {
|
||||
background-color: black !important;
|
||||
color: white !important;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-help-modal.rsssl-notice:after {
|
||||
border-right: 15px solid black;
|
||||
}
|
||||
.rsssl-high-contrast .rsssl-priority {
|
||||
border: 1px solid white !important;
|
||||
}
|
||||
/*# sourceMappingURL=wcag.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["wcag.less"],"names":[],"mappings":"AAGA;;;;;AAAA,oBACE,uBAAsB;AADxB,oBACwC,uBAAsB;AAD9D,oBAC8E,uBAAsB;AADpG,oBACoH,uBAAsB;EACtI,uBAAA;EACA,YAAA;;AAHJ,oBAME;EACE,iBAAA;;AAPJ,oBAUE,YAAW;EACT,YAAA;;AAXJ,oBAaE,YAAW,cAAe;EACtB,aAAA;EACA,WAAA;;AAfN,oBAkBE,yBACE;EACE,YAAA;;AApBN,oBAkBE,yBAIE;EACE,uBAAA;;AAvBN,oBA2BE,UAAU;EACR,uBAAA;;AA5BJ,oBA+BE,cAAc;EACZ,YAAA;;AAhCJ,oBAmCE,OAAM;EACJ,uBAAA;;AApCJ,oBAuCE,sCAAqC;EACnC,uBAAA;;AAxCJ,oBAiDE;EACE,YAAA;;AAlDJ,oBAqDE;EACE,8BAAA;;AAtDJ,oBAyDE;EACE,uBAAA;;AA1DJ,oBA6DE,iBAAgB;EACd,uBAAA;EACA,YAAA;EACA,uBAAA;;AAhEJ,oBAmEE;EACE,YAAA;;AApEJ,oBAuEE;EACE,YAAA;;AAxEJ,oBA2EE;EACE,uBAAA;;AA5EJ,oBA+EE,cAAa;EACX,uBAAA;;AAhFJ,oBAmFE;AAnFF,oBAmFyB;AAnFzB,oBAmF0C;AAnF1C,oBAmF6D;AAnF7D,oBAmFsF;AAnFtF,oBAmF8G;AAnF9G,oBAmFgI;EAC5H,uBAAA;EACA,mBAAA;EACA,YAAA;;AAtFJ,oBAyFE,QAAO;EACL,YAAA;;AA1FJ,oBA6FE,MAAK,QAAS;EACZ,uBAAA;;AA9FJ,oBAqGE;AArGF,oBAqGqB,kBAAkB;EACnC,uBAAA;EACA,YAAA;;AAvGJ,oBA0GE,kBAAiB,aAAa;EAC5B,8BAAA;;AA3GJ,oBA8GE;EACE,uBAAA","file":"wcag.css"}
|
||||
118
wp-content/plugins/really-simple-ssl/assets/css/wcag.less
Normal file
118
wp-content/plugins/really-simple-ssl/assets/css/wcag.less
Normal file
@@ -0,0 +1,118 @@
|
||||
@black: black;
|
||||
@white: white;
|
||||
|
||||
.rsssl-high-contrast {
|
||||
.rsssl-progress-status.rsssl-success, .rsssl-progress-status.rsssl-warning, .rsssl-progress-status.rsssl-premium, .rsssl-progress-status.rsssl-open {
|
||||
background-color: @black !important;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
.rsssl-wizard-progress-bar-value {
|
||||
background: @black !important;
|
||||
}
|
||||
|
||||
.rsssl-icon.rsssl-success {
|
||||
color: @black !important;
|
||||
}
|
||||
.rsssl-icon.rsssl-success svg {
|
||||
stroke: @black !important;
|
||||
fill: @black !important;
|
||||
}
|
||||
|
||||
.rsssl-help-warning-wrap {
|
||||
.rsssl-notice {
|
||||
color: @white !important;
|
||||
}
|
||||
.rsssl-warning {
|
||||
background-color: @black;
|
||||
}
|
||||
}
|
||||
|
||||
.progress .bar {
|
||||
background-color: @black !important;
|
||||
}
|
||||
|
||||
.rsssl-notice a {
|
||||
color: @white !important;
|
||||
}
|
||||
|
||||
.rsssl.progress {
|
||||
background-color: @black !important;
|
||||
}
|
||||
|
||||
.select2-results__option--highlighted[aria-selected] {
|
||||
background-color: @black;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.rsssl-dot-success {
|
||||
//background-color: @black !important;
|
||||
}
|
||||
|
||||
.rsssl-save-settings-feedback {
|
||||
color: @black !important;
|
||||
}
|
||||
|
||||
.nav-tab-active {
|
||||
border-bottom: 2px solid @black !important;
|
||||
}
|
||||
|
||||
.rsssl-update-count {
|
||||
background-color: @black !important;
|
||||
}
|
||||
|
||||
.paginate_button.current {
|
||||
background-color: @black !important;
|
||||
color: @white;
|
||||
border: 1px solid @black;
|
||||
}
|
||||
|
||||
.rsssl-tasks {
|
||||
color: @black !important;
|
||||
}
|
||||
|
||||
.rsssl-close-warning-x {
|
||||
color: @black;
|
||||
}
|
||||
|
||||
.update-count {
|
||||
background-color: @black;
|
||||
}
|
||||
|
||||
.rsssl-bullet:hover {
|
||||
background-color: @black;
|
||||
}
|
||||
|
||||
.button-rsssl-primary, .button-primary, .button-secondary, .button-rsssl-secondary, .button-rsssl-tertiary, .revoke-from-csp, .button-default {
|
||||
background-color: @black !important;
|
||||
border-color: @black !important;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
color: @white;
|
||||
}
|
||||
|
||||
input:checked + .rsssl-slider {
|
||||
background-color: @black;
|
||||
}
|
||||
|
||||
/**
|
||||
Let's Encrypt
|
||||
*/
|
||||
|
||||
.rsssl-help-modal, .rsssl-help-modal h2 {
|
||||
background-color: @black !important;
|
||||
color: @white !important;
|
||||
}
|
||||
|
||||
.rsssl-help-modal.rsssl-notice:after {
|
||||
border-right: 15px solid @black;
|
||||
}
|
||||
|
||||
.rsssl-priority {
|
||||
border: 1px solid @white !important;
|
||||
}
|
||||
|
||||
}
|
||||
1
wp-content/plugins/really-simple-ssl/assets/css/wcag.min.css
vendored
Normal file
1
wp-content/plugins/really-simple-ssl/assets/css/wcag.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.rsssl-high-contrast .rsssl-progress-status.rsssl-open,.rsssl-high-contrast .rsssl-progress-status.rsssl-premium,.rsssl-high-contrast .rsssl-progress-status.rsssl-success,.rsssl-high-contrast .rsssl-progress-status.rsssl-warning{background-color:#000!important;color:#fff}.rsssl-high-contrast .rsssl-wizard-progress-bar-value{background:#000!important}.rsssl-high-contrast .rsssl-icon.rsssl-success,.rsssl-high-contrast .rsssl-save-settings-feedback{color:#000!important}.rsssl-high-contrast .rsssl-icon.rsssl-success svg{stroke:#000!important;fill:#000!important}.rsssl-high-contrast .rsssl-help-warning-wrap .rsssl-notice,.rsssl-high-contrast .rsssl-notice a{color:#fff!important}.rsssl-high-contrast .rsssl-help-warning-wrap .rsssl-warning{background-color:#000}.rsssl-high-contrast .progress .bar,.rsssl-high-contrast .rsssl.progress{background-color:#000!important}.rsssl-high-contrast .select2-results__option--highlighted[aria-selected]{background-color:#000}.rsssl-high-contrast .nav-tab-active{border-bottom:2px solid #000!important}.rsssl-high-contrast .rsssl-update-count{background-color:#000!important}.rsssl-high-contrast .paginate_button.current{background-color:#000!important;color:#fff;border:1px solid #000}.rsssl-high-contrast .rsssl-tasks{color:#000!important}.rsssl-high-contrast .rsssl-close-warning-x{color:#000}.rsssl-high-contrast .rsssl-bullet:hover,.rsssl-high-contrast .update-count{background-color:#000}.rsssl-high-contrast .button-default,.rsssl-high-contrast .button-primary,.rsssl-high-contrast .button-rsssl-primary,.rsssl-high-contrast .button-rsssl-secondary,.rsssl-high-contrast .button-rsssl-tertiary,.rsssl-high-contrast .button-secondary,.rsssl-high-contrast .revoke-from-csp{background-color:#000!important;border-color:#000!important;color:#fff}.rsssl-high-contrast .button:hover{color:#fff}.rsssl-high-contrast input:checked+.rsssl-slider{background-color:#000}.rsssl-high-contrast .rsssl-help-modal,.rsssl-high-contrast .rsssl-help-modal h2{background-color:#000!important;color:#fff!important}.rsssl-high-contrast .rsssl-help-modal.rsssl-notice:after{border-right:15px solid #000}.rsssl-high-contrast .rsssl-priority{border:1px solid #fff!important}
|
||||
BIN
wp-content/plugins/really-simple-ssl/assets/icon-128x128.png
Normal file
BIN
wp-content/plugins/really-simple-ssl/assets/icon-128x128.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.6 KiB |
160
wp-content/plugins/really-simple-ssl/assets/js/scripts.js
Normal file
160
wp-content/plugins/really-simple-ssl/assets/js/scripts.js
Normal file
@@ -0,0 +1,160 @@
|
||||
jQuery(document).ready(function ($) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Highlight JS
|
||||
*/
|
||||
var sPageURL = window.location.href;
|
||||
var queryString = sPageURL.split('?');
|
||||
if (queryString.length === 1) return false;
|
||||
var setting_name = '';
|
||||
var rsssl_variables = queryString[1].split('&');
|
||||
for (var key in rsssl_variables) {
|
||||
if (rsssl_variables.hasOwnProperty(key)) {
|
||||
var output = rsssl_variables[key].split('=');
|
||||
if (output[0]==='highlight') {
|
||||
setting_name = output[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(setting_name !== '' && $('#rsssl-maybe-highlight-' + setting_name).length) {
|
||||
var tr_element = $('#rsssl-maybe-highlight-' + setting_name).closest('tr');
|
||||
$([document.documentElement, document.body]).animate({
|
||||
scrollTop: tr_element.offset().top
|
||||
}, 1000);
|
||||
tr_element.addClass('rsssl-highlight');
|
||||
}
|
||||
|
||||
$(document).on('click','.rsssl-slider',function () {
|
||||
rssslSaveChangesNotice($(this));
|
||||
});
|
||||
$(document).on('click','.rsssl-container .rsssl-grid-item-content input',function () {
|
||||
rssslSaveChangesNotice($(this));
|
||||
});
|
||||
$(document).on('change','.rsssl-container .rsssl-grid-item-content input',function () {
|
||||
rssslSaveChangesNotice($(this));
|
||||
});
|
||||
$(document).on('change','.rsssl-container select',function () {
|
||||
rssslSaveChangesNotice($(this));
|
||||
});
|
||||
$('.rsssl-button-save').prop('disabled', true);
|
||||
|
||||
function rssslSaveChangesNotice(obj){
|
||||
obj.closest('.rsssl-item').find('.rsssl-save-settings-feedback').fadeIn();
|
||||
obj.closest('.rsssl-item').find('.rsssl-button-save').prop('disabled', false);
|
||||
}
|
||||
|
||||
// Color bullet in support forum block
|
||||
$(".rsssl-support-forums a").hover(function() {
|
||||
$(this).find('.rsssl-bullet').css("background-color","#FBC43D");
|
||||
}, function() {
|
||||
$(this).find('.rsssl-bullet').css("background-color",""); //to remove property set it to ''
|
||||
});
|
||||
|
||||
$(document).on('click', "#rsssl-remaining-tasks", function (e) {
|
||||
if ($('#rsssl-all-tasks').is(":checked")) {
|
||||
$('#rsssl-all-tasks').prop("checked", false);
|
||||
}
|
||||
update_task_toggle_option();
|
||||
});
|
||||
|
||||
$(document).on('click', "#rsssl-all-tasks", function (e) {
|
||||
if ($('#rsssl-remaining-tasks').is(":checked")) {
|
||||
$('#rsssl-remaining-tasks').prop("checked", false);
|
||||
}
|
||||
update_task_toggle_option();
|
||||
});
|
||||
|
||||
function update_task_toggle_option() {
|
||||
var allTasks;
|
||||
var remainingTasks;
|
||||
rsssl_update_toggle_style();
|
||||
|
||||
if ($('#rsssl-all-tasks').is(":checked")) {
|
||||
allTasks = 'checked';
|
||||
remainingTasks = 'unchecked';
|
||||
} else {
|
||||
allTasks = 'unchecked';
|
||||
remainingTasks = 'checked';
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
data: {
|
||||
'action': 'rsssl_update_task_toggle_option',
|
||||
'token' : rsssl.token,
|
||||
'alltasks' : allTasks,
|
||||
'remainingtasks' : remainingTasks,
|
||||
},
|
||||
url: rsssl.ajaxurl,
|
||||
success: function () {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
rsssl_update_toggle_style();
|
||||
function rsssl_update_toggle_style(){
|
||||
var allTasks = $('#rsssl-all-tasks');
|
||||
if (allTasks.is(":checked")) {
|
||||
$(".rsssl-tasks-container.rsssl-all-tasks").addClass('active');
|
||||
$(".rsssl-tasks-container.rsssl-remaining-tasks").removeClass('active');
|
||||
} else {
|
||||
$(".rsssl-tasks-container.rsssl-all-tasks").removeClass('active');
|
||||
$(".rsssl-tasks-container.rsssl-remaining-tasks").addClass('active');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$(document).on("click", ".rsssl-close-warning, .rsssl-close-warning-x",function (event) {
|
||||
var type = $(this).closest('.rsssl-dashboard-dismiss').data('dismiss_type');
|
||||
var row = $(this).closest('tr');
|
||||
row.animate({
|
||||
position: 'relative',
|
||||
right: '1000px'
|
||||
}, 500, function(){
|
||||
row.remove();
|
||||
});
|
||||
$.ajax({
|
||||
type: "post",
|
||||
data: {
|
||||
'type' : type,
|
||||
'action': 'rsssl_dismiss_settings_notice',
|
||||
token : rsssl.token,
|
||||
},
|
||||
url: rsssl.ajaxurl,
|
||||
success: function (data) {
|
||||
if (data.percentage !== '') {
|
||||
$('.rsssl-progress-percentage').text(data.percentage + "%");
|
||||
var bar = $(".progress-bar-container .progress .bar");
|
||||
bar.css("width", data.percentage + '%');
|
||||
if (parseInt(data.percentage)>=80){
|
||||
bar.removeClass('orange');
|
||||
} else {
|
||||
bar.addClass('orange');
|
||||
}
|
||||
}
|
||||
|
||||
if (data.tasks !== '') {
|
||||
if (data.tasks === rsssl.lowest_possible_task_count) {
|
||||
$(".rsssl-progress-text").html(rsssl.finished_text);
|
||||
} else {
|
||||
var text = '';
|
||||
if (data.tasks === 0) {
|
||||
text = rsssl.finished_text;
|
||||
} else if (data.tasks === 1 ) {
|
||||
text = rsssl.not_complete_text_singular.replace('%s', data.tasks);
|
||||
} else {
|
||||
text = rsssl.not_complete_text_plural.replace('%s', data.tasks);
|
||||
}
|
||||
$(".rsssl-progress-text").html(text);
|
||||
}
|
||||
|
||||
$('.rsssl_remaining_task_count').html(data.tasks);
|
||||
$(".rsssl-progress-count").html(data.tasks);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
1
wp-content/plugins/really-simple-ssl/assets/js/scripts.min.js
vendored
Normal file
1
wp-content/plugins/really-simple-ssl/assets/js/scripts.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
jQuery(document).ready(function($){"use strict";var sPageURL=window.location.href;var queryString=sPageURL.split("?");if(queryString.length===1)return false;var setting_name="";var rsssl_variables=queryString[1].split("&");for(var key in rsssl_variables){if(rsssl_variables.hasOwnProperty(key)){var output=rsssl_variables[key].split("=");if(output[0]==="highlight"){setting_name=output[1]}}}if(setting_name!==""&&$("#rsssl-maybe-highlight-"+setting_name).length){var tr_element=$("#rsssl-maybe-highlight-"+setting_name).closest("tr");$([document.documentElement,document.body]).animate({scrollTop:tr_element.offset().top},1e3);tr_element.addClass("rsssl-highlight")}$(document).on("click",".rsssl-slider",function(){rssslSaveChangesNotice($(this))});$(document).on("click",".rsssl-container .rsssl-grid-item-content input",function(){rssslSaveChangesNotice($(this))});$(document).on("change",".rsssl-container .rsssl-grid-item-content input",function(){rssslSaveChangesNotice($(this))});$(document).on("change",".rsssl-container select",function(){rssslSaveChangesNotice($(this))});$(".rsssl-button-save").prop("disabled",true);function rssslSaveChangesNotice(obj){obj.closest(".rsssl-item").find(".rsssl-save-settings-feedback").fadeIn();obj.closest(".rsssl-item").find(".rsssl-button-save").prop("disabled",false)}$(".rsssl-support-forums a").hover(function(){$(this).find(".rsssl-bullet").css("background-color","#FBC43D")},function(){$(this).find(".rsssl-bullet").css("background-color","")});$(document).on("click","#rsssl-remaining-tasks",function(e){if($("#rsssl-all-tasks").is(":checked")){$("#rsssl-all-tasks").prop("checked",false)}update_task_toggle_option()});$(document).on("click","#rsssl-all-tasks",function(e){if($("#rsssl-remaining-tasks").is(":checked")){$("#rsssl-remaining-tasks").prop("checked",false)}update_task_toggle_option()});function update_task_toggle_option(){var allTasks;var remainingTasks;rsssl_update_toggle_style();if($("#rsssl-all-tasks").is(":checked")){allTasks="checked";remainingTasks="unchecked"}else{allTasks="unchecked";remainingTasks="checked"}$.ajax({type:"post",data:{action:"rsssl_update_task_toggle_option",token:rsssl.token,alltasks:allTasks,remainingtasks:remainingTasks},url:rsssl.ajaxurl,success:function(){location.reload()}})}rsssl_update_toggle_style();function rsssl_update_toggle_style(){var allTasks=$("#rsssl-all-tasks");if(allTasks.is(":checked")){$(".rsssl-tasks-container.rsssl-all-tasks").addClass("active");$(".rsssl-tasks-container.rsssl-remaining-tasks").removeClass("active")}else{$(".rsssl-tasks-container.rsssl-all-tasks").removeClass("active");$(".rsssl-tasks-container.rsssl-remaining-tasks").addClass("active")}}$(document).on("click",".rsssl-close-warning, .rsssl-close-warning-x",function(event){var type=$(this).closest(".rsssl-dashboard-dismiss").data("dismiss_type");var row=$(this).closest("tr");row.animate({position:"relative",right:"1000px"},500,function(){row.remove()});$.ajax({type:"post",data:{type:type,action:"rsssl_dismiss_settings_notice",token:rsssl.token},url:rsssl.ajaxurl,success:function(data){if(data.percentage!==""){$(".rsssl-progress-percentage").text(data.percentage+"%");var bar=$(".progress-bar-container .progress .bar");bar.css("width",data.percentage+"%");if(parseInt(data.percentage)>=80){bar.removeClass("orange")}else{bar.addClass("orange")}}if(data.tasks!==""){if(data.tasks===rsssl.lowest_possible_task_count){$(".rsssl-progress-text").html(rsssl.finished_text)}else{var text="";if(data.tasks===0){text=rsssl.finished_text}else if(data.tasks===1){text=rsssl.not_complete_text_singular.replace("%s",data.tasks)}else{text=rsssl.not_complete_text_plural.replace("%s",data.tasks)}$(".rsssl-progress-text").html(text)}$(".rsssl_remaining_task_count").html(data.tasks);$(".rsssl-progress-count").html(data.tasks)}}})})});
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 5.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
5129
wp-content/plugins/really-simple-ssl/class-admin.php
Normal file
5129
wp-content/plugins/really-simple-ssl/class-admin.php
Normal file
File diff suppressed because it is too large
Load Diff
118
wp-content/plugins/really-simple-ssl/class-cache.php
Normal file
118
wp-content/plugins/really-simple-ssl/class-cache.php
Normal file
@@ -0,0 +1,118 @@
|
||||
<?php
|
||||
|
||||
defined('ABSPATH') or die("you do not have access to this page!");
|
||||
if ( ! class_exists( 'rsssl_cache' ) ) {
|
||||
class rsssl_cache {
|
||||
private static $_this;
|
||||
|
||||
function __construct() {
|
||||
if ( isset( self::$_this ) )
|
||||
wp_die( sprintf( __( '%s is a singleton class and you cannot create a second instance.','really-simple-ssl' ), get_class( $this ) ) );
|
||||
|
||||
self::$_this = $this;
|
||||
}
|
||||
|
||||
static function this() {
|
||||
return self::$_this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Flushes the cache for popular caching plugins to prevent mixed content errors
|
||||
* When .htaccess is changed, all traffic should flow over https, so clear cache when possible.
|
||||
* supported: W3TC, WP fastest Cache, Zen Cache, wp_rocket
|
||||
*
|
||||
* @since 2.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function flush() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
add_action( 'admin_head', array($this,'maybe_flush_w3tc_cache'));
|
||||
add_action( 'admin_head', array($this,'maybe_flush_wp_optimize_cache'));
|
||||
add_action( 'admin_head', array($this,'maybe_flush_litespeed_cache'));
|
||||
add_action( 'admin_head', array($this,'maybe_flush_hummingbird_cache'));
|
||||
add_action( 'admin_head', array($this,'maybe_flush_fastest_cache'));
|
||||
add_action( 'admin_head', array($this,'maybe_flush_autoptimize_cache'));
|
||||
add_action( 'admin_head', array($this,'maybe_flush_wp_rocket'));
|
||||
add_action( 'admin_head', array($this,'maybe_flush_cache_enabler'));
|
||||
add_action( 'admin_head', array($this,'maybe_flush_wp_super_cache'));
|
||||
}
|
||||
|
||||
public function maybe_flush_w3tc_cache() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
if ( function_exists('w3tc_flush_all') ) {
|
||||
w3tc_flush_all();
|
||||
}
|
||||
}
|
||||
|
||||
public function maybe_flush_wp_optimize_cache() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
if ( function_exists('wpo_cache_flush') ) {
|
||||
wpo_cache_flush();
|
||||
}
|
||||
}
|
||||
|
||||
public function maybe_flush_litespeed_cache() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
if ( class_exists('LiteSpeed') ) {
|
||||
Litespeed\Purge::purge_all();
|
||||
}
|
||||
}
|
||||
|
||||
public function maybe_flush_hummingbird_cache() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
if ( is_callable( array('Hummingbird\WP_Hummingbird', 'flush_cache') ) ) {
|
||||
Hummingbird\WP_Hummingbird::flush_cache();
|
||||
}
|
||||
}
|
||||
|
||||
public function maybe_flush_fastest_cache() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
if( class_exists('WpFastestCache') ) {
|
||||
// Non-static cannot be called statically ::
|
||||
(new WpFastestCache)->deleteCache();
|
||||
}
|
||||
}
|
||||
|
||||
public function maybe_flush_autoptimize_cache() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
if ( class_exists('autoptimizeCache') ) {
|
||||
autoptimizeCache::clearall();
|
||||
}
|
||||
}
|
||||
|
||||
public function maybe_flush_wp_rocket() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
if ( function_exists('rocket_clean_domain') ) {
|
||||
rocket_clean_domain();
|
||||
}
|
||||
}
|
||||
|
||||
public function maybe_flush_cache_enabler() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
if ( class_exists('Cache_Enabler') ) {
|
||||
Cache_Enabler::clear_complete_cache();
|
||||
}
|
||||
}
|
||||
|
||||
public function maybe_flush_wp_super_cache() {
|
||||
if (!rsssl_user_can_manage()) return;
|
||||
|
||||
if ( function_exists( 'wp_cache_clear_cache' ) ) {
|
||||
wp_cache_clear_cache();
|
||||
}
|
||||
}
|
||||
|
||||
}//class closure
|
||||
}
|
||||
291
wp-content/plugins/really-simple-ssl/class-certificate.php
Normal file
291
wp-content/plugins/really-simple-ssl/class-certificate.php
Normal file
@@ -0,0 +1,291 @@
|
||||
<?php
|
||||
|
||||
defined('ABSPATH') or die("you do not have access to this page!");
|
||||
|
||||
if ( ! class_exists( 'rsssl_certificate' ) ) {
|
||||
class rsssl_certificate
|
||||
{
|
||||
private static $_this;
|
||||
|
||||
function __construct()
|
||||
{
|
||||
|
||||
if (isset(self::$_this))
|
||||
wp_die(sprintf(__('%s is a singleton class and you cannot create a second instance.', 'really-simple-ssl'), get_class($this)));
|
||||
|
||||
self::$_this = $this;
|
||||
|
||||
}
|
||||
|
||||
static function this()
|
||||
{
|
||||
return self::$_this;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @since 3.0
|
||||
*
|
||||
* Check if the certificate is valid
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
*/
|
||||
|
||||
public function is_valid()
|
||||
{
|
||||
//Get current domain
|
||||
$domain = site_url();
|
||||
//Parse to strip off any /subfolder/
|
||||
$parse = parse_url($domain);
|
||||
if ( !isset($parse['host']) || !function_exists('stream_context_get_params') ) {
|
||||
set_transient('rsssl_certinfo', 'no-response', DAY_IN_SECONDS);
|
||||
} else {
|
||||
$domain = $parse['host'];
|
||||
$certinfo = $this->get_certinfo($domain);
|
||||
|
||||
if ( !$certinfo ) {
|
||||
RSSSL()->really_simple_ssl->trace_log("- SSL certificate not valid");
|
||||
return false;
|
||||
}
|
||||
|
||||
//Check if domain is valid
|
||||
$domain_valid = $this->is_domain_valid($certinfo, $domain);
|
||||
if ( !$domain_valid ) {
|
||||
RSSSL()->really_simple_ssl->trace_log("- Domain on certificate does not match website's domain");
|
||||
}
|
||||
//Check if date is valid
|
||||
$date_valid = $this->is_date_valid($certinfo);
|
||||
if ( !$date_valid ) {
|
||||
RSSSL()->really_simple_ssl->trace_log("- Date on certificate expired or not valid");
|
||||
}
|
||||
//Domain and date valid? Return true
|
||||
if ( $domain_valid && $date_valid ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Check common name(s) and alternative name(s) on certificate and match them to the site_url ($domain)
|
||||
*
|
||||
* @since 3.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
*/
|
||||
|
||||
public function is_domain_valid($certinfo, $domain)
|
||||
{
|
||||
//first check standard situation
|
||||
//Get both the common name(s) and the alternative names from the certificate
|
||||
$certificate_common_names = isset($certinfo['subject']['CN']) ? $certinfo['subject']['CN'] : '';
|
||||
$certificate_alternative_names = isset($certinfo['extensions']['subjectAltName']) ? $certinfo['extensions']['subjectAltName'] : '';
|
||||
//Check if the domain is found in either the certificate common name(s) (CN) or alternative name(s) (AN)
|
||||
$pos_cn = strpos($certificate_common_names, $domain);
|
||||
$pos_an = strpos($certificate_alternative_names, $domain);
|
||||
|
||||
//If the domain is found, return true
|
||||
if (($pos_cn !== false) || ($pos_an !== false)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
//if nothing found, we check for wildcard
|
||||
//strip of asterisk, and check if the wildcard domain is part of current domain
|
||||
$cert_domains = array();
|
||||
if ( $this->is_wildcard() ) {
|
||||
$certificate_alternative_names = explode(', ',$certificate_alternative_names);
|
||||
$cert_domains[] = trim(str_replace('*', '', $certificate_common_names));
|
||||
foreach ($certificate_alternative_names as $subjectAltName) {
|
||||
$cert_domains[] = trim(str_replace('*', '', $subjectAltName));
|
||||
}
|
||||
|
||||
foreach ($cert_domains as $cert_domain){
|
||||
//If the wildcard domain is found, return true
|
||||
if ( (strpos($domain, $cert_domain ) !== false) ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if detection failed
|
||||
* @return bool
|
||||
*/
|
||||
public function detection_failed(){
|
||||
$certinfo = get_transient('rsssl_certinfo');
|
||||
if ($certinfo && $certinfo === 'no-response' ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Check if the date is valid by looking at the validFrom and validTo times
|
||||
*
|
||||
* @since 3.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
*/
|
||||
|
||||
public function is_date_valid($certinfo)
|
||||
{
|
||||
|
||||
//Get the start date and end date from the certificate
|
||||
$start_date = isset($certinfo['validFrom_time_t']) ? $certinfo['validFrom_time_t'] : false;
|
||||
$end_date = isset($certinfo['validTo_time_t']) ? $certinfo['validTo_time_t'] : false;
|
||||
$current_date = time();
|
||||
|
||||
//Check if the current date is between the start date and end date. If so, return true
|
||||
if ($current_date > $start_date && ($current_date < $end_date)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the certificate is valid, but about to expire.
|
||||
* @return bool
|
||||
*/
|
||||
public function about_to_expire(){
|
||||
//if not valid, it's already expired
|
||||
if ( !$this->is_valid() ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
//we have now renewed the cert info transient
|
||||
$certinfo = get_transient('rsssl_certinfo');
|
||||
$end_date = isset($certinfo['validTo_time_t']) ? $certinfo['validTo_time_t'] : false;
|
||||
$expiry_days_time = strtotime('+'.rsssl_le_manual_generation_renewal_check.' days');
|
||||
if ( $expiry_days_time < $end_date ) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Check if the certificate is a wildcard certificate
|
||||
* Function is used in class-multisite.php to determine whether to show a notice for multisite subfolder installations without a wildcard certificate
|
||||
*
|
||||
* @since 3.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
*/
|
||||
|
||||
public function is_wildcard()
|
||||
{
|
||||
$domain = network_site_url();
|
||||
$certinfo = $this->get_certinfo($domain);
|
||||
//Get the certificate common name
|
||||
$certificate_common_name = isset($certinfo['subject']['CN']) ? $certinfo['subject']['CN'] : false;
|
||||
$subjectAltNames = isset($certinfo['extensions']['subjectAltName']) ? explode(', ',$certinfo['extensions']['subjectAltName']) : false;
|
||||
|
||||
//Check if the common name(s) contain an *
|
||||
if (strpos($certificate_common_name, '*')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (is_array($subjectAltNames)) {
|
||||
foreach ($subjectAltNames as $subjectAltName) {
|
||||
if ( strpos($subjectAltName, '*') !== false ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Get the certificate info
|
||||
*
|
||||
* @since 3.0
|
||||
* @param string $url
|
||||
* @return string|bool
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function get_certinfo( $url )
|
||||
{
|
||||
$certinfo = get_transient('rsssl_certinfo' );
|
||||
//if the last check resulted in a "no response", we skip this check for a day.
|
||||
if ($certinfo === 'no-response') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$certinfo || RSSSL()->really_simple_ssl->is_settings_page()) {
|
||||
$url = 'https://'.str_replace(array('https://', 'http://'), '', $url);
|
||||
$original_parse = parse_url($url, PHP_URL_HOST);
|
||||
if ($original_parse) {
|
||||
$get = stream_context_create(array("ssl" => array("capture_peer_cert" => TRUE)));
|
||||
if ( $get ) {
|
||||
set_error_handler(array($this, 'custom_error_handling'));
|
||||
$read = stream_socket_client("ssl://" . $original_parse . ":443", $errno, $errstr, 5, STREAM_CLIENT_CONNECT, $get);
|
||||
restore_error_handler();
|
||||
|
||||
if ( !$read ){
|
||||
$certinfo = 'no-response';
|
||||
}
|
||||
|
||||
if ($errno == 0 && $read) {
|
||||
$cert = stream_context_get_params($read);
|
||||
if ( isset($cert['options']['ssl']['peer_certificate']) ) {
|
||||
$certinfo = openssl_x509_parse($cert['options']['ssl']['peer_certificate']);
|
||||
} else {
|
||||
$certinfo = 'no-response';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
set_transient('rsssl_certinfo', $certinfo, DAY_IN_SECONDS);
|
||||
}
|
||||
if ( $certinfo==='not-valid' ) return false;
|
||||
if ( !empty($certinfo) ) {
|
||||
return $certinfo;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Catch errors
|
||||
*
|
||||
* @since 3.0
|
||||
*
|
||||
* @access public
|
||||
* @param $errno
|
||||
* @param $errstr
|
||||
* @param $errfile
|
||||
* @param $errline
|
||||
* @param array $errcontext
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
||||
public function custom_error_handling( $errno, $errstr, $errfile, $errline, $errcontext = array() ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//class closure
|
||||
}
|
||||
}
|
||||
129
wp-content/plugins/really-simple-ssl/class-front-end.php
Normal file
129
wp-content/plugins/really-simple-ssl/class-front-end.php
Normal file
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
defined('ABSPATH') or die("you do not have access to this page!");
|
||||
|
||||
if ( ! class_exists( 'rsssl_front_end' ) ) {
|
||||
|
||||
class rsssl_front_end
|
||||
{
|
||||
private static $_this;
|
||||
public $javascript_redirect = FALSE;
|
||||
public $wp_redirect = TRUE;
|
||||
public $autoreplace_insecure_links = TRUE;
|
||||
public $ssl_enabled;
|
||||
public $switch_mixed_content_fixer_hook = FALSE;
|
||||
|
||||
function __construct()
|
||||
{
|
||||
if (isset(self::$_this))
|
||||
wp_die(sprintf(__('%s is a singleton class and you cannot create a second instance.', 'really-simple-ssl'), get_class($this)));
|
||||
|
||||
self::$_this = $this;
|
||||
$this->get_options();
|
||||
add_action('rest_api_init', array($this, 'wp_rest_api_force_ssl'), ~PHP_INT_MAX);
|
||||
}
|
||||
|
||||
static function this()
|
||||
{
|
||||
return self::$_this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Javascript redirect, when ssl is true.
|
||||
*
|
||||
* @since 2.2
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function force_ssl()
|
||||
{
|
||||
if ($this->ssl_enabled) {
|
||||
if ($this->wp_redirect) add_action('wp', array($this, 'wp_redirect_to_ssl'), 40, 3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Force SSL on wp rest api
|
||||
*
|
||||
* @since 2.5.14
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function wp_rest_api_force_ssl()
|
||||
{
|
||||
//check for Command Line
|
||||
if (php_sapi_name() === 'cli') return;
|
||||
|
||||
if (!array_key_exists('HTTP_HOST', $_SERVER)) return;
|
||||
|
||||
if ($this->ssl_enabled && !is_ssl() && !(defined("rsssl_no_rest_api_redirect") && rsssl_no_rest_api_redirect)) {
|
||||
$redirect_url = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
||||
wp_redirect($redirect_url, 301);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Redirect using wp redirect
|
||||
*
|
||||
* @since 2.5.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function wp_redirect_to_ssl()
|
||||
{
|
||||
if (!array_key_exists('HTTP_HOST', $_SERVER)) return;
|
||||
|
||||
if (!is_ssl() && !(defined("rsssl_no_wp_redirect") && rsssl_no_wp_redirect)) {
|
||||
$redirect_url = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
||||
$redirect_url = apply_filters("rsssl_wp_redirect_url", $redirect_url);
|
||||
wp_redirect($redirect_url, 301);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the options for this plugin
|
||||
*
|
||||
* @since 2.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function get_options()
|
||||
{
|
||||
$options = get_option('rlrsssl_options');
|
||||
if (isset($options)) {
|
||||
$this->autoreplace_insecure_links = isset($options['autoreplace_insecure_links']) ? $options['autoreplace_insecure_links'] : TRUE;
|
||||
$this->ssl_enabled = isset($options['ssl_enabled']) ? $options['ssl_enabled'] : false;
|
||||
$this->javascript_redirect = isset($options['javascript_redirect']) ? $options['javascript_redirect'] : FALSE;
|
||||
$this->wp_redirect = isset($options['wp_redirect']) ? $options['wp_redirect'] : FALSE;
|
||||
$this->switch_mixed_content_fixer_hook = isset($options['switch_mixed_content_fixer_hook']) ? $options['switch_mixed_content_fixer_hook'] : FALSE;
|
||||
|
||||
//overrides from multisite
|
||||
if (is_multisite()) {
|
||||
$network_options = get_site_option('rlrsssl_network_options');
|
||||
|
||||
$site_wp_redirect = isset($network_options["wp_redirect"]) ? $network_options["wp_redirect"] : false;
|
||||
$javascript_redirect = isset($network_options["javascript_redirect"]) ? $network_options["javascript_redirect"] : false;
|
||||
$autoreplace_insecure_links = isset($network_options["autoreplace_mixed_content"]) ? $network_options["autoreplace_mixed_content"] : false;
|
||||
|
||||
if ($site_wp_redirect) $this->wp_redirect = $site_wp_redirect;
|
||||
if ($javascript_redirect) $this->javascript_redirect = $javascript_redirect;
|
||||
if ($autoreplace_insecure_links) $this->autoreplace_insecure_links = $autoreplace_insecure_links;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
145
wp-content/plugins/really-simple-ssl/class-help.php
Normal file
145
wp-content/plugins/really-simple-ssl/class-help.php
Normal file
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
defined('ABSPATH') or die("you do not have access to this page!");
|
||||
if ( ! class_exists( 'rsssl_help' ) ) {
|
||||
class rsssl_help {
|
||||
private static $_this;
|
||||
|
||||
function __construct() {
|
||||
if ( isset( self::$_this ) )
|
||||
wp_die( sprintf( __( '%s is a singleton class and you cannot create a second instance.','really-simple-ssl' ), get_class( $this ) ) );
|
||||
|
||||
self::$_this = $this;
|
||||
}
|
||||
|
||||
static function this() {
|
||||
return self::$_this;
|
||||
}
|
||||
|
||||
public function get_help_tip($str, $return=false, $add_css = false ){
|
||||
if ($return) {
|
||||
ob_start();
|
||||
}
|
||||
|
||||
if ( $add_css ) { ?>
|
||||
<style>
|
||||
[data-rsssl-tooltip] {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
/* Base styles for the entire tooltip */
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after {
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-moz-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, -moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Show the entire rsssl-tooltip on hover and focus */
|
||||
[data-rsssl-tooltip]:hover:before,
|
||||
[data-rsssl-tooltip]:hover:after,
|
||||
[data-rsssl-tooltip]:focus:before,
|
||||
[data-rsssl-tooltip]:focus:after {
|
||||
visibility: visible;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
[data-rsssl-tooltip]:before {
|
||||
z-index: 1001;
|
||||
border: 6px solid transparent;
|
||||
background: transparent;
|
||||
content: "";
|
||||
}
|
||||
[data-rsssl-tooltip]:after {
|
||||
z-index: 1000;
|
||||
padding: 8px;
|
||||
width: 220px;
|
||||
background-color: #000;
|
||||
background-color: hsla(0, 0%, 20%, 0.9);
|
||||
color: #fff;
|
||||
content: attr(data-rsssl-tooltip);
|
||||
font-size: 14px;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.rsssl-tooltip-right {
|
||||
font-weight: normal;
|
||||
}
|
||||
[data-rsssl-tooltip]:before,
|
||||
[data-rsssl-tooltip]:after {
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
}
|
||||
.rsssl-tooltip-right:before,
|
||||
.rsssl-tooltip-right:after {
|
||||
bottom: 50%;
|
||||
left: 100%;
|
||||
}
|
||||
[data-rsssl-tooltip]:before {
|
||||
margin-left: -6px;
|
||||
margin-bottom: -12px;
|
||||
border-top-color: #000;
|
||||
border-top-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
[data-rsssl-tooltip]:after{
|
||||
margin-left: -80px;
|
||||
}
|
||||
.rsssl-tooltip-right:before {
|
||||
margin-bottom: 0;
|
||||
margin-left: -12px;
|
||||
border-top-color: transparent;
|
||||
border-right-color: #000;
|
||||
border-right-color: hsla(0, 0%, 20%, 0.9);
|
||||
}
|
||||
.rsssl-tooltip-right:hover:before,
|
||||
.rsssl-tooltip-right:hover:after,
|
||||
.rsssl-tooltip-right:focus:before,
|
||||
.rsssl-tooltip-right:focus:after {
|
||||
-webkit-transform: translateX(12px);
|
||||
-moz-transform: translateX(12px);
|
||||
transform: translateX(12px);
|
||||
}
|
||||
.rsssl-tooltip-right:before {
|
||||
top: 3px;
|
||||
}
|
||||
.rsssl-tooltip-right:after {
|
||||
margin-left: 0;
|
||||
margin-bottom: -25px;
|
||||
}
|
||||
</style>
|
||||
<?php }
|
||||
?>
|
||||
|
||||
<span class="rsssl-tooltip-right tooltip-right" data-rsssl-tooltip="<?php echo $str?>">
|
||||
<span class="dashicons dashicons-editor-help"></span>
|
||||
</span>
|
||||
<?php
|
||||
if ($return) {
|
||||
$content = ob_get_clean();
|
||||
return $content;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Break current row, and start new one.
|
||||
* @param string $str
|
||||
* @param string $class
|
||||
*/
|
||||
public function get_comment($str, $class = false) {
|
||||
if (strlen($str) === 0) return;
|
||||
?>
|
||||
</td></tr><tr class="rsssl-comment-text <?php echo esc_attr($class)?>"><td colspan="2"><?php echo $str;?></td></tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
}//class closure
|
||||
} //if class exists closure
|
||||
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
defined('ABSPATH') or die("you do not have access to this page!");
|
||||
|
||||
if (!class_exists('rsssl_admin_mixed_content_fixer')) {
|
||||
class rsssl_mixed_content_fixer
|
||||
{
|
||||
private static $_this;
|
||||
public $http_urls = array();
|
||||
|
||||
function __construct()
|
||||
{
|
||||
if (isset(self::$_this))
|
||||
wp_die(sprintf(__('%s is a singleton class and you cannot create a second instance.', 'really-simple-ssl'), get_class($this)));
|
||||
|
||||
self::$_this = $this;
|
||||
|
||||
//exclude admin here: for all well built plugins and themes, this should not be necessary.
|
||||
if (!is_admin() && is_ssl() && RSSSL()->rsssl_front_end->autoreplace_insecure_links) {
|
||||
$this->fix_mixed_content();
|
||||
}
|
||||
}
|
||||
|
||||
static function this()
|
||||
{
|
||||
return self::$_this;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* add action hooks at the start and at the end of the WP process.
|
||||
*
|
||||
* @since 2.3
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function fix_mixed_content()
|
||||
{
|
||||
|
||||
/* Do not fix mixed content when call is coming from wp_api or from xmlrpc */
|
||||
if (defined('JSON_REQUEST') && JSON_REQUEST) return;
|
||||
if (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) return;
|
||||
|
||||
$this->build_url_list();
|
||||
|
||||
/*
|
||||
Take care with modifications to hooks here:
|
||||
hooks tend to differ between front and back-end.
|
||||
*/
|
||||
|
||||
if (is_admin()) {
|
||||
|
||||
add_action("admin_init", array($this, "start_buffer"), 100);
|
||||
add_action("shutdown", array($this, "end_buffer"), 999);
|
||||
|
||||
} else {
|
||||
|
||||
if (RSSSL()->rsssl_front_end->switch_mixed_content_fixer_hook || (defined('RSSSL_CONTENT_FIXER_ON_INIT') && RSSSL_CONTENT_FIXER_ON_INIT)) {
|
||||
add_action("init", array($this, "start_buffer"));
|
||||
} else {
|
||||
add_action("template_redirect", array($this, "start_buffer"));
|
||||
}
|
||||
|
||||
add_action("shutdown", array($this, "end_buffer"), 999);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Apply the mixed content fixer.
|
||||
*
|
||||
* @since 2.3
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function filter_buffer($buffer)
|
||||
{
|
||||
$buffer = $this->replace_insecure_links($buffer);
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start buffering the output
|
||||
*
|
||||
* @since 2.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function start_buffer()
|
||||
{
|
||||
ob_start(array($this, "filter_buffer"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Flush the output buffer
|
||||
*
|
||||
* @since 2.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function end_buffer()
|
||||
{
|
||||
if (ob_get_length()) ob_end_flush();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an array of insecure links that should be https and an array of secure links to replace with
|
||||
*
|
||||
* @since 2.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function build_url_list()
|
||||
{
|
||||
$home = str_replace("https://", "http://", get_option('home'));
|
||||
$home_no_www = str_replace("://www.", "://", $home);
|
||||
$home_yes_www = str_replace("://", "://www.", $home_no_www);
|
||||
|
||||
//for the escaped version, we only replace the home_url, not it's www or non www counterpart, as it is most likely not used
|
||||
$escaped_home = str_replace("/", "\/", $home);
|
||||
|
||||
$this->http_urls = array(
|
||||
$home_yes_www,
|
||||
$home_no_www,
|
||||
$escaped_home,
|
||||
"src='http://",
|
||||
'src="http://',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Just before the page is sent to the visitor's browser, all homeurl links are replaced with https.
|
||||
*
|
||||
* @since 1.0
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
|
||||
public function replace_insecure_links($str)
|
||||
{
|
||||
|
||||
//skip if file is xml
|
||||
if (substr($str, 0, 5) == "<?xml") return $str;
|
||||
|
||||
$search_array = apply_filters('rlrsssl_replace_url_args', $this->http_urls);
|
||||
$ssl_array = str_replace(array("http://", "http:\/\/"), array("https://", "https:\/\/"), $search_array);
|
||||
//now replace these links
|
||||
$str = str_replace($search_array, $ssl_array, $str);
|
||||
|
||||
//replace all http links except hyperlinks
|
||||
//all tags with src attr are already fixed by str_replace
|
||||
$pattern = array(
|
||||
'/url\([\'"]?\K(http:\/\/)(?=[^)]+)/i',
|
||||
'/<link [^>]*?href=[\'"]\K(http:\/\/)(?=[^\'"]+)/i',
|
||||
'/<meta property="og:image" [^>]*?content=[\'"]\K(http:\/\/)(?=[^\'"]+)/i',
|
||||
'/<form [^>]*?action=[\'"]\K(http:\/\/)(?=[^\'"]+)/i',
|
||||
);
|
||||
|
||||
$str = preg_replace($pattern, 'https://', $str);
|
||||
|
||||
/* handle multiple images in srcset */
|
||||
$str = preg_replace_callback('/<img[^\>]*[^\>\S]+srcset=[\'"]\K((?:[^"\'\s,]+\s*(?:\s+\d+[wx])(?:,\s*)?)+)["\']/', array($this, 'replace_src_set'), $str);
|
||||
|
||||
$str = str_replace("<body", '<body data-rsssl=1', $str);
|
||||
|
||||
return apply_filters("rsssl_fixer_output", $str);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to maintain PHP 5.2 compatibility. Yes. 5.2.. It's still used...
|
||||
*
|
||||
* */
|
||||
|
||||
public function replace_src_set($matches) {
|
||||
return str_replace("http://", "https://", $matches[0]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
1175
wp-content/plugins/really-simple-ssl/class-multisite.php
Normal file
1175
wp-content/plugins/really-simple-ssl/class-multisite.php
Normal file
File diff suppressed because it is too large
Load Diff
28
wp-content/plugins/really-simple-ssl/class-rsssl-wp-cli.php
Normal file
28
wp-content/plugins/really-simple-ssl/class-rsssl-wp-cli.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
defined('ABSPATH') or die("you do not have access to this page!");
|
||||
|
||||
class rsssl_wp_cli
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function activate_ssl()
|
||||
{
|
||||
RSSSL()->really_simple_ssl->activate_ssl();
|
||||
WP_CLI::success( 'SSL activated' );
|
||||
|
||||
}
|
||||
|
||||
public function deactivate_ssl()
|
||||
{
|
||||
RSSSL()->really_simple_ssl->deactivate_ssl();
|
||||
WP_CLI::success( 'SSL deactivated' );
|
||||
}
|
||||
|
||||
}//Class closure
|
||||
|
||||
WP_CLI::add_command( 'rsssl', 'rsssl_wp_cli' );
|
||||
64
wp-content/plugins/really-simple-ssl/class-server.php
Normal file
64
wp-content/plugins/really-simple-ssl/class-server.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
defined( 'ABSPATH' ) or die( "you do not have access to this page!" );
|
||||
|
||||
if ( ! class_exists( 'rsssl_server' ) ) {
|
||||
class rsssl_server {
|
||||
private static $_this;
|
||||
|
||||
function __construct() {
|
||||
if ( isset( self::$_this ) ) {
|
||||
wp_die( sprintf( '%s is a singleton class and you cannot create a second instance.', get_class( $this ) ) );
|
||||
}
|
||||
self::$_this = $this;
|
||||
}
|
||||
|
||||
static function this() {
|
||||
return self::$_this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Since 2.5.1
|
||||
* Checks if the server uses .htaccess
|
||||
* @return bool
|
||||
*/
|
||||
|
||||
public function uses_htaccess() {
|
||||
// No .htaccess on WP Engine
|
||||
if ( function_exists( 'is_wpe' ) && is_wpe() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( $this->get_server() == "apache" || $this->get_server() == "litespeed" ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the server type of the plugin user.
|
||||
*
|
||||
* @return string|bool server type the user is using of false if undetectable.
|
||||
*/
|
||||
|
||||
public function get_server() {
|
||||
//Allows to override server authentication for testing or other reasons.
|
||||
if ( defined( 'RSSSL_SERVER_OVERRIDE' ) ) {
|
||||
return RSSSL_SERVER_OVERRIDE;
|
||||
}
|
||||
|
||||
$server_raw = strtolower( htmlspecialchars( $_SERVER['SERVER_SOFTWARE'] ) );
|
||||
|
||||
//figure out what server they're using
|
||||
if ( strpos( $server_raw, 'apache' ) !== false ) {
|
||||
return 'apache';
|
||||
} elseif ( strpos( $server_raw, 'nginx' ) !== false ) {
|
||||
return 'nginx';
|
||||
} elseif ( strpos( $server_raw, 'litespeed' ) !== false ) {
|
||||
return 'litespeed';
|
||||
} else { //unsupported server
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} //class closure
|
||||
}
|
||||
165
wp-content/plugins/really-simple-ssl/class-site-health.php
Normal file
165
wp-content/plugins/really-simple-ssl/class-site-health.php
Normal file
@@ -0,0 +1,165 @@
|
||||
<?php
|
||||
defined('ABSPATH') or die("you do not have access to this page!");
|
||||
|
||||
if (!class_exists("rsssl_site_health")) {
|
||||
class rsssl_site_health {
|
||||
|
||||
private static $_this;
|
||||
|
||||
function __construct() {
|
||||
|
||||
if ( isset( self::$_this ) ) {
|
||||
wp_die( sprintf( __( '%s is a singleton class and you cannot create a second instance.', 'really-simple-ssl' ), get_class( $this ) ) );
|
||||
}
|
||||
|
||||
|
||||
add_filter( 'site_status_tests', array($this, 'rsssl_health_check' ) );
|
||||
|
||||
self::$_this = $this;
|
||||
}
|
||||
|
||||
static function this() {
|
||||
return self::$_this;
|
||||
}
|
||||
|
||||
public function rsssl_health_check( $tests ) {
|
||||
|
||||
unset($tests['async']['https_status']);
|
||||
|
||||
if ( !RSSSL()->really_simple_ssl->dismiss_all_notices || is_multisite() && !rsssl_multisite::this()->dismiss_all_notices ) {
|
||||
|
||||
$tests['direct']['rsssl-health'] = array(
|
||||
'label' => __( 'SSL Status Test' , 'really-simple-ssl'),
|
||||
'test' => array($this, "health_test"),
|
||||
);
|
||||
|
||||
if ( RSSSL()->really_simple_ssl->ssl_enabled ) {
|
||||
$tests['direct']['rsssl-headers'] = array(
|
||||
'label' => __( 'Security Headers Test' , 'really-simple-ssl' ),
|
||||
'test' => array($this, "headers_test"),
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $tests;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test to check if the recommended security headers are present
|
||||
* @return array
|
||||
*/
|
||||
|
||||
public function headers_test() {
|
||||
$result = array(
|
||||
'label' => __( 'Recommended security headers installed', 'really-simple-ssl' ),
|
||||
'status' => 'good',
|
||||
'badge' => array(
|
||||
'label' => __('Security'),
|
||||
'color' => 'blue',
|
||||
),
|
||||
'description' => sprintf(
|
||||
'<p>%s</p>',
|
||||
__( 'The recommended security headers are detected on your site.', 'really-simple-ssl' )
|
||||
),
|
||||
'actions' => '',
|
||||
'test' => 'headers_test',
|
||||
);
|
||||
|
||||
//returns empty for sites without .htaccess, or if all headers are already in use
|
||||
$recommended_headers = RSSSL()->really_simple_ssl->get_recommended_security_headers();
|
||||
if (!empty($recommended_headers)) {
|
||||
$style = '<style>.rsssl-sec-headers-list li {list-style-type:disc;margin-left:20px;}</style>';
|
||||
$list = '<ul class="rsssl-sec-headers-list"><li>'.implode('</li><li>', $recommended_headers ).'</li></ul>';
|
||||
$result['status'] = 'recommended';
|
||||
$result['label'] = __( 'Not all recommended security headers are installed' , 'really-simple-ssl' );
|
||||
$result['description'] = sprintf( '<p>%s</p>', __( 'Your website does not send all recommended security headers.', 'really-simple-ssl' ).$style.$list);
|
||||
$result['actions'] = sprintf(
|
||||
'<p><a href="%s" target="_blank">%s</a></p>',
|
||||
'https://really-simple-ssl.com/site-health-recommended-security-headers/',
|
||||
__( 'Learn more about security headers', 'really-simple-ssl' )
|
||||
);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Some basic health checks
|
||||
* @return array
|
||||
*/
|
||||
public function health_test() {
|
||||
if (is_multisite() && is_super_admin() ){
|
||||
$url = add_query_arg(array('page' => 'really-simple-ssl'), network_admin_url('settings.php'));
|
||||
} else {
|
||||
$url = add_query_arg(array('page' => 'rlrsssl_really_simple_ssl'), admin_url("options-general.php") );
|
||||
}
|
||||
|
||||
$result = array(
|
||||
'label' => __( '301 SSL redirect enabled', 'really-simple-ssl' ),
|
||||
'status' => 'good',
|
||||
'badge' => array(
|
||||
'label' => __('Security'),
|
||||
'color' => 'blue',
|
||||
),
|
||||
'description' => sprintf(
|
||||
'<p>%s</p>',
|
||||
__( 'You have set a 301 redirect to SSL. This is important for SEO purposes', 'really-simple-ssl' )
|
||||
),
|
||||
'actions' => '',
|
||||
'test' => 'health_test',
|
||||
);
|
||||
|
||||
if (!RSSSL()->really_simple_ssl->ssl_enabled) {
|
||||
if ( RSSSL()->really_simple_ssl->site_has_ssl ) {
|
||||
$result['status'] = 'critical';
|
||||
$result['label'] = __( 'SSL is not enabled.', 'really-simple-ssl' );
|
||||
$result['description'] = sprintf(
|
||||
'<p>%s</p>',
|
||||
__( 'Really Simple SSL detected an SSL certificate, but has not been configured to enforce SSL.',
|
||||
'really-simple-ssl' )
|
||||
);
|
||||
$result['actions'] .= sprintf(
|
||||
'<p><a href="%s">%s</a></p>',
|
||||
$url ,
|
||||
__( 'Activate SSL', 'really-simple-ssl' )
|
||||
);
|
||||
} else {
|
||||
$result['status'] = 'critical';
|
||||
$result['label'] = __( 'No SSL detected.' , 'really-simple-ssl' );
|
||||
$result['description'] = sprintf(
|
||||
'<p>%s</p>',
|
||||
__( 'Really Simple SSL is installed, but no valid SSL certificate is detected.', 'really-simple-ssl' )
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if ( !RSSSL()->really_simple_ssl->has_301_redirect() ) {
|
||||
$result['status'] = 'recommended';
|
||||
$result['label'] = __( 'No 301 redirect to SSL enabled.' , 'really-simple-ssl' );
|
||||
$result['description'] = sprintf(
|
||||
'<p>%s</p>',
|
||||
__( 'To ensure all traffic passes through SSL, please enable a 301 redirect.', 'really-simple-ssl' )
|
||||
);
|
||||
$result['actions'] .= sprintf(
|
||||
'<p><a href="%s">%s</a></p>',
|
||||
$url,
|
||||
__( 'Enable 301 redirect', 'really-simple-ssl' )
|
||||
);
|
||||
} else if ( !is_multisite() && RSSSL()->rsssl_server->uses_htaccess() && !RSSSL()->really_simple_ssl->htaccess_redirect) {
|
||||
$result['status'] = 'recommended';
|
||||
$result['label'] = __( '301 .htaccess redirect is not enabled.' , 'really-simple-ssl' );
|
||||
$result['description'] = sprintf(
|
||||
'<p>%s</p>',
|
||||
__( 'The 301 .htaccess redirect is the fastest and most reliable redirect option.', 'really-simple-ssl' )
|
||||
);
|
||||
$result['actions'] .= sprintf(
|
||||
'<p><a href="%s">%s</a></p>',
|
||||
$url,
|
||||
__( 'Enable 301 .htaccess redirect', 'really-simple-ssl' )
|
||||
);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
5
wp-content/plugins/really-simple-ssl/class-url.php
Normal file
5
wp-content/plugins/really-simple-ssl/class-url.php
Normal file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
for backward compatibility
|
||||
*/
|
||||
147
wp-content/plugins/really-simple-ssl/force-deactivate.txt
Normal file
147
wp-content/plugins/really-simple-ssl/force-deactivate.txt
Normal file
@@ -0,0 +1,147 @@
|
||||
<?php
|
||||
/*
|
||||
* Deactivation page to simple deactivate the plugin when backend is not accessible anymore
|
||||
* To deactivate:
|
||||
* 1) rename this file to force-deactivate.php
|
||||
* 2) Go in your browser to (note use of http, not https) http://yourdomain.com/wp-content/plugins/really-simple-ssl/force-deactivate.php.
|
||||
* 3) IMPORTANT! On execution, this file will automatically get renamed to .txt. If you do not run it, don't forget to change it back.
|
||||
*/
|
||||
|
||||
?>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<?php
|
||||
# No need for the template engine
|
||||
define( 'WP_USE_THEMES', false );
|
||||
|
||||
#find the base path
|
||||
define( 'BASE_PATH', find_wordpress_base_path() . "/" );
|
||||
# Load WordPress Core
|
||||
if ( !file_exists(BASE_PATH . 'wp-load.php') ) {
|
||||
die("WordPress not installed here");
|
||||
}
|
||||
//make sure the files are loaded
|
||||
if (!defined('RSSSL_DOING_SYSTEM_STATUS')) define( 'RSSSL_DOING_SYSTEM_STATUS' , true);
|
||||
|
||||
# Load WordPress Core
|
||||
require_once( BASE_PATH . 'wp-load.php' );
|
||||
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
||||
$core_plugin = 'really-simple-ssl/rlrsssl-really-simple-ssl.php';
|
||||
|
||||
if ( ! is_plugin_active( $core_plugin ) ) {
|
||||
echo "<h1>Really Simple SSL is already deactivated!</h1>";
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$step = 1;
|
||||
echo "<h1>Force deactivation of Really Simple SSL</h1>";
|
||||
echo $step . ". Resetting options" . "<br>";
|
||||
$networkwide = is_multisite();
|
||||
RSSSL()->really_simple_ssl->deactivate( $networkwide );
|
||||
$step ++;
|
||||
|
||||
//add feedback on writable files.
|
||||
if ( count( RSSSL()->really_simple_ssl->errors ) > 0 ) {
|
||||
echo $step . ". Errors occured while deactivating:<ul>";
|
||||
$step ++;
|
||||
foreach ( RSSSL()->really_simple_ssl->errors as $errorname => $error ) {
|
||||
echo "<li>" . $errorname . "</li>";
|
||||
}
|
||||
echo "</ul>";
|
||||
echo "Errors while removing the Really Simple SSL lines from your wp-config.php and .htaccess files, which you can normally find in your webroot."
|
||||
. "<br><br>";
|
||||
}
|
||||
|
||||
echo $step . ". Deactivating plugin" . "<br>";
|
||||
rl_deactivate_plugin( RSSSL()->really_simple_ssl->plugin_dir . "/"
|
||||
. RSSSL()->really_simple_ssl->plugin_filename );
|
||||
|
||||
$step ++;
|
||||
echo $step . ". Completed with <b>"
|
||||
. count( RSSSL()->really_simple_ssl->errors ) . "</b> error(s)" . "<br>";
|
||||
|
||||
|
||||
function rl_remove_plugin_from_array( $plugin, $current ) {
|
||||
$key = array_search( $plugin, $current );
|
||||
if ( false !== $key ) {
|
||||
$do_blog = true;
|
||||
unset( $current[ $key ] );
|
||||
}
|
||||
|
||||
return $current;
|
||||
}
|
||||
|
||||
function rl_deactivate_plugin( $plugin ) {
|
||||
$plugin = plugin_basename( trim( $plugin ) );
|
||||
|
||||
if ( is_multisite() ) {
|
||||
|
||||
$network_current = get_site_option( 'active_sitewide_plugins', array() );
|
||||
if ( is_plugin_active_for_network( $plugin ) ) {
|
||||
unset( $network_current[ $plugin ] );
|
||||
}
|
||||
update_site_option( 'active_sitewide_plugins', $network_current );
|
||||
|
||||
//remove plugin one by one on each site
|
||||
$args = array(
|
||||
'public' => 1,
|
||||
);
|
||||
$sites = get_sites($args);
|
||||
foreach ( $sites as $site ) {
|
||||
switch_to_blog($site->blog_id);
|
||||
$current = get_option( 'active_plugins', array() );
|
||||
$current = rl_remove_plugin_from_array( $plugin, $current );
|
||||
update_option( 'active_plugins', $current );
|
||||
restore_current_blog(); //switches back to previous blog, not current, so we have to do it each loop
|
||||
}
|
||||
|
||||
} else {
|
||||
$current = get_option( 'active_plugins', array() );
|
||||
$current = rl_remove_plugin_from_array( $plugin, $current );
|
||||
update_option( 'active_plugins', $current );
|
||||
}
|
||||
update_option( 'active_plugins', $current );
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to find Wordpress base path.
|
||||
*/
|
||||
function find_wordpress_base_path()
|
||||
{
|
||||
$path = dirname(__FILE__);
|
||||
|
||||
do {
|
||||
if (file_exists($path . "/wp-config.php")) {
|
||||
//check if the wp-load.php file exists here. If not, we assume it's in a subdir.
|
||||
if ( file_exists( $path . '/wp-load.php') ) {
|
||||
return $path;
|
||||
} else {
|
||||
//wp not in this directory. Look in each folder to see if it's there.
|
||||
if ( file_exists( $path ) && $handle = opendir( $path ) ) {
|
||||
while ( false !== ( $file = readdir( $handle ) ) ) {
|
||||
if ( $file != "." && $file != ".." ) {
|
||||
$file = $path .'/' . $file;
|
||||
if ( is_dir( $file ) && file_exists( $file . '/wp-load.php') ) {
|
||||
$path = $file;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir( $handle );
|
||||
}
|
||||
}
|
||||
|
||||
return $path;
|
||||
}
|
||||
} while ($path = realpath("$path/.."));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
rename('force-deactivate.php' , 'force-deactivate.txt');
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
31
wp-content/plugins/really-simple-ssl/functions.php
Normal file
31
wp-content/plugins/really-simple-ssl/functions.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
defined('ABSPATH') or die("you do not have access to this page!");
|
||||
|
||||
/**
|
||||
* Get a Really Simple SSL option by name
|
||||
*
|
||||
* @param string $name
|
||||
* @param mixed $default
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
|
||||
function rsssl_get_option( $name, $default=false ){
|
||||
$name = sanitize_title($name);
|
||||
$options = get_option( 'rsssl_options', array() );
|
||||
return isset($options[$name]) ? $options[$name]: sanitize_title($default);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a Really Simple SSL network option by name
|
||||
* @param string $name
|
||||
* @param mixed $default
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
|
||||
function rsssl_get_network_option( $name, $default=false ){
|
||||
$name = sanitize_title($name);
|
||||
$options = get_site_option( 'rsssl_options', array() );
|
||||
return isset($options[$name]) ? $options[$name]: sanitize_title($default);
|
||||
}
|
||||
709
wp-content/plugins/really-simple-ssl/grid/css/grid-rtl.css
Normal file
709
wp-content/plugins/really-simple-ssl/grid/css/grid-rtl.css
Normal file
@@ -0,0 +1,709 @@
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent,
|
||||
.settings_page_really-simple-ssl #wpcontent {
|
||||
padding: 0;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-footer-item form,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-footer-item form {
|
||||
float: right;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab {
|
||||
padding: 16px 20px 17px 20px;
|
||||
margin-bottom: 0;
|
||||
color: #444;
|
||||
font-weight: normal;
|
||||
font-size: 1.2em;
|
||||
background: inherit;
|
||||
border: 0;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab.nav-tab-active,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab.nav-tab-active {
|
||||
border-bottom: 2px solid #FBC43D;
|
||||
background: #fff;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
@media screen and (max-width: 800px) {
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .nav-tab,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .nav-tab {
|
||||
margin-right: 25px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .documentation,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .documentation {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .nav-tab,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .nav-tab {
|
||||
padding: 22px 3px 10px 3px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .nav-tab-active,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .nav-tab-active {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper {
|
||||
min-height: 60px;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 0;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-logo-container,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-logo-container {
|
||||
margin-right: 25px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-logo-container #rsssl-logo,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-logo-container #rsssl-logo {
|
||||
height: 40px;
|
||||
width: 200px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-logo-container #rsssl-logo img,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-logo-container #rsssl-logo img {
|
||||
width: 200px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
justify-content: flex-end;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-left: 20px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .documentation,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .documentation {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .header-upsell .documentation,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .header-upsell .documentation {
|
||||
margin-right: 25px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .header-upsell a,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .header-upsell a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .header-upsell .header-upsell-pro,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .header-upsell .header-upsell-pro {
|
||||
color: black;
|
||||
border: 3px solid black;
|
||||
margin: 10px;
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
border-radius: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.rsssl-grid {
|
||||
width: calc(100% - 20px);
|
||||
margin: 10px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
/*
|
||||
Footers
|
||||
*/
|
||||
/*
|
||||
Dots
|
||||
*/
|
||||
}
|
||||
.rsssl-grid .button-rsssl-tertiary {
|
||||
background-color: #D7263D;
|
||||
color: white;
|
||||
border: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-wide-button {
|
||||
width: 220px;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-task-list {
|
||||
height: 257px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-toggle-active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress #rsssl-all-tasks,
|
||||
.rsssl-grid .rsssl-progress #rsssl-remaining-tasks {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-tasks-container {
|
||||
border-bottom: 1px solid lightgrey;
|
||||
color: lightgrey;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-tasks-container.active {
|
||||
text-decoration: none;
|
||||
border-bottom: 0;
|
||||
color: initial;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-tasks-inactive {
|
||||
text-decoration: underline;
|
||||
color: lightgrey;
|
||||
}
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: 800px;
|
||||
height: 485px;
|
||||
z-index: 1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: 400px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-close-warning-x {
|
||||
color: #ccc;
|
||||
font-size: 0.9em;
|
||||
margin-left: 25px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0px 0px 5px 5px rgba(222, 222, 222, 0.2);
|
||||
width: 790px;
|
||||
height: 475px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table {
|
||||
display: flex;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
max-height: 340px;
|
||||
width: 100% !important;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr {
|
||||
padding: 0 0 0 0 !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
width: 50%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th {
|
||||
margin-right: 0;
|
||||
width: 90%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th .dashicons-editor-help {
|
||||
font-size: 22px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th .rsssl-tooltip-right {
|
||||
padding-left: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th,
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr td {
|
||||
padding: 6px 0 !important;
|
||||
font-size: 13px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th p,
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr td p {
|
||||
font-size: 13px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container h2 {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-save-settings-feedback {
|
||||
margin-left: 20px;
|
||||
color: #d7263d;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 60px;
|
||||
border-bottom: 1px solid #dedede;
|
||||
padding: 0 25px 0 25px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-instructions a {
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item {
|
||||
display: flex;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item .all-task-count,
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item .open-task-count {
|
||||
padding-right: 3px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item .all-task-count {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-table-td-main-content {
|
||||
padding-right: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content {
|
||||
height: 360px;
|
||||
margin: 10px 25px 10px 25px;
|
||||
border-bottom: 1px solid #dedede;
|
||||
/*
|
||||
Progress block
|
||||
*/
|
||||
/*
|
||||
Tips and Tricks
|
||||
*/
|
||||
/*
|
||||
Default bullet style
|
||||
*/
|
||||
/*
|
||||
Support forum block
|
||||
*/
|
||||
/*
|
||||
Other plugins
|
||||
*/
|
||||
/*
|
||||
Progress labels
|
||||
*/
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block {
|
||||
padding-top: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-bar-container {
|
||||
margin: 0 0 25px 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress {
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
border-radius: 5px;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress .bar {
|
||||
height: 100%;
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress .bar.orange {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 10px 0;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text .rsssl-progress-percentage {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text .rsssl-progress-text {
|
||||
margin-right: 35px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text .rsssl-progress-text a {
|
||||
margin-right: 3px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .rsssl-progress-table tr {
|
||||
position: relative;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .rsssl-progress-table td {
|
||||
padding: 10px 0 10px 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .rsssl-progress-table td + td {
|
||||
padding-right: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks {
|
||||
color: #3c3c3c;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-left: 10px;
|
||||
height: 340px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content .tips-tricks-top {
|
||||
flex-grow: 1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content .tips-tricks-top .rsssl-tips-tricks-element {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content .tips-tricks-top .rsssl-tips-tricks-content {
|
||||
padding-left: 20px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .rsssl-tips-tricks-read-more a {
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-bullet {
|
||||
height: 13px;
|
||||
width: 13px;
|
||||
border-radius: 50%;
|
||||
margin-left: 10px;
|
||||
background-color: lightgrey;
|
||||
text-decoration: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums {
|
||||
display: flex;
|
||||
width: 50%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums a {
|
||||
text-decoration: none;
|
||||
color: #3c3c3c;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 2px 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-bullet {
|
||||
margin: 7px 0 7px 7px;
|
||||
background-color: lightgrey;
|
||||
float: right;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-bullet:hover {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-forums-content {
|
||||
float: right;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-forums-content:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-feedback {
|
||||
color: #d7263d;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell {
|
||||
display: flex !important;
|
||||
flex-direction: row;
|
||||
padding: 7px 0 7px 0;
|
||||
align-items: center;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .plugin-text a {
|
||||
text-decoration: none;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .plugin-text a:hover {
|
||||
color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .rsp-image {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .cmplztc-black {
|
||||
background-color: #333;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .cmplz-blue {
|
||||
background-color: #27ADEA;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .burst-green {
|
||||
background-color: #297A31;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .plugin-status {
|
||||
margin-right: auto;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-status {
|
||||
display: block;
|
||||
min-width: 60px;
|
||||
text-align: center;
|
||||
border-radius: 15px;
|
||||
padding: 4px 8px 4px 8px;
|
||||
font-size: 0.8em;
|
||||
font-weight: 600;
|
||||
height: 17px;
|
||||
line-height: 17px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-premium {
|
||||
background-color: #29b6f6;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-success {
|
||||
background-color: #61ce70;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-open {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-warning {
|
||||
background-color: #d7263d;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 14px 25px 0 25px;
|
||||
height: 40px;
|
||||
bottom: 0;
|
||||
width: 95%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-footer .rsssl-button-save {
|
||||
margin-left: 25px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-footer #rsssl-feedback {
|
||||
font-weight: 600;
|
||||
color: #61ce70;
|
||||
padding-right: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-deactivate-keep-ssl th,
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-deactivate-keep-ssl span {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
height: 247.5px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container {
|
||||
height: 475px / 2;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container .rsssl-grid-item-content {
|
||||
height: 110px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container .rsssl-grid-item-content .form-table tbody tr,
|
||||
.rsssl-grid .rsssl-item.half-height .item-container .rsssl-grid-item-content .form-table tbody th {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container {
|
||||
width: 390px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container th {
|
||||
width: 90% !important;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container .form-table tbody tr {
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-border .item-container {
|
||||
border: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-background .item-container {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer,
|
||||
.rsssl-grid #rsssl-premium-settings-footer {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .rsssl-footer-item form,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .rsssl-footer-item form {
|
||||
float: right;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .rsssl-footer-item + .rsssl-footer-item,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .rsssl-footer-item + .rsssl-footer-item {
|
||||
margin-right: 20px;
|
||||
padding: 4px 0;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .footer-left,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .footer-left {
|
||||
float: right;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .footer-left .upsell,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .footer-left .upsell {
|
||||
min-width: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .footer-right,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .footer-right {
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .hidden,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .hidden {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-system-status-footer-info {
|
||||
margin-left: 20px;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
.rsssl-grid .rsssl-system-status-footer-info .system-status-info {
|
||||
margin-right: 6px;
|
||||
}
|
||||
.rsssl-grid .dot {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
.rsssl-grid .rsssl-dot-success {
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-grid .rsssl-dot-error {
|
||||
background-color: #d7263d;
|
||||
}
|
||||
.upsell-grid-container .rsssl-secondary-header-item img {
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
.rsssl-grid {
|
||||
position: relative;
|
||||
}
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
padding: 10px;
|
||||
height: 475px;
|
||||
min-height: 500px;
|
||||
z-index: 1;
|
||||
}
|
||||
@media only screen and (min-width: 400px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 600px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 1555px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
@media only screen and (min-width: 400px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 600px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 1555px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(25% - 20px);
|
||||
}
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container {
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
}
|
||||
@media only screen and (min-width: 400px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
height: 475px / 2;
|
||||
min-height: 250px;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 600px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 1555px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container {
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
min-height: 250px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .settings.rsssl-item {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-hidden {
|
||||
z-index: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-releasing {
|
||||
z-index: 2;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-dragging {
|
||||
z-index: 3;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header {
|
||||
border-bottom: 1px solid lightgrey;
|
||||
padding: 0;
|
||||
height: 60px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header .rsssl-grid-header-container {
|
||||
margin: 0 20px;
|
||||
height: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header .rsssl-grid-title {
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
padding: 20px 0;
|
||||
font-weight: bold;
|
||||
float: right;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header .rsssl-grid-controls {
|
||||
float: left;
|
||||
margin-top: 20px;
|
||||
color: #cecece;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0 0 5px 5px rgba(222, 222, 222, 0.2);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .item-content {
|
||||
clear: both;
|
||||
margin: 15px;
|
||||
height: calc(100% - 100px);
|
||||
padding-top: 0px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-border .item-container {
|
||||
border: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-background .item-container {
|
||||
background-color: #F1F1F1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-placeholder .item-container {
|
||||
border-style: dashed;
|
||||
padding: 0;
|
||||
}
|
||||
/*# sourceMappingURL=grid-rtl.css.map */
|
||||
File diff suppressed because one or more lines are too long
792
wp-content/plugins/really-simple-ssl/grid/css/grid-rtl.less
Normal file
792
wp-content/plugins/really-simple-ssl/grid/css/grid-rtl.less
Normal file
@@ -0,0 +1,792 @@
|
||||
// RTL generator: https://cssjanus.github.io/
|
||||
@gridblock_height: 475px;
|
||||
@gridblock_width: 800px;
|
||||
@gridblock_width_small:400px;
|
||||
@grid_margin: 10px;
|
||||
@grey_light:#cecece;
|
||||
@box_shadow_color: rgba(222, 222, 222, 0.2);
|
||||
@border_color: #dedede;
|
||||
@color-success: #61ce70;
|
||||
@color_warning: #d7263d;
|
||||
@color_open: #FBC43D;
|
||||
@light-text-color: #3c3c3c;
|
||||
@light-grey: lightgrey;
|
||||
@button-border-color: #6477AA;
|
||||
|
||||
// break points
|
||||
@break-xs: 400px;
|
||||
@break-s: 600px;
|
||||
@break-m: 768px;
|
||||
@break-l: 992px;
|
||||
@break-xl: 1555px;
|
||||
|
||||
// Override default WP settings style
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent, .settings_page_really-simple-ssl #wpcontent{
|
||||
padding: 0;
|
||||
.rsssl-footer-item {
|
||||
form {
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-tab {
|
||||
padding: 16px 20px 17px 20px;
|
||||
margin-bottom:0;
|
||||
color: #444;
|
||||
font-weight: normal;
|
||||
font-size: 1.2em;
|
||||
background: inherit;
|
||||
border: 0;
|
||||
&.nav-tab-active {
|
||||
border-bottom: 2px solid @color_open;
|
||||
background: #fff;
|
||||
padding-bottom:15px;
|
||||
}
|
||||
}
|
||||
|
||||
// Responsive menu
|
||||
@media screen and (max-width: 800px) {
|
||||
.nav-tab-wrapper {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
.nav-tab {
|
||||
margin-right: 25px;
|
||||
}
|
||||
|
||||
.documentation {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 480px) {
|
||||
.nav-tab-wrapper {
|
||||
|
||||
.nav-tab {
|
||||
padding: 22px 3px 10px 3px;
|
||||
}
|
||||
|
||||
.nav-tab-active {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nav-tab-wrapper {
|
||||
min-height: 60px;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 0;
|
||||
}
|
||||
.rsssl-logo-container {
|
||||
margin-right: 25px;
|
||||
#rsssl-logo {
|
||||
height: 40px;
|
||||
width: 200px;
|
||||
img {
|
||||
width:200px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.header-links {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
justify-content: flex-end;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-left: 20px;
|
||||
.documentation {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.header-upsell {
|
||||
.documentation {
|
||||
margin-right:25px;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.header-upsell-pro {
|
||||
color: black;
|
||||
border: 3px solid black;
|
||||
margin: 10px;
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
border-radius: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-grid {
|
||||
width: calc(100% - 20px);
|
||||
margin: @grid_margin;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.button-rsssl-tertiary {
|
||||
background-color: #D7263D;
|
||||
color: white;
|
||||
border:0;
|
||||
}
|
||||
|
||||
.rsssl-wide-button {
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
.rsssl-progress {
|
||||
|
||||
.rsssl-task-list {
|
||||
height: 257px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.rsssl-toggle-active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#rsssl-all-tasks, #rsssl-remaining-tasks {
|
||||
display: none;
|
||||
|
||||
}
|
||||
.rsssl-tasks-container {
|
||||
border-bottom:1px solid lightgrey;
|
||||
color: lightgrey;
|
||||
&.active{
|
||||
text-decoration: none;
|
||||
border-bottom:0;
|
||||
color:initial;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-tasks-inactive {
|
||||
text-decoration: underline;
|
||||
color:@light-grey;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.rsssl-item {
|
||||
width: @gridblock_width ;
|
||||
&.small {
|
||||
width: @gridblock_width_small;
|
||||
}
|
||||
|
||||
.rsssl-close-warning-x {
|
||||
color: #ccc;
|
||||
font-size: 0.9em;
|
||||
margin-left: 25px;
|
||||
}
|
||||
|
||||
height: @gridblock_height + @grid_margin;
|
||||
z-index: 1;
|
||||
.item-container {
|
||||
.form-table {
|
||||
display: flex;
|
||||
tbody {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
max-height: 340px;
|
||||
width: 100% !important;
|
||||
tr {
|
||||
padding: 0 0 0 0 !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
width: 50%;
|
||||
|
||||
td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
th {
|
||||
.dashicons-editor-help {
|
||||
font-size: 22px;
|
||||
}
|
||||
margin-right: 0;
|
||||
width: 90%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
.rsssl-tooltip-right {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
th, td {
|
||||
// Important to override default WP style
|
||||
padding: 6px 0 !important;
|
||||
font-size:13px;
|
||||
p {font-size:13px}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
h2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0px 0px 5px 5px @box_shadow_color;
|
||||
width: @gridblock_width - @grid_margin;
|
||||
height: @gridblock_height;
|
||||
.rsssl-save-settings-feedback {
|
||||
margin-left:20px;
|
||||
color: @color_warning;
|
||||
}
|
||||
.rsssl-grid-item-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 60px;
|
||||
border-bottom: 1px solid @border_color;
|
||||
padding: 0 25px 0 25px;
|
||||
.rsssl-instructions a {
|
||||
color: @light-text-color;
|
||||
}
|
||||
|
||||
.rsssl-secondary-header-item {
|
||||
display: flex;
|
||||
color: @light-text-color;
|
||||
.all-task-count, .open-task-count {
|
||||
padding-right: 3px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
.all-task-count {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.rsssl-table-td-main-content {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
.rsssl-grid-item-content {
|
||||
height: 360px;
|
||||
margin: 10px 25px 10px 25px;
|
||||
border-bottom: 1px solid @border_color;
|
||||
|
||||
/*
|
||||
Progress block
|
||||
*/
|
||||
|
||||
.rsssl-progress-block {
|
||||
padding-top: 10px;
|
||||
|
||||
.progress-bar-container {
|
||||
margin: 0 0 25px 0;
|
||||
}
|
||||
|
||||
.progress {
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
border-radius: 5px;
|
||||
background-color: #f7f7f7;
|
||||
.bar {
|
||||
height: 100%;
|
||||
background-color: @color-success;
|
||||
}
|
||||
.bar.orange {
|
||||
background-color: @color_open;
|
||||
}
|
||||
}
|
||||
|
||||
.progress-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 10px 0;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
|
||||
.rsssl-progress-percentage {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.rsssl-progress-text {
|
||||
margin-right: 35px;
|
||||
font-size:18px;
|
||||
font-weight:600;
|
||||
a {
|
||||
margin-right: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-progress-table {
|
||||
tr {
|
||||
position:relative;
|
||||
}
|
||||
td {
|
||||
padding: 10px 0 10px 10px;
|
||||
}
|
||||
td +td {padding-right:15px;}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Tips and Tricks
|
||||
*/
|
||||
.rsssl-tips-tricks {
|
||||
color: @light-text-color;
|
||||
padding-bottom: 15px;
|
||||
.tips-tricks-content{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-left:10px;
|
||||
height: 340px;
|
||||
.tips-tricks-top {
|
||||
flex-grow:1;
|
||||
|
||||
.rsssl-tips-tricks-element {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.rsssl-tips-tricks-content {
|
||||
padding-left:20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.rsssl-tips-tricks-read-more a {
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
// End tips and tricks
|
||||
|
||||
/*
|
||||
Default bullet style
|
||||
*/
|
||||
.rsssl-bullet {
|
||||
height: 13px;
|
||||
width: 13px;
|
||||
border-radius: 50%;
|
||||
margin-left: 10px;
|
||||
background-color: lightgrey;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/*
|
||||
Support forum block
|
||||
*/
|
||||
|
||||
#rsssl-support-forums-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
.rsssl-support-forums {
|
||||
display: flex;
|
||||
width: 50%;
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: @light-text-color;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding:2px 0;
|
||||
}
|
||||
|
||||
.rsssl-bullet {
|
||||
margin: 7px 0 7px 7px;
|
||||
background-color: @light-grey;
|
||||
float: right;
|
||||
&:hover {
|
||||
background-color: @color_open;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-forums-content {
|
||||
float: right;
|
||||
color: @light-text-color;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#rsssl-feedback {
|
||||
color: @color_warning;
|
||||
}
|
||||
|
||||
/*
|
||||
Other plugins
|
||||
*/
|
||||
|
||||
.rsssl-upsell {
|
||||
display: flex !important; //we need important here, because the grid switch overrides it on element level
|
||||
flex-direction: row;
|
||||
padding: 7px 0 7px 0;
|
||||
align-items: center;
|
||||
color: @light-text-color;
|
||||
|
||||
.plugin-text {
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: @light-text-color;
|
||||
&:hover {
|
||||
color: @color_open;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsp-image {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.cmplztc-black {
|
||||
background-color:#333;
|
||||
}
|
||||
|
||||
.cmplz-blue {
|
||||
background-color: #27ADEA;
|
||||
}
|
||||
|
||||
.burst-green {
|
||||
background-color: #297A31;
|
||||
}
|
||||
|
||||
.plugin-status {
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Progress labels
|
||||
*/
|
||||
.rsssl-progress-status {
|
||||
display: block;
|
||||
min-width: 60px;
|
||||
text-align: center;
|
||||
border-radius: 15px;
|
||||
padding: 4px 8px 4px 8px;
|
||||
font-size: 0.8em;
|
||||
font-weight: 600;
|
||||
height: 17px;
|
||||
line-height:17px;
|
||||
}
|
||||
|
||||
.rsssl-premium {
|
||||
background-color: #29b6f6;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-success {
|
||||
background-color: @color-success;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.rsssl-open {
|
||||
background-color: @color_open;
|
||||
}
|
||||
|
||||
.rsssl-warning {
|
||||
background-color: @color_warning;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
.rsssl-grid-item-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 14px 25px 0 25px;
|
||||
height: 40px;
|
||||
bottom: 0;
|
||||
width: 95%;
|
||||
.rsssl-button-save {
|
||||
margin-left:25px;
|
||||
}
|
||||
#rsssl-feedback {
|
||||
font-weight: 600;
|
||||
color: @color-success;
|
||||
padding-right: 10px;
|
||||
}
|
||||
}
|
||||
.rsssl-deactivate-keep-ssl {
|
||||
th, span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.half-height {
|
||||
height: (@gridblock_height / 2) + @grid_margin;
|
||||
|
||||
.item-container {
|
||||
height: @gridblock_height / 2;
|
||||
.rsssl-grid-item-content {
|
||||
height: 110px;
|
||||
.form-table tbody {
|
||||
tr, th {
|
||||
width:100%;
|
||||
max-width:100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.small {
|
||||
.item-container {
|
||||
width: @gridblock_width_small - @grid_margin;
|
||||
th {
|
||||
width: 90% !important;
|
||||
}
|
||||
.form-table tbody tr {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.no-border {
|
||||
.item-container {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
&.no-background {
|
||||
.item-container {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
Footers
|
||||
*/
|
||||
|
||||
#rsssl-progress-footer, #rsssl-premium-settings-footer {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
margin-left: @grid_margin;
|
||||
.rsssl-footer-item {
|
||||
form {
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
.rsssl-footer-item +.rsssl-footer-item {
|
||||
margin-right:20px;
|
||||
padding:4px 0;
|
||||
}
|
||||
|
||||
.footer-left {
|
||||
float:right;
|
||||
.upsell {
|
||||
min-width: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.footer-right {
|
||||
float:left;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-system-status-footer-info {
|
||||
margin-left: 20px;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
.system-status-info {
|
||||
margin-right: 6px;
|
||||
}
|
||||
}
|
||||
/*
|
||||
Dots
|
||||
*/
|
||||
|
||||
.dot {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
.rsssl-dot-success {
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-dot-error {
|
||||
background-color: #d7263d;
|
||||
}
|
||||
}
|
||||
|
||||
.upsell-grid-container {
|
||||
.rsssl-secondary-header-item {
|
||||
img {
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Code below should be integrated in to the code above.
|
||||
.rsssl-grid {
|
||||
position: relative;
|
||||
.rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
padding: 10px;
|
||||
height: @gridblock_height;
|
||||
min-height: 500px;
|
||||
z-index: 1;
|
||||
@media only screen and (min-width: @break-xs) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-s) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-m) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-l) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-xl) {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
|
||||
&.small {
|
||||
width: calc(100% - 20px);
|
||||
|
||||
@media only screen and (min-width: @break-xs) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-s) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-m) {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-l) {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-xl) {
|
||||
width: calc(25% - 20px);
|
||||
}
|
||||
.item-container{
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.half-height {
|
||||
min-height: 250px;
|
||||
@media only screen and (min-width: @break-xs) {
|
||||
height: @gridblock_height / 2;
|
||||
min-height: 250px;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-s) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-m) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-l) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-xl) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
.item-container {
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
min-height: 250px;
|
||||
}
|
||||
}
|
||||
.settings.rsssl-item{
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
&.muuri-item-hidden {
|
||||
z-index: 0;
|
||||
}
|
||||
&.muuri-item-releasing {
|
||||
z-index: 2;
|
||||
}
|
||||
&.muuri-item-dragging {
|
||||
z-index: 3;
|
||||
}
|
||||
.rsssl-grid-header {
|
||||
border-bottom: 1px solid @light-grey;
|
||||
padding: 0;
|
||||
height: 60px;
|
||||
.rsssl-grid-header-container {
|
||||
margin: 0 20px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.rsssl-grid-title{
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
padding: 20px 0;
|
||||
font-weight: bold;
|
||||
float: right;
|
||||
}
|
||||
.rsssl-grid-controls {
|
||||
float: left;
|
||||
margin-top: 20px;
|
||||
color: #cecece;
|
||||
}
|
||||
}
|
||||
.item-container {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0 0 5px 5px rgba(222,222,222,0.2);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
||||
.item-content {
|
||||
clear:both;
|
||||
margin:15px;
|
||||
height: calc(100% - 100px);
|
||||
padding-top: 0px;
|
||||
padding-bottom:10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.no-border {
|
||||
.item-container {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
&.no-background {
|
||||
.item-container {
|
||||
background-color: #F1F1F1;
|
||||
}
|
||||
}
|
||||
|
||||
&.muuri-item-placeholder .item-container {
|
||||
border-style: dashed;
|
||||
padding:0;
|
||||
}
|
||||
}
|
||||
}
|
||||
1
wp-content/plugins/really-simple-ssl/grid/css/grid-rtl.min.css
vendored
Normal file
1
wp-content/plugins/really-simple-ssl/grid/css/grid-rtl.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
709
wp-content/plugins/really-simple-ssl/grid/css/grid.css
Normal file
709
wp-content/plugins/really-simple-ssl/grid/css/grid.css
Normal file
@@ -0,0 +1,709 @@
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent,
|
||||
.settings_page_really-simple-ssl #wpcontent {
|
||||
padding: 0;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-footer-item form,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-footer-item form {
|
||||
float: left;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab {
|
||||
padding: 16px 20px 17px 20px;
|
||||
margin-bottom: 0;
|
||||
color: #444;
|
||||
font-weight: normal;
|
||||
font-size: 1.2em;
|
||||
background: inherit;
|
||||
border: 0;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab.nav-tab-active,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab.nav-tab-active {
|
||||
border-bottom: 2px solid #FBC43D;
|
||||
background: #fff;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
@media screen and (max-width: 800px) {
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .nav-tab,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .nav-tab {
|
||||
margin-left: 25px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .documentation,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .documentation {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .nav-tab,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .nav-tab {
|
||||
padding: 22px 3px 10px 3px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper .nav-tab-active,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper .nav-tab-active {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .nav-tab-wrapper,
|
||||
.settings_page_really-simple-ssl #wpcontent .nav-tab-wrapper {
|
||||
min-height: 60px;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 0;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-logo-container,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-logo-container {
|
||||
margin-left: 25px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-logo-container #rsssl-logo,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-logo-container #rsssl-logo {
|
||||
height: 40px;
|
||||
width: 200px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .rsssl-logo-container #rsssl-logo img,
|
||||
.settings_page_really-simple-ssl #wpcontent .rsssl-logo-container #rsssl-logo img {
|
||||
width: 200px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
justify-content: flex-end;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .documentation,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .documentation {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .header-upsell .documentation,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .header-upsell .documentation {
|
||||
margin-left: 25px;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .header-upsell a,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .header-upsell a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent .header-links .header-upsell .header-upsell-pro,
|
||||
.settings_page_really-simple-ssl #wpcontent .header-links .header-upsell .header-upsell-pro {
|
||||
color: black;
|
||||
border: 3px solid black;
|
||||
margin: 10px;
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
border-radius: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.rsssl-grid {
|
||||
width: calc(100% - 20px);
|
||||
margin: 10px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
/*
|
||||
Footers
|
||||
*/
|
||||
/*
|
||||
Dots
|
||||
*/
|
||||
}
|
||||
.rsssl-grid .button-rsssl-tertiary {
|
||||
background-color: #D7263D;
|
||||
color: white;
|
||||
border: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-wide-button {
|
||||
width: 220px;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-task-list {
|
||||
height: 257px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-toggle-active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress #rsssl-all-tasks,
|
||||
.rsssl-grid .rsssl-progress #rsssl-remaining-tasks {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-tasks-container {
|
||||
border-bottom: 1px solid lightgrey;
|
||||
color: lightgrey;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-tasks-container.active {
|
||||
text-decoration: none;
|
||||
border-bottom: 0;
|
||||
color: initial;
|
||||
}
|
||||
.rsssl-grid .rsssl-progress .rsssl-tasks-inactive {
|
||||
text-decoration: underline;
|
||||
color: lightgrey;
|
||||
}
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: 800px;
|
||||
height: 485px;
|
||||
z-index: 1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: 400px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-close-warning-x {
|
||||
color: #ccc;
|
||||
margin-right: 25px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0px 0px 5px 5px rgba(222, 222, 222, 0.2);
|
||||
width: 790px;
|
||||
height: 475px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table {
|
||||
display: flex;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
max-height: 340px;
|
||||
width: 100% !important;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr {
|
||||
padding: 0 0 0 0 !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
width: 50%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th {
|
||||
margin-left: 0;
|
||||
width: 90%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th .dashicons-editor-help {
|
||||
font-size: 22px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th .rsssl-tooltip-right {
|
||||
padding-right: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th,
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr td {
|
||||
padding: 6px 0 !important;
|
||||
font-size: 13px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr th p,
|
||||
.rsssl-grid .rsssl-item .item-container .form-table tbody tr td p {
|
||||
font-size: 13px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container h2 {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-save-settings-feedback {
|
||||
margin-right: 20px;
|
||||
color: #d7263d;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 60px;
|
||||
border-bottom: 1px solid #dedede;
|
||||
padding: 0 25px 0 25px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-instructions a {
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item {
|
||||
display: flex;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item .all-task-count,
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item .open-task-count {
|
||||
padding-left: 3px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-header .rsssl-secondary-header-item .all-task-count {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-table-td-main-content {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content {
|
||||
height: 360px;
|
||||
margin: 10px 25px 10px 25px;
|
||||
border-bottom: 1px solid #dedede;
|
||||
/*
|
||||
Progress block
|
||||
*/
|
||||
/*
|
||||
Tips and Tricks
|
||||
*/
|
||||
/*
|
||||
Default bullet style
|
||||
*/
|
||||
/*
|
||||
Support forum block
|
||||
*/
|
||||
/*
|
||||
Other plugins
|
||||
*/
|
||||
/*
|
||||
Progress labels
|
||||
*/
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block {
|
||||
padding-top: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-bar-container {
|
||||
margin: 0 0 25px 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress {
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
border-radius: 5px;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress .bar {
|
||||
height: 100%;
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress .bar.orange {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 10px 0;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text .rsssl-progress-percentage {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text .rsssl-progress-text {
|
||||
margin-left: 35px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .progress-text .rsssl-progress-text a {
|
||||
margin-left: 3px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .rsssl-progress-table tr {
|
||||
position: relative;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .rsssl-progress-table td {
|
||||
padding: 10px 10px 10px 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-block .rsssl-progress-table td + td {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks {
|
||||
color: #3c3c3c;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-right: 10px;
|
||||
height: 340px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content .tips-tricks-top {
|
||||
flex-grow: 1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content .tips-tricks-top .rsssl-tips-tricks-element {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .tips-tricks-content .tips-tricks-top .rsssl-tips-tricks-content {
|
||||
padding-right: 20px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-tips-tricks .rsssl-tips-tricks-read-more a {
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-bullet {
|
||||
height: 13px;
|
||||
width: 13px;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
background-color: lightgrey;
|
||||
text-decoration: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums {
|
||||
display: flex;
|
||||
width: 50%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums a {
|
||||
text-decoration: none;
|
||||
color: #3c3c3c;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 2px 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-bullet {
|
||||
margin: 7px 7px 7px 0;
|
||||
background-color: lightgrey;
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-bullet:hover {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-forums-content {
|
||||
float: left;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-support-forums-container .rsssl-support-forums .rsssl-forums-content:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content #rsssl-feedback {
|
||||
color: #d7263d;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell {
|
||||
display: flex !important;
|
||||
flex-direction: row;
|
||||
padding: 7px 0 7px 0;
|
||||
align-items: center;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .plugin-text a {
|
||||
text-decoration: none;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .plugin-text a:hover {
|
||||
color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .rsp-image {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .burst-green {
|
||||
background-color: #297A31;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .cmplztc-black {
|
||||
background-color: #333;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .cmplz-blue {
|
||||
background-color: #27ADEA;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-upsell .plugin-status {
|
||||
margin-left: auto;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-progress-status {
|
||||
display: block;
|
||||
min-width: 60px;
|
||||
text-align: center;
|
||||
border-radius: 15px;
|
||||
padding: 4px 8px 4px 8px;
|
||||
font-size: 0.8em;
|
||||
font-weight: 600;
|
||||
height: 17px;
|
||||
line-height: 17px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-premium {
|
||||
background-color: #29b6f6;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-success {
|
||||
background-color: #61ce70;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-open {
|
||||
background-color: #FBC43D;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-content .rsssl-warning {
|
||||
background-color: #d7263d;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 14px 25px 0 25px;
|
||||
height: 40px;
|
||||
bottom: 0;
|
||||
width: 95%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-footer .rsssl-button-save {
|
||||
margin-right: 25px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-grid-item-footer #rsssl-feedback {
|
||||
font-weight: 600;
|
||||
color: #61ce70;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-deactivate-keep-ssl th,
|
||||
.rsssl-grid .rsssl-item .item-container .rsssl-deactivate-keep-ssl span {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
height: 247.5px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container {
|
||||
height: 475px / 2;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container .rsssl-grid-item-content {
|
||||
height: 110px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container .rsssl-grid-item-content .form-table tbody tr,
|
||||
.rsssl-grid .rsssl-item.half-height .item-container .rsssl-grid-item-content .form-table tbody th {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container {
|
||||
width: 390px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container th {
|
||||
width: 90% !important;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container .form-table tbody tr {
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-border .item-container {
|
||||
border: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-background .item-container {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer,
|
||||
.rsssl-grid #rsssl-premium-settings-footer {
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .rsssl-footer-item form,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .rsssl-footer-item form {
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .rsssl-footer-item + .rsssl-footer-item,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .rsssl-footer-item + .rsssl-footer-item {
|
||||
margin-left: 20px;
|
||||
padding: 4px 0;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .footer-left,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .footer-left {
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .footer-left .upsell,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .footer-left .upsell {
|
||||
min-width: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .footer-right,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .footer-right {
|
||||
float: right;
|
||||
}
|
||||
.rsssl-grid #rsssl-progress-footer .hidden,
|
||||
.rsssl-grid #rsssl-premium-settings-footer .hidden {
|
||||
display: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-system-status-footer-info {
|
||||
margin-right: 20px;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
}
|
||||
.rsssl-grid .rsssl-system-status-footer-info .system-status-info {
|
||||
margin-left: 6px;
|
||||
}
|
||||
.rsssl-grid .dot {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
.rsssl-grid .rsssl-dot-success {
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-grid .rsssl-dot-error {
|
||||
background-color: #d7263d;
|
||||
}
|
||||
.upsell-grid-container .rsssl-secondary-header-item img {
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
.rsssl-grid {
|
||||
position: relative;
|
||||
}
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
padding: 10px;
|
||||
height: 475px;
|
||||
min-height: 500px;
|
||||
z-index: 1;
|
||||
}
|
||||
@media only screen and (min-width: 400px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 600px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 1555px) {
|
||||
.rsssl-grid .rsssl-item {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
@media only screen and (min-width: 400px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 600px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 1555px) {
|
||||
.rsssl-grid .rsssl-item.small {
|
||||
width: calc(25% - 20px);
|
||||
}
|
||||
}
|
||||
.rsssl-grid .rsssl-item.small .item-container {
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
}
|
||||
@media only screen and (min-width: 400px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
height: 475px / 2;
|
||||
min-height: 250px;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 600px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 1555px) {
|
||||
.rsssl-grid .rsssl-item.half-height {
|
||||
min-height: 250px;
|
||||
height: 475px / 2;
|
||||
}
|
||||
}
|
||||
.rsssl-grid .rsssl-item.half-height .item-container {
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
min-height: 250px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .settings.rsssl-item {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-hidden {
|
||||
z-index: 0;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-releasing {
|
||||
z-index: 2;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-dragging {
|
||||
z-index: 3;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header {
|
||||
border-bottom: 1px solid lightgrey;
|
||||
padding: 0;
|
||||
height: 60px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header .rsssl-grid-header-container {
|
||||
margin: 0 20px;
|
||||
height: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header .rsssl-grid-title {
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
padding: 20px 0;
|
||||
font-weight: bold;
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .rsssl-grid-header .rsssl-grid-controls {
|
||||
float: right;
|
||||
margin-top: 20px;
|
||||
color: #cecece;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0 0 5px 5px rgba(222, 222, 222, 0.2);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
.rsssl-grid .rsssl-item .item-container .item-content {
|
||||
clear: both;
|
||||
margin: 15px;
|
||||
height: calc(100% - 100px);
|
||||
padding-top: 0px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-border .item-container {
|
||||
border: none;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.no-background .item-container {
|
||||
background-color: #F1F1F1;
|
||||
}
|
||||
.rsssl-grid .rsssl-item.muuri-item-placeholder .item-container {
|
||||
border-style: dashed;
|
||||
padding: 0;
|
||||
}
|
||||
/*# sourceMappingURL=grid.css.map */
|
||||
File diff suppressed because one or more lines are too long
793
wp-content/plugins/really-simple-ssl/grid/css/grid.less
Normal file
793
wp-content/plugins/really-simple-ssl/grid/css/grid.less
Normal file
@@ -0,0 +1,793 @@
|
||||
// RTL generator: https://cssjanus.github.io/
|
||||
@gridblock_height: 475px;
|
||||
@gridblock_width: 800px;
|
||||
@gridblock_width_small:400px;
|
||||
@grid_margin: 10px;
|
||||
@grey_light:#cecece;
|
||||
@box_shadow_color: rgba(222, 222, 222, 0.2);
|
||||
@border_color: #dedede;
|
||||
@color-success: #61ce70;
|
||||
@color_warning: #d7263d;
|
||||
@color_open: #FBC43D;
|
||||
@light-text-color: #3c3c3c;
|
||||
@light-grey: lightgrey;
|
||||
@button-border-color: #6477AA;
|
||||
|
||||
// break points
|
||||
@break-xs: 400px;
|
||||
@break-s: 600px;
|
||||
@break-m: 768px;
|
||||
@break-l: 992px;
|
||||
@break-xl: 1555px;
|
||||
|
||||
// Override default WP settings style
|
||||
.settings_page_rlrsssl_really_simple_ssl #wpcontent, .settings_page_really-simple-ssl #wpcontent{
|
||||
padding: 0;
|
||||
.rsssl-footer-item {
|
||||
form {
|
||||
float:left;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-tab {
|
||||
padding: 16px 20px 17px 20px;
|
||||
margin-bottom:0;
|
||||
color: #444;
|
||||
font-weight: normal;
|
||||
font-size: 1.2em;
|
||||
background: inherit;
|
||||
border: 0;
|
||||
&.nav-tab-active {
|
||||
border-bottom: 2px solid @color_open;
|
||||
background: #fff;
|
||||
padding-bottom:15px;
|
||||
}
|
||||
}
|
||||
|
||||
// Responsive menu
|
||||
@media screen and (max-width: 800px) {
|
||||
.nav-tab-wrapper {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
.nav-tab {
|
||||
margin-left: 25px;
|
||||
}
|
||||
|
||||
.documentation {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 480px) {
|
||||
.nav-tab-wrapper {
|
||||
|
||||
.nav-tab {
|
||||
padding: 22px 3px 10px 3px;
|
||||
}
|
||||
|
||||
.nav-tab-active {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nav-tab-wrapper {
|
||||
min-height: 60px;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 0;
|
||||
}
|
||||
.rsssl-logo-container {
|
||||
margin-left: 25px;
|
||||
#rsssl-logo {
|
||||
height: 40px;
|
||||
width: 200px;
|
||||
img {
|
||||
width:200px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.header-links {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
justify-content: flex-end;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-right: 20px;
|
||||
.documentation {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.header-upsell {
|
||||
.documentation {
|
||||
margin-left:25px;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.header-upsell-pro {
|
||||
color: black;
|
||||
border: 3px solid black;
|
||||
margin: 10px;
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
border-radius: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-grid {
|
||||
width: calc(100% - 20px);
|
||||
margin: @grid_margin;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.button-rsssl-tertiary {
|
||||
background-color: #D7263D;
|
||||
color: white;
|
||||
border:0;
|
||||
}
|
||||
|
||||
.rsssl-wide-button {
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
.rsssl-progress {
|
||||
|
||||
.rsssl-task-list {
|
||||
height: 257px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.rsssl-toggle-active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#rsssl-all-tasks, #rsssl-remaining-tasks {
|
||||
display: none;
|
||||
|
||||
}
|
||||
.rsssl-tasks-container {
|
||||
border-bottom:1px solid lightgrey;
|
||||
color: lightgrey;
|
||||
&.active{
|
||||
text-decoration: none;
|
||||
border-bottom:0;
|
||||
color:initial;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-tasks-inactive {
|
||||
text-decoration: underline;
|
||||
color:@light-grey;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.rsssl-item {
|
||||
width: @gridblock_width ;
|
||||
&.small {
|
||||
width: @gridblock_width_small;
|
||||
}
|
||||
|
||||
.rsssl-close-warning-x {
|
||||
color: #ccc;
|
||||
margin-right: 25px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
height: @gridblock_height + @grid_margin;
|
||||
z-index: 1;
|
||||
.item-container {
|
||||
.form-table {
|
||||
display: flex;
|
||||
tbody {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
max-height: 340px;
|
||||
width: 100% !important;
|
||||
tr {
|
||||
padding: 0 0 0 0 !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
width: 50%;
|
||||
|
||||
td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
th {
|
||||
.dashicons-editor-help {
|
||||
font-size: 22px;
|
||||
}
|
||||
margin-left: 0;
|
||||
width: 90%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
.rsssl-tooltip-right {
|
||||
padding-right: 10px;
|
||||
}
|
||||
}
|
||||
th, td {
|
||||
// Important to override default WP style
|
||||
padding: 6px 0 !important;
|
||||
font-size:13px;
|
||||
p {font-size:13px}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
h2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0px 0px 5px 5px @box_shadow_color;
|
||||
width: @gridblock_width - @grid_margin;
|
||||
height: @gridblock_height;
|
||||
.rsssl-save-settings-feedback {
|
||||
margin-right:20px;
|
||||
color: @color_warning;
|
||||
}
|
||||
.rsssl-grid-item-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 60px;
|
||||
border-bottom: 1px solid @border_color;
|
||||
padding: 0 25px 0 25px;
|
||||
.rsssl-instructions a {
|
||||
color: @light-text-color;
|
||||
}
|
||||
|
||||
.rsssl-secondary-header-item {
|
||||
display: flex;
|
||||
color: @light-text-color;
|
||||
.all-task-count, .open-task-count {
|
||||
padding-left: 3px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
.all-task-count {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.rsssl-table-td-main-content {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
.rsssl-grid-item-content {
|
||||
height: 360px;
|
||||
margin: 10px 25px 10px 25px;
|
||||
border-bottom: 1px solid @border_color;
|
||||
|
||||
/*
|
||||
Progress block
|
||||
*/
|
||||
|
||||
.rsssl-progress-block {
|
||||
padding-top: 10px;
|
||||
|
||||
.progress-bar-container {
|
||||
margin: 0 0 25px 0;
|
||||
}
|
||||
|
||||
.progress {
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
border-radius: 5px;
|
||||
background-color: #f7f7f7;
|
||||
.bar {
|
||||
height: 100%;
|
||||
background-color: @color-success;
|
||||
}
|
||||
.bar.orange {
|
||||
background-color: @color_open;
|
||||
}
|
||||
}
|
||||
|
||||
.progress-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 10px 0;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
|
||||
.rsssl-progress-percentage {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.rsssl-progress-text {
|
||||
margin-left: 35px;
|
||||
font-size:18px;
|
||||
font-weight:600;
|
||||
a {
|
||||
margin-left: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-progress-table {
|
||||
tr {
|
||||
position:relative;
|
||||
}
|
||||
td {
|
||||
padding: 10px 10px 10px 0;
|
||||
}
|
||||
td +td {padding-left:15px;}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Tips and Tricks
|
||||
*/
|
||||
.rsssl-tips-tricks {
|
||||
color: @light-text-color;
|
||||
padding-bottom: 15px;
|
||||
.tips-tricks-content{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-right:10px;
|
||||
height: 340px;
|
||||
.tips-tricks-top {
|
||||
flex-grow:1;
|
||||
|
||||
.rsssl-tips-tricks-element {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.rsssl-tips-tricks-content {
|
||||
padding-right:20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.rsssl-tips-tricks-read-more a {
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
// End tips and tricks
|
||||
|
||||
/*
|
||||
Default bullet style
|
||||
*/
|
||||
.rsssl-bullet {
|
||||
height: 13px;
|
||||
width: 13px;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
background-color: lightgrey;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/*
|
||||
Support forum block
|
||||
*/
|
||||
|
||||
#rsssl-support-forums-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
.rsssl-support-forums {
|
||||
display: flex;
|
||||
width: 50%;
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: @light-text-color;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding:2px 0;
|
||||
}
|
||||
|
||||
.rsssl-bullet {
|
||||
margin: 7px 7px 7px 0;
|
||||
background-color: @light-grey;
|
||||
float: left;
|
||||
&:hover {
|
||||
background-color: @color_open;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-forums-content {
|
||||
float: left;
|
||||
color: @light-text-color;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#rsssl-feedback {
|
||||
color: @color_warning;
|
||||
}
|
||||
|
||||
/*
|
||||
Other plugins
|
||||
*/
|
||||
|
||||
.rsssl-upsell {
|
||||
display: flex !important; //we need important here, because the grid switch overrides it on element level
|
||||
flex-direction: row;
|
||||
padding: 7px 0 7px 0;
|
||||
align-items: center;
|
||||
color: @light-text-color;
|
||||
|
||||
.plugin-text {
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: @light-text-color;
|
||||
&:hover {
|
||||
color: @color_open;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rsp-image {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.burst-green {
|
||||
background-color: #297A31;
|
||||
}
|
||||
.cmplztc-black {
|
||||
background-color:#333;
|
||||
}
|
||||
|
||||
.cmplz-blue {
|
||||
background-color: #27ADEA;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.plugin-status {
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Progress labels
|
||||
*/
|
||||
.rsssl-progress-status {
|
||||
display: block;
|
||||
min-width: 60px;
|
||||
text-align: center;
|
||||
border-radius: 15px;
|
||||
padding: 4px 8px 4px 8px;
|
||||
font-size: 0.8em;
|
||||
font-weight: 600;
|
||||
height: 17px;
|
||||
line-height:17px;
|
||||
}
|
||||
|
||||
.rsssl-premium {
|
||||
background-color: #29b6f6;
|
||||
color: white;
|
||||
}
|
||||
.rsssl-success {
|
||||
background-color: @color-success;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.rsssl-open {
|
||||
background-color: @color_open;
|
||||
}
|
||||
|
||||
.rsssl-warning {
|
||||
background-color: @color_warning;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
.rsssl-grid-item-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 14px 25px 0 25px;
|
||||
height: 40px;
|
||||
bottom: 0;
|
||||
width: 95%;
|
||||
.rsssl-button-save {
|
||||
margin-right:25px;
|
||||
}
|
||||
#rsssl-feedback {
|
||||
font-weight: 600;
|
||||
color: @color-success;
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
.rsssl-deactivate-keep-ssl {
|
||||
th, span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.half-height {
|
||||
height: (@gridblock_height / 2) + @grid_margin;
|
||||
|
||||
.item-container {
|
||||
height: @gridblock_height / 2;
|
||||
.rsssl-grid-item-content {
|
||||
height: 110px;
|
||||
.form-table tbody {
|
||||
tr, th {
|
||||
width:100%;
|
||||
max-width:100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.small {
|
||||
.item-container {
|
||||
width: @gridblock_width_small - @grid_margin;
|
||||
th {
|
||||
width: 90% !important;
|
||||
}
|
||||
.form-table tbody tr {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.no-border {
|
||||
.item-container {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
&.no-background {
|
||||
.item-container {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
Footers
|
||||
*/
|
||||
|
||||
#rsssl-progress-footer, #rsssl-premium-settings-footer {
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-right: @grid_margin;
|
||||
.rsssl-footer-item {
|
||||
form {
|
||||
float:left;
|
||||
}
|
||||
}
|
||||
.rsssl-footer-item +.rsssl-footer-item {
|
||||
margin-left:20px;
|
||||
padding:4px 0;
|
||||
}
|
||||
|
||||
.footer-left {
|
||||
float:left;
|
||||
.upsell {
|
||||
min-width: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.footer-right {
|
||||
float:right;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.rsssl-system-status-footer-info {
|
||||
margin-right: 20px;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
.system-status-info {
|
||||
margin-left: 6px;
|
||||
}
|
||||
}
|
||||
/*
|
||||
Dots
|
||||
*/
|
||||
|
||||
.dot {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
.rsssl-dot-success {
|
||||
background-color: #61ce70;
|
||||
}
|
||||
.rsssl-dot-error {
|
||||
background-color: #d7263d;
|
||||
}
|
||||
}
|
||||
|
||||
.upsell-grid-container {
|
||||
.rsssl-secondary-header-item {
|
||||
img {
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Code below should be integrated in to the code above.
|
||||
.rsssl-grid {
|
||||
position: relative;
|
||||
.rsssl-item {
|
||||
width: calc(100% - 20px);
|
||||
padding: 10px;
|
||||
height: @gridblock_height;
|
||||
min-height: 500px;
|
||||
z-index: 1;
|
||||
@media only screen and (min-width: @break-xs) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-s) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-m) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-l) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-xl) {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
|
||||
&.small {
|
||||
width: calc(100% - 20px);
|
||||
|
||||
@media only screen and (min-width: @break-xs) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-s) {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-m) {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-l) {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-xl) {
|
||||
width: calc(25% - 20px);
|
||||
}
|
||||
.item-container{
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.half-height {
|
||||
min-height: 250px;
|
||||
@media only screen and (min-width: @break-xs) {
|
||||
height: @gridblock_height / 2;
|
||||
min-height: 250px;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-s) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-m) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-l) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @break-xl) {
|
||||
min-height: 250px;
|
||||
height: @gridblock_height / 2;
|
||||
}
|
||||
|
||||
.item-container {
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
min-height: 250px;
|
||||
}
|
||||
}
|
||||
.settings.rsssl-item{
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
&.muuri-item-hidden {
|
||||
z-index: 0;
|
||||
}
|
||||
&.muuri-item-releasing {
|
||||
z-index: 2;
|
||||
}
|
||||
&.muuri-item-dragging {
|
||||
z-index: 3;
|
||||
}
|
||||
.rsssl-grid-header {
|
||||
border-bottom: 1px solid @light-grey;
|
||||
padding: 0;
|
||||
height: 60px;
|
||||
.rsssl-grid-header-container {
|
||||
margin: 0 20px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.rsssl-grid-title{
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
padding: 20px 0;
|
||||
font-weight: bold;
|
||||
float: left;
|
||||
}
|
||||
.rsssl-grid-controls {
|
||||
float: right;
|
||||
margin-top: 20px;
|
||||
color: #cecece;
|
||||
}
|
||||
}
|
||||
.item-container {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
box-shadow: 0 0 5px 5px rgba(222,222,222,0.2);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
||||
.item-content {
|
||||
clear:both;
|
||||
margin:15px;
|
||||
height: calc(100% - 100px);
|
||||
padding-top: 0px;
|
||||
padding-bottom:10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.no-border {
|
||||
.item-container {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
&.no-background {
|
||||
.item-container {
|
||||
background-color: #F1F1F1;
|
||||
}
|
||||
}
|
||||
|
||||
&.muuri-item-placeholder .item-container {
|
||||
border-style: dashed;
|
||||
padding:0;
|
||||
}
|
||||
}
|
||||
}
|
||||
1
wp-content/plugins/really-simple-ssl/grid/css/grid.min.css
vendored
Normal file
1
wp-content/plugins/really-simple-ssl/grid/css/grid.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,10 @@
|
||||
<div class="rsssl-grid">
|
||||
<?php $hide = isset( $_GET['settings-updated']) ? 'rsssl-settings-saved--fade-in': ''; ?>
|
||||
<div class="rsssl-settings-saved <?php echo $hide?>">
|
||||
<div class="rsssl-settings-saved__text_and_icon">
|
||||
<span><div class="rsssl-tooltip-icon dashicons-before rsssl-icon rsssl-success check"><svg width="18" height="18" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1671 566q0 40-28 68l-724 724-136 136q-28 28-68 28t-68-28l-136-136-362-362q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295 656-657q28-28 68-28t68 28l136 136q28 28 28 68z"></path></svg></div></span>
|
||||
<span><?php _e('Changes saved successfully', 'really-simple-ssl') ?> </span>
|
||||
</div>
|
||||
</div>
|
||||
{content}
|
||||
</div>
|
||||
@@ -0,0 +1,16 @@
|
||||
<div class="rsssl-item {class}">
|
||||
<div class="item-container">
|
||||
{form_open}
|
||||
<div class="rsssl-grid-item-header">
|
||||
<h3>{title}</h3>
|
||||
{header}
|
||||
</div>
|
||||
<div class="rsssl-grid-item-content">
|
||||
{content}
|
||||
</div>
|
||||
<div class="rsssl-grid-item-footer">
|
||||
{footer}
|
||||
</div>
|
||||
{form_close}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
|
||||
<div class="rsssl-secondary-header-item">
|
||||
<div class="rsssl-save-settings-feedback" style="display: none;">
|
||||
<?php _e("Save settings" , "really-simple-ssl") ?>
|
||||
</div>
|
||||
<div class="rsssl-instructions">{instructions}</div>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!");
|
||||
settings_fields('rsssl_network_options');
|
||||
do_settings_sections("really-simple-ssl");
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!");
|
||||
$plugins = array(
|
||||
'COMPLIANZTC' => array(
|
||||
'constant_free' => 'cmplz_tc_version',
|
||||
'constant_premium' => 'cmplz_tc_version',
|
||||
'website' => 'https://complianz.io?src=rsssl-plugin',
|
||||
'search' => 'complianz+terms+conditions+stand-alone',
|
||||
),
|
||||
'COMPLIANZ' => array(
|
||||
'constant_free' => 'cmplz_plugin',
|
||||
'constant_premium' => 'cmplz_premium',
|
||||
'website' => 'https://complianz.io/pricing/?src=rsssl-plugin',
|
||||
'search' => 'complianz+really+simple+cookies+rogierlankhorst',
|
||||
),
|
||||
'BURST' => array(
|
||||
'constant_free' => 'burst_version',
|
||||
'constant_premium' => 'burst_version',
|
||||
'website' => 'https://burst-statistics.com',
|
||||
'search' => 'burst+statistics+really+simple+plugins+self-hosted',
|
||||
),
|
||||
);
|
||||
?>
|
||||
<div>
|
||||
<div class="rsssl-upsell rsssl-cmplz">
|
||||
<div class="plugin-color">
|
||||
<div class="cmplz-blue rsssl-bullet"></div>
|
||||
</div>
|
||||
<div class="plugin-text">
|
||||
<a href="https://wordpress.org/plugins/complianz-gdpr/" target="_blank">Complianz – GDPR/CCPA Cookie Consent</a>
|
||||
</div>
|
||||
<div class="plugin-status">
|
||||
<?php echo RSSSL()->really_simple_ssl->get_status_link($plugins['COMPLIANZ'])?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rsssl-upsell rsssl-burst">
|
||||
<div class="plugin-color">
|
||||
<div class="burst-green rsssl-bullet"></div>
|
||||
</div>
|
||||
<div class="plugin-text">
|
||||
<a href="https://wordpress.org/plugins/burst-statistics/" target="_blank">Burst Statistics - <?php _e("Self-hosted, Privacy-friendly analytics tool", "really-simple-ssl")?></a>
|
||||
</div>
|
||||
<div class="plugin-status">
|
||||
<?php echo RSSSL()->really_simple_ssl->get_status_link($plugins['BURST'])?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rsssl-upsell rsssl-cmplztc">
|
||||
<div class="plugin-color">
|
||||
<div class="cmplztc-black rsssl-bullet"></div>
|
||||
</div>
|
||||
<div class="plugin-text">
|
||||
<a href="https://wordpress.org/plugins/complianz-terms-conditions/" target="_blank">Complianz - Terms & Conditions</a>
|
||||
</div>
|
||||
<div class="plugin-status">
|
||||
<?php echo RSSSL()->really_simple_ssl->get_status_link($plugins['COMPLIANZTC'])?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<div class="rsssl-secondary-header-item">
|
||||
<a href="https://really-simple-plugins.com/">
|
||||
<img src="<?php echo rsssl_url?>assets/really-simple-plugins.png" alt="Really Simple Plugins Logo">
|
||||
</a>
|
||||
</div>
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
|
||||
<?php
|
||||
if (RSSSL()->really_simple_ssl->ssl_enabled) {
|
||||
$ssl_enabled = "rsssl-dot-success";
|
||||
$ssl_text = __("SSL Activated", "really-simple-ssl");
|
||||
} else {
|
||||
$ssl_enabled = "rsssl-dot-error";
|
||||
$ssl_text = __("SSL Not activated", "really-simple-ssl");
|
||||
}
|
||||
|
||||
if (RSSSL()->really_simple_ssl->has_301_redirect()) {
|
||||
$redirect_301 = "rsssl-dot-success";
|
||||
} else {
|
||||
$redirect_301 = "rsssl-dot-error";
|
||||
}
|
||||
|
||||
|
||||
$button_text = __("Go PRO!", "really-simple-ssl");
|
||||
$button_link = RSSSL()->really_simple_ssl->pro_url;
|
||||
$go_pro = "<a href='$button_link' target='_blank' class='button button-default upsell'>$button_text</a>";
|
||||
$activate_btn = "";
|
||||
if (!RSSSL()->really_simple_ssl->ssl_enabled) {
|
||||
if ( RSSSL()->really_simple_ssl->site_has_ssl || ( defined( 'RSSSL_FORCE_ACTIVATE' ) && RSSSL_FORCE_ACTIVATE ) ) {
|
||||
$button_text = __( "Activate SSL", "really-simple-ssl" );
|
||||
$activate_btn = '<form action="" method="post" ><input type="submit" class="button button-primary" value="' . $button_text . '" id="rsssl_do_activate_ssl" name="rsssl_do_activate_ssl"></form>';
|
||||
}
|
||||
}
|
||||
|
||||
$items = array(
|
||||
1 => array(
|
||||
'class' => 'footer-right',
|
||||
'dot_class' => $ssl_enabled,
|
||||
'text' => $ssl_text,
|
||||
),
|
||||
2 => array(
|
||||
'class' => 'footer-right',
|
||||
'dot_class' => $redirect_301,
|
||||
'text' => __("301 Redirect", "really-simple-ssl"),
|
||||
),
|
||||
);
|
||||
|
||||
?>
|
||||
<div id="rsssl-progress-footer">
|
||||
<span class="rsssl-footer-item footer-left">
|
||||
<?php echo apply_filters("rsssl_progress_footer_left", '').$activate_btn.apply_filters("rsssl_progress_footer_right", $go_pro )?>
|
||||
</span>
|
||||
<?php
|
||||
foreach ($items as $item) { ?>
|
||||
<span class="rsssl-footer-item <?php echo $item['class']?>">
|
||||
<span class="rsssl-grid-footer dot <?php echo $item['dot_class']?>"></span>
|
||||
<?php echo $item['text']?>
|
||||
</span>
|
||||
|
||||
<?php } ?>
|
||||
</div>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
|
||||
<div class="rsssl-secondary-header-item">
|
||||
<?php $all_task_count = RSSSL()->really_simple_ssl->get_all_task_count(); ?>
|
||||
<div class="rsssl-tasks-container rsssl-all-tasks">
|
||||
<input type="checkbox" class="rsssl-task-toggle" id="rsssl-all-tasks" name="rsssl_all_tasks" <?php if (get_option('rsssl_all_tasks') ) echo "checked"?>>
|
||||
<label class="rsssl-tasks <?php if (get_option('rsssl_all_tasks') ) echo "active"?>" for="rsssl-all-tasks"><?php _e( "All tasks", "really-simple-ssl" ); ?><?php echo " " . "(" . $all_task_count . ")"; ?></label>
|
||||
</div>
|
||||
<div class="rsssl-spacer"></div>
|
||||
<?php
|
||||
$open_task_count = RSSSL()->really_simple_ssl->get_remaining_tasks_count();
|
||||
if ($open_task_count ==! 0) {?>
|
||||
<div class="rsssl-tasks-container rsssl-remaining-tasks">
|
||||
<input type="checkbox" class="rsssl-task-toggle" id="rsssl-remaining-tasks" name="rsssl_remaining_tasks" <?php if (get_option('rsssl_remaining_tasks') ) echo "checked"?>>
|
||||
<label for="rsssl-remaining-tasks" id="rsssl-remaining-tasks-label" class="<?php if (get_option('rsssl_remaining_tasks') ) echo "checked"?>"><?php _e( "Remaining tasks", "really-simple-ssl" ); ?><?php echo " " . '(<span class="rsssl_remaining_task_count">' . $open_task_count . "</span>)"; ?></label>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
|
||||
<?php
|
||||
$percentage_completed = RSSSL()->really_simple_ssl->get_score_percentage();
|
||||
$lowest_possible_task_count = RSSSL()->really_simple_ssl->get_lowest_possible_task_count();
|
||||
$progress_bar_class = '';
|
||||
if ( $percentage_completed < 80 ) {
|
||||
$progress_bar_class = 'orange';
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="rsssl-progress-block">
|
||||
<div class="rsssl-progress-bar-text">
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress">
|
||||
<div class="bar <?php echo $progress_bar_class?>" style="width:<?php echo $percentage_completed?>%"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="progress-text">
|
||||
<span class="rsssl-progress-percentage">
|
||||
<?php echo $percentage_completed?>%
|
||||
</span>
|
||||
<span class="rsssl-progress-text">
|
||||
<?php
|
||||
$open_task_count = RSSSL()->really_simple_ssl->get_remaining_tasks_count();
|
||||
$open_tasks_html = '<span class="rsssl-progress-count">'.$open_task_count.'</span>';
|
||||
if (RSSSL()->really_simple_ssl->ssl_enabled) {
|
||||
$doing_well = __( "SSL is activated on your site.", 'really-simple-ssl' ) . ' ' . sprintf( _n( "You still have %s task open.", "You still have %s tasks open.", $open_task_count, 'really-simple-ssl' ), $open_tasks_html );
|
||||
|
||||
if ( $open_task_count === 0 ) {
|
||||
_e("SSL configuration finished!", "really-simple-ssl");
|
||||
} elseif ( !defined('rsssl_pro_version') ){
|
||||
if ( $open_task_count >= $lowest_possible_task_count) {
|
||||
echo $doing_well;
|
||||
} else {
|
||||
printf(__("Basic SSL configuration finished! Improve your score with %sReally Simple SSL Pro%s.", "really-simple-ssl"), '<a target="_blank" href="' . RSSSL()->really_simple_ssl->pro_url . '">', '</a>');
|
||||
}
|
||||
} else {
|
||||
echo $doing_well;
|
||||
}
|
||||
} else {
|
||||
if ( !is_network_admin() ) _e("SSL is not yet enabled on this site." , "really-simple-ssl");
|
||||
}
|
||||
do_action('rsssl_progress_feedback');
|
||||
?>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rsssl-scroll-container">
|
||||
<table class="rsssl-progress-table">
|
||||
<thead></thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$notices = RSSSL()->really_simple_ssl->get_notices_list(array( 'status' => 'all' ));
|
||||
foreach ($notices as $id => $notice) {
|
||||
RSSSL()->really_simple_ssl->notice_row($id, $notice);
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
|
||||
<input class="button button-rsssl-secondary rsssl-button-save" name="Submit" type="submit" value="<?php echo __("Save", "really-simple-ssl"); ?>"/>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
<div class="rsssl-settings">
|
||||
<?php
|
||||
settings_fields('rlrsssl_options');
|
||||
do_settings_sections('rlrsssl');
|
||||
?>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
|
||||
<a href="<?php echo trailingslashit(rsssl_url).'system-status.php' ?>" class="button button-rsssl-secondary rsssl-wide-button"><?php _e("Download system status", "really-simple-ssl")?></a>
|
||||
<div id="rsssl-feedback"></div>
|
||||
<div class="rsssl-system-status-footer-info">
|
||||
<span class="system-status-info"><?php echo "<b>" . __("Server type:", "really-simple-ssl") . "</b> " . RSSSL()->rsssl_server->get_server(); ?></span>
|
||||
<span class="system-status-info"><?php echo "<b>" . __("SSL type:", "really-simple-ssl") . "</b> " . $this->ssl_type; ?></span>
|
||||
</div>
|
||||
@@ -0,0 +1,45 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
|
||||
<div id="rsssl-support-forums-container">
|
||||
<div class="rsssl-support-forums">
|
||||
<a href="https://really-simple-ssl.com/forums/forum/general-issues/" target="_blank">
|
||||
<div class="rsssl-bullet"></div>
|
||||
<div class="rsssl-forums-content"><?php _e("General Issues", "really-simple-ssl")?></div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="rsssl-support-forums">
|
||||
<a href="https://really-simple-ssl.com/forums/forum/redirect-loops/" target="_blank">
|
||||
<div class="rsssl-bullet"></div>
|
||||
<div class="rsssl-forums-content"><?php _e("Redirect loops", "really-simple-ssl")?></div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="rsssl-support-forums">
|
||||
<a href="https://really-simple-ssl.com/forums/forum/multisite/" target="_blank">
|
||||
<div class="rsssl-bullet"></div>
|
||||
<div class="rsssl-forums-content"><?php _e("Multisite", "really-simple-ssl")?></div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="rsssl-support-forums">
|
||||
<a href="https://really-simple-ssl.com/forums/forum/really-simple-ssl-pro/" target="_blank">
|
||||
<div class="rsssl-bullet"></div>
|
||||
<div class="rsssl-forums-content"><?php _e("Really Simple SSL Pro", "really-simple-ssl")?></div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="rsssl-support-forums">
|
||||
<a href="https://really-simple-ssl.com/forums/forum/mixed-content-site/" target="_blank">
|
||||
<div class="rsssl-bullet"></div>
|
||||
<div class="rsssl-forums-content"><?php _e("Mixed Content", "really-simple-ssl")?></div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="rsssl-support-forums">
|
||||
<a href="https://really-simple-ssl.com/knowledge-base/how-to-fix-mixed-content-in-elementor-after-moving-to-ssl/" target="_blank">
|
||||
<div class="rsssl-bullet"></div>
|
||||
<div class="rsssl-forums-content"><?php _e("Elementor", "really-simple-ssl")?></div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
|
||||
<a href="https://really-simple-ssl.com/knowledge-base-overview/" target="_blank" class="button button-rsssl-secondary"><?php _e("Documentation", "really-simple-ssl"); ?></a>
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php defined('ABSPATH') or die("you do not have access to this page!"); ?>
|
||||
<div class="rsssl-tips-tricks">
|
||||
<div class="tips-tricks-content">
|
||||
<div class="tips-tricks-top">
|
||||
<div class="rsssl-tips-tricks-element">
|
||||
<div class="rsssl-tips-tricks-content">
|
||||
<?php _e("Improve security: Add Cross-Site Protection Headers to prevent malicious attacks", "really-simple-ssl")?>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-read-more">
|
||||
<a href="https://really-simple-ssl.com/cross-origin-security-headers/" target="_blank"><?php _e("Read more", "really-simple-ssl");?></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-element">
|
||||
<div class="rsssl-tips-tricks-content">
|
||||
<?php _e("Improve security: Enable HTTP Strict Transport Security (HSTS)", "really-simple-ssl")?>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-read-more">
|
||||
<a href="https://really-simple-ssl.com/hsts-http-strict-transport-security-good/" target="_blank"><?php _e("Read more", "really-simple-ssl");?></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-element">
|
||||
<div class="rsssl-tips-tricks-content">
|
||||
<?php _e("Improve security: Add security headers", "really-simple-ssl");?>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-read-more">
|
||||
<a href="https://really-simple-ssl.com/everything-you-need-to-know-about-security-headers/" target="_blank"><?php _e("Read more", "really-simple-ssl");?></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-element">
|
||||
<div class="rsssl-tips-tricks-content">
|
||||
<?php _e("Adding a Content Security Policy", "really-simple-ssl");?>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-read-more">
|
||||
<a href="https://really-simple-ssl.com/knowledge-base/how-to-use-the-content-security-policy-generator/" target="_blank"><?php _e("Read more", "really-simple-ssl");?></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-element">
|
||||
<div class="rsssl-tips-tricks-content">
|
||||
<?php _e("Adding a Permission Policy", "really-simple-ssl");?>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-read-more">
|
||||
<a href="https://really-simple-ssl.com/knowledge-base/how-to-use-the-permissions-policy-header/" target="_blank"><?php _e("Read more", "really-simple-ssl");?></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-element">
|
||||
<div class="rsssl-tips-tricks-content">
|
||||
<?php _e("Information about landing page redirects", "really-simple-ssl");?>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-read-more">
|
||||
<a href="https://really-simple-ssl.com/knowledge-base/avoid-landing-page-redirects/" target="_blank"><?php _e("Read more", "really-simple-ssl");?></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-element">
|
||||
<div class="rsssl-tips-tricks-content">
|
||||
<?php _e("Install a Let's Encrypt SSL Certificate with Really Simple SSL", "really-simple-ssl");?>
|
||||
</div>
|
||||
<div class="rsssl-tips-tricks-read-more">
|
||||
<a href="https://really-simple-ssl.com/install-ssl-certificate/" target="_blank"><?php _e("Read more", "really-simple-ssl");?></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
1
wp-content/plugins/really-simple-ssl/index.php
Normal file
1
wp-content/plugins/really-simple-ssl/index.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php //You don't belong here. ?>
|
||||
1
wp-content/plugins/really-simple-ssl/languages/index.php
Normal file
1
wp-content/plugins/really-simple-ssl/languages/index.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php //You don't belong here. ?>
|
||||
2353
wp-content/plugins/really-simple-ssl/languages/really-simple-ssl.pot
Normal file
2353
wp-content/plugins/really-simple-ssl/languages/really-simple-ssl.pot
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"require": {
|
||||
"fbett/le_acme2": "^1.5",
|
||||
"plesk/api-php-lib": "^1.0"
|
||||
}
|
||||
}
|
||||
99
wp-content/plugins/really-simple-ssl/lets-encrypt/cron.php
Normal file
99
wp-content/plugins/really-simple-ssl/lets-encrypt/cron.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
defined( 'ABSPATH' ) or die();
|
||||
|
||||
add_action( 'plugins_loaded', 'rsssl_le_schedule_cron' );
|
||||
function rsssl_le_schedule_cron() {
|
||||
//only run if SSL is enabled.
|
||||
if ( !RSSSL()->rsssl_front_end->ssl_enabled ) {
|
||||
return;
|
||||
}
|
||||
|
||||
//only if generated by RSSSL.
|
||||
if ( ! get_option( 'rsssl_le_certificate_generated_by_rsssl' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$useCron = true;
|
||||
if ( $useCron ) {
|
||||
if ( ! wp_next_scheduled( 'rsssl_le_every_week_hook' ) ) {
|
||||
wp_schedule_event( time(), 'rsssl_le_weekly', 'rsssl_le_every_week_hook' );
|
||||
}
|
||||
|
||||
if ( ! wp_next_scheduled( 'rsssl_le_every_day_hook' ) ) {
|
||||
wp_schedule_event( time(), 'rsssl_le_daily', 'rsssl_le_every_day_hook' );
|
||||
}
|
||||
|
||||
add_action( 'rsssl_le_every_week_hook', 'rsssl_le_cron_maybe_start_renewal' );
|
||||
add_action( 'rsssl_le_every_day_hook', 'rsssl_le_check_renewal_status' );
|
||||
} else {
|
||||
add_action( 'init', 'rsssl_le_cron_maybe_start_renewal' );
|
||||
add_action( 'init', 'rsssl_le_check_renewal_status' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the certificate is generated by RSSSL. If so, renew if necessary
|
||||
*/
|
||||
function rsssl_le_cron_maybe_start_renewal(){
|
||||
if ( !rsssl_generated_by_rsssl() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( RSSSL_LE()->letsencrypt_handler->cron_certificate_needs_renewal() ) {
|
||||
update_option("rsssl_le_start_renewal", true);
|
||||
}
|
||||
|
||||
if ( RSSSL_LE()->letsencrypt_handler->certificate_install_required() ) {
|
||||
update_option("rsssl_le_start_installation", true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function rsssl_le_check_renewal_status(){
|
||||
if ( !rsssl_generated_by_rsssl() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
//when DNS validated, without api, we cannot autorenew
|
||||
if ( !RSSSL_LE()->letsencrypt_handler->ssl_generation_can_auto_renew() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$renewal_active = get_option("rsssl_le_start_renewal");
|
||||
$installation_active = get_option("rsssl_le_start_installation");
|
||||
|
||||
if ( $renewal_active ) {
|
||||
RSSSL_LE()->letsencrypt_handler->create_bundle_or_renew();
|
||||
} else if ( $installation_active ) {
|
||||
RSSSL_LE()->letsencrypt_handler->cron_renew_installation();
|
||||
}
|
||||
}
|
||||
|
||||
add_filter( 'cron_schedules', 'rsssl_le_filter_cron_schedules' );
|
||||
function rsssl_le_filter_cron_schedules( $schedules ) {
|
||||
$schedules['rsssl_le_weekly'] = array(
|
||||
'interval' => WEEK_IN_SECONDS,
|
||||
'display' => __( 'Once every week' )
|
||||
);
|
||||
$schedules['rsssl_le_daily'] = array(
|
||||
'interval' => DAY_IN_SECONDS,
|
||||
'display' => __( 'Once every day' )
|
||||
);
|
||||
$schedules['rsssl_le_five_minutes'] = array(
|
||||
'interval' => 5 * MINUTE_IN_SECONDS,
|
||||
'display' => __( 'Once every 5 minutes' )
|
||||
);
|
||||
|
||||
return $schedules;
|
||||
}
|
||||
|
||||
|
||||
register_deactivation_hook( rsssl_file, 'rsssl_le_clear_scheduled_hooks' );
|
||||
function rsssl_le_clear_scheduled_hooks() {
|
||||
wp_clear_scheduled_hook( 'rsssl_le_every_week_hook' );
|
||||
wp_clear_scheduled_hook( 'rsssl_le_every_day_hook' );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
109
wp-content/plugins/really-simple-ssl/lets-encrypt/download.php
Normal file
109
wp-content/plugins/really-simple-ssl/lets-encrypt/download.php
Normal file
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
# No need for the template engine
|
||||
define( 'WP_USE_THEMES', false );
|
||||
|
||||
#find the base path
|
||||
define( 'BASE_PATH', rsssl_find_wordpress_base_path()."/" );
|
||||
# Load WordPress Core
|
||||
if ( !file_exists(BASE_PATH . 'wp-load.php') ) {
|
||||
die("WordPress not installed here");
|
||||
}
|
||||
require_once( BASE_PATH.'wp-load.php' );
|
||||
require_once( BASE_PATH.'wp-includes/class-phpass.php' );
|
||||
require_once( BASE_PATH . 'wp-admin/includes/image.php' );
|
||||
|
||||
if ( !rsssl_user_can_manage() ) {
|
||||
die();
|
||||
}
|
||||
if ( !isset($_GET["type"]) ) {
|
||||
die();
|
||||
}
|
||||
|
||||
if (!isset($_GET['token'])) {
|
||||
die();
|
||||
}
|
||||
|
||||
if (!wp_verify_nonce($_GET['token'], 'rsssl_download_cert')){
|
||||
die();
|
||||
}
|
||||
|
||||
$type = sanitize_title($_GET['type']);
|
||||
switch($type) {
|
||||
case 'certificate':
|
||||
$file = get_option('rsssl_certificate_path');
|
||||
$file_name = 'certificate.cert';
|
||||
break;
|
||||
case 'private_key':
|
||||
$file = get_option('rsssl_private_key_path');
|
||||
$file_name = 'private.pem';
|
||||
break;
|
||||
case 'intermediate':
|
||||
$file = get_option('rsssl_intermediate_path');
|
||||
$file_name = 'intermediate.pem';
|
||||
break;
|
||||
default:
|
||||
$file = false;
|
||||
}
|
||||
|
||||
if (!file_exists($file)) {
|
||||
echo __("File missing. Please retry the previous steps.", "really-simple-ssl");
|
||||
die();
|
||||
} else {
|
||||
$content = file_get_contents($file);
|
||||
}
|
||||
|
||||
$fp = fopen($file, 'rb');
|
||||
if ($fp) {
|
||||
if (function_exists('mb_strlen')) {
|
||||
$fsize = mb_strlen($content, '8bit');
|
||||
} else {
|
||||
$fsize = strlen($content);
|
||||
}
|
||||
$path_parts = pathinfo($file);
|
||||
|
||||
header("Content-type: text/plain");
|
||||
header("Content-Disposition: attachment; filename=\"".$file_name."\"");
|
||||
header("Content-length: $fsize");
|
||||
header("Cache-Control: private",false); // required for certain browsers
|
||||
header("Pragma: public"); // required
|
||||
header("Expires: 0");
|
||||
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
|
||||
header("Content-Transfer-Encoding: binary");
|
||||
echo $content;
|
||||
} else {
|
||||
echo "Someting went wrong #2";
|
||||
}
|
||||
fclose($fp);
|
||||
|
||||
|
||||
function rsssl_find_wordpress_base_path()
|
||||
{
|
||||
$path = dirname(__FILE__);
|
||||
|
||||
do {
|
||||
if (file_exists($path . "/wp-config.php")) {
|
||||
//check if the wp-load.php file exists here. If not, we assume it's in a subdir.
|
||||
if ( file_exists( $path . '/wp-load.php') ) {
|
||||
return $path;
|
||||
} else {
|
||||
//wp not in this directory. Look in each folder to see if it's there.
|
||||
if ( file_exists( $path ) && $handle = opendir( $path ) ) {
|
||||
while ( false !== ( $file = readdir( $handle ) ) ) {
|
||||
if ( $file != "." && $file != ".." ) {
|
||||
$file = $path .'/' . $file;
|
||||
if ( is_dir( $file ) && file_exists( $file . '/wp-load.php') ) {
|
||||
$path = $file;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir( $handle );
|
||||
}
|
||||
}
|
||||
|
||||
return $path;
|
||||
}
|
||||
} while ($path = realpath("$path/.."));
|
||||
|
||||
return false;
|
||||
}
|
||||
653
wp-content/plugins/really-simple-ssl/lets-encrypt/functions.php
Normal file
653
wp-content/plugins/really-simple-ssl/lets-encrypt/functions.php
Normal file
@@ -0,0 +1,653 @@
|
||||
<?php
|
||||
|
||||
defined( 'ABSPATH' ) or die( "you do not have access to this page!" );
|
||||
|
||||
/**
|
||||
* Check if we need to use DNS verification
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_dns_verification_required(){
|
||||
|
||||
/**
|
||||
* If our current hosting provider does not allow or require local SSL certificate generation,
|
||||
* We do not need to DNS verification either.
|
||||
*/
|
||||
|
||||
if ( !rsssl_do_local_lets_encrypt_generation() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( get_option('rsssl_verification_type')==='DNS' ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( rsssl_wildcard_certificate_required() ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_is_cpanel')) {
|
||||
/**
|
||||
* Check if we're on CPanel
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_is_cpanel() {
|
||||
if (get_option('rsssl_force_cpanel')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$open_basedir = ini_get("open_basedir");
|
||||
if ( empty($open_basedir) && file_exists( "/usr/local/cpanel" ) ) {
|
||||
return true;
|
||||
} else if (rsssl_check_port(2082)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('rsssl_cpanel_api_supported')) {
|
||||
/**
|
||||
* Check if CPanel supports the api
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_cpanel_api_supported() {
|
||||
return rsssl_is_cpanel() && file_exists( "/usr/local/cpanel/php/cpanel.php" );
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('rsssl_activated_by_default')) {
|
||||
/**
|
||||
* Check if the host has ssl, activated by default
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_activated_by_default() {
|
||||
$activated_by_default = false;
|
||||
$activated_by_default_hosts = RSSSL_LE()->config->activated_by_default;
|
||||
$current_host = rsssl_get_other_host();
|
||||
if ( in_array( $current_host, $activated_by_default_hosts ) ) {
|
||||
$activated_by_default = true;
|
||||
}
|
||||
return $activated_by_default;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('rsssl_activation_required')) {
|
||||
/**
|
||||
* Check if the host has ssl, activation required
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_activation_required() {
|
||||
$dashboard_activation_required = false;
|
||||
$dashboard_activation_required_hosts = RSSSL_LE()->config->dashboard_activation_required;
|
||||
$current_host = rsssl_get_other_host();
|
||||
if ( in_array( $current_host, $dashboard_activation_required_hosts ) ) {
|
||||
$dashboard_activation_required = true;
|
||||
}
|
||||
return $dashboard_activation_required;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('rsssl_paid_only')) {
|
||||
/**
|
||||
* Check if the host has ssl, paid only
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_paid_only() {
|
||||
$paid_only = false;
|
||||
$paid_only_hosts = RSSSL_LE()->config->paid_only;
|
||||
$current_host = rsssl_get_other_host();
|
||||
if ( in_array( $current_host, $paid_only_hosts ) ) {
|
||||
$paid_only = true;
|
||||
}
|
||||
return $paid_only;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_is_plesk')) {
|
||||
/**
|
||||
* https://stackoverflow.com/questions/26927248/how-to-detect-servers-control-panel-type-with-php
|
||||
* @return false
|
||||
*/
|
||||
function rsssl_is_plesk() {
|
||||
if (get_option('rsssl_force_plesk')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( get_option('rsssl_hosting_dashboard')==='plesk' ){
|
||||
return true;
|
||||
}
|
||||
|
||||
//cpanel takes precedence, as it's more precise
|
||||
if ( rsssl_is_cpanel() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$open_basedir = ini_get("open_basedir");
|
||||
if ( empty($open_basedir) && is_dir( '/usr/local/psa' ) ) {
|
||||
return true;
|
||||
} else if (rsssl_check_port(8443)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_is_directadmin')) {
|
||||
/**
|
||||
* https://stackoverflow.com/questions/26927248/how-to-detect-servers-control-panel-type-with-php
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_is_directadmin() {
|
||||
if (get_option('rsssl_force_directadmin')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( get_option('rsssl_hosting_dashboard')==='directadmin' ){
|
||||
return true;
|
||||
}
|
||||
|
||||
//cpanel takes precedence, as it's more precise
|
||||
if ( rsssl_is_cpanel() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( rsssl_is_plesk() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (rsssl_check_port(2222)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $port
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
||||
function rsssl_check_port( $port)
|
||||
{
|
||||
$port_check_status = get_option("rsssl_port_check_$port");
|
||||
if ( !function_exists('fsockopen') || $port_check_status === 'fail' ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$ipAddress = gethostbyname('localhost');
|
||||
$link = @fsockopen( $ipAddress, $port, $errno, $error, 5 );
|
||||
|
||||
if ( $link ) {
|
||||
update_option("rsssl_port_check_$port", 'success');
|
||||
return true;
|
||||
}
|
||||
|
||||
update_option("rsssl_port_check_$port", 'fail');
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_get_other_host') ) {
|
||||
/**
|
||||
* Get the selected hosting provider, if any.
|
||||
* @return bool|string
|
||||
*/
|
||||
function rsssl_get_other_host() {
|
||||
return rsssl_get_value( 'other_host_type', false );
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_progress_add')) {
|
||||
/**
|
||||
* @param string $item
|
||||
*/
|
||||
function rsssl_progress_add( $item ) {
|
||||
$progress = get_option( "rsssl_le_installation_progress", array() );
|
||||
if ( ! in_array( $item, $progress ) ) {
|
||||
$progress[] = $item;
|
||||
update_option( "rsssl_le_installation_progress", $progress );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_uses_known_dashboard')) {
|
||||
/**
|
||||
* Check if website uses any of the known dashboards.
|
||||
*/
|
||||
function rsssl_uses_known_dashboard( ) {
|
||||
if ( rsssl_is_cpanel() || rsssl_is_plesk() || rsssl_is_directadmin() ) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_is_ready_for')) {
|
||||
/**
|
||||
* @param string $item
|
||||
*/
|
||||
function rsssl_is_ready_for( $item ) {
|
||||
if ( !rsssl_do_local_lets_encrypt_generation() ) {
|
||||
rsssl_progress_add('directories');
|
||||
rsssl_progress_add('generation');
|
||||
rsssl_progress_add('dns-verification');
|
||||
}
|
||||
|
||||
if ( !rsssl_dns_verification_required() ) {
|
||||
rsssl_progress_add('dns-verification');
|
||||
}
|
||||
|
||||
if (empty(rsssl_get_not_completed_steps($item))){
|
||||
return true;
|
||||
} else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function rsssl_get_not_completed_steps($item){
|
||||
$sequence = array_column( RSSSL_LE()->config->steps['lets-encrypt'], 'id');
|
||||
//drop all statuses after $item. We only need to know if all previous ones have been completed
|
||||
$index = array_search($item, $sequence);
|
||||
$sequence = array_slice($sequence, 0, $index, true);
|
||||
$not_completed = array();
|
||||
$finished = get_option("rsssl_le_installation_progress", array());
|
||||
foreach ($sequence as $status ) {
|
||||
if (!in_array($status, $finished)) {
|
||||
$not_completed[] = $status;
|
||||
}
|
||||
}
|
||||
|
||||
return $not_completed;
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_progress_remove')) {
|
||||
/**
|
||||
* @param string $item
|
||||
*/
|
||||
function rsssl_progress_remove( $item ) {
|
||||
$progress = get_option( "rsssl_le_installation_progress", array() );
|
||||
if ( in_array( $item, $progress ) ) {
|
||||
$index = array_search( $item, $progress );
|
||||
unset( $progress[ $index ] );
|
||||
update_option( "rsssl_le_installation_progress", $progress );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_php_requirement_met')) {
|
||||
/**
|
||||
* Get PHP version status for tests
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
function rsssl_php_requirement_met() {
|
||||
if ( version_compare( PHP_VERSION, rsssl_le_php_version, '<' ) ) {
|
||||
rsssl_progress_remove( 'system-status' );
|
||||
$action = 'stop';
|
||||
$status = 'error';
|
||||
$message = sprintf( __( "The minimum requirements for the PHP version have not been met. Please upgrade to %s", "really-simple-ssl" ), rsssl_le_php_version );
|
||||
} else {
|
||||
$action = 'continue';
|
||||
$status = 'success';
|
||||
$message = __( "You have the required PHP version to continue.", "really-simple-ssl" );
|
||||
}
|
||||
|
||||
return new RSSSL_RESPONSE( $status, $action, $message );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( ! function_exists( 'rsssl_get_value' ) ) {
|
||||
|
||||
/**
|
||||
* Get value for a rsssl option
|
||||
* For usage very early in the execution order, use the $page option. This bypasses the class usage.
|
||||
*
|
||||
* @param string $fieldname
|
||||
* @param bool $use_default
|
||||
*
|
||||
* @return array|bool|mixed|string
|
||||
*/
|
||||
|
||||
function rsssl_get_value(
|
||||
$fieldname, $use_default = true
|
||||
) {
|
||||
$default = false;
|
||||
$fields = get_option( 'rsssl_options_lets-encrypt' );
|
||||
if ($use_default) {
|
||||
if ( ! isset( RSSSL_LE()->config->fields[ $fieldname ] ) ) {
|
||||
return false;
|
||||
}
|
||||
$default = ( isset( RSSSL_LE()->config->fields[ $fieldname ]['default'] ) ) ? RSSSL_LE()->config->fields[ $fieldname ]['default'] : '';
|
||||
}
|
||||
|
||||
$value = isset( $fields[ $fieldname ] ) ? $fields[ $fieldname ] : $default;
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_do_local_lets_encrypt_generation')) {
|
||||
/**
|
||||
* Check if the setup requires local certificate generation
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_do_local_lets_encrypt_generation() {
|
||||
$not_local_cert_hosts = RSSSL_LE()->config->not_local_certificate_hosts;
|
||||
$current_host = rsssl_get_other_host();
|
||||
if ( in_array( $current_host, $not_local_cert_hosts ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function rsssl_get_manual_instructions_text( $url ){
|
||||
$default_url = 'https://really-simple-ssl.com/install-ssl-certificate';
|
||||
$dashboard_activation_required = rsssl_activation_required();
|
||||
$activated_by_default = rsssl_activated_by_default();
|
||||
$paid_only = rsssl_paid_only();
|
||||
$button_activate = '<br><a href="'.$default_url.'" target="_blank" class="button button-primary">'.__("Instructions","really-simple-ssl").'</a> ';
|
||||
$button_complete = '<br><a href="'.$default_url.'" target="_blank" class="button button-primary">'.__("Instructions","really-simple-ssl").'</a> ';
|
||||
|
||||
if ( $url === $default_url ) {
|
||||
$complete_manually = sprintf(__("Please complete manually in your hosting dashboard.", "really-simple-ssl"), '<a target="_blank" href="'.$url.'">', '</a>');
|
||||
$activate_manually = sprintf(__("Please activate it manually on your hosting dashboard.", "really-simple-ssl"), '<a target="_blank" href="'.$url.'">', '</a>');
|
||||
} else {
|
||||
$complete_manually = sprintf(__("Please complete %smanually%s", "really-simple-ssl"), '<a target="_blank" href="'.$url.'">', '</a>');
|
||||
$activate_manually = sprintf(__("Please activate it on your dashboard %smanually%s", "really-simple-ssl"), '<a target="_blank" href="'.$url.'">', '</a>');
|
||||
$button_activate .= '<a href="'.$url.'" target="_blank" class="button button-primary">'.__("Go to activation","really-simple-ssl").'</a>';
|
||||
$button_complete .= '<a href="'.$url.'" target="_blank" class="button button-primary">'.__("Go to installation","really-simple-ssl").'</a>';
|
||||
}
|
||||
|
||||
if ( $activated_by_default ) {
|
||||
$msg = sprintf(__("According to our information, your hosting provider supplies your account with an SSL certificate by default. Please contact your %shosting support%s if this is not the case.","really-simple-ssl"), '<a target="_blank" href="'.$url.'">', '</a>').' '.
|
||||
__("After completing the installation, you can continue to the next step to complete your configuration.","really-simple-ssl");
|
||||
} else if ( $dashboard_activation_required ) {
|
||||
$msg = __( "You already have free SSL on your hosting environment.", "really-simple-ssl" ).' '.
|
||||
$activate_manually.' '.
|
||||
__("After completing the installation, you can continue to the next step to complete your configuration.","really-simple-ssl")
|
||||
.$button_activate;
|
||||
} else if ( $paid_only ) {
|
||||
$msg = sprintf(__("According to our information, your hosting provider does not allow any kind of SSL installation, other then their own paid certificate. For an alternative hosting provider with SSL, see this %sarticle%s.","really-simple-ssl"), '<a target="_blank" href="https://really-simple-ssl.com/hosting-providers-with-free-ssl">', '</a>');
|
||||
} else {
|
||||
$msg = __("Your hosting environment does not allow automatic SSL installation.","really-simple-ssl").' '.
|
||||
$complete_manually.' '.
|
||||
sprintf(__("You can follow these %sinstructions%s.","really-simple-ssl"), '<a target="_blank" href="'.$default_url.'">', '</a>').' '.
|
||||
__("After completing the installation, you can continue to the next step to complete your configuration.","really-simple-ssl")
|
||||
.$button_complete;
|
||||
}
|
||||
|
||||
return $msg;
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'rsssl_notice' ) ) {
|
||||
/**
|
||||
* Notification without arrow on the left. Should be used outside notifications center
|
||||
* @param string $msg
|
||||
* @param string $type notice | warning | success
|
||||
* @param bool $remove_after_change
|
||||
* @param bool $echo
|
||||
* @param array $condition $condition['question'] $condition['answer']
|
||||
*
|
||||
* @return string|void
|
||||
*/
|
||||
function rsssl_notice( $msg, $type = 'notice', $remove_after_change = false, $echo = true, $condition = false) {
|
||||
if ( $msg == '' ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Condition
|
||||
$condition_check = "";
|
||||
$condition_question = "";
|
||||
$condition_answer = "";
|
||||
$rsssl_hidden = "";
|
||||
if ($condition) {
|
||||
$condition_check = "condition-check";
|
||||
$condition_question = "data-condition-question='{$condition['question']}'";
|
||||
$condition_answer = "data-condition-answer='{$condition['answer']}'";
|
||||
$args['condition'] = array($condition['question'] => $condition['answer']);
|
||||
$rsssl_hidden = rsssl_field::this()->condition_applies($args) ? "" : "rsssl-hidden";;
|
||||
}
|
||||
|
||||
// Hide
|
||||
$remove_after_change_class = $remove_after_change ? "rsssl-remove-after-change" : "";
|
||||
|
||||
$html = "<div class='rsssl-panel-wrap'><div class='rsssl-panel rsssl-notification rsssl-{$type} {$remove_after_change_class} {$rsssl_hidden} {$condition_check}' {$condition_question} {$condition_answer}><div>{$msg}</div></div></div>";
|
||||
|
||||
if ( $echo ) {
|
||||
echo $html;
|
||||
} else {
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'rsssl_sidebar_notice' ) ) {
|
||||
/**
|
||||
* @param string $msg
|
||||
* @param string $type notice | warning | success
|
||||
* @param bool $echo
|
||||
* @param bool|array $condition $condition['question'] $condition['answer']
|
||||
*
|
||||
* @return string|void
|
||||
*/
|
||||
|
||||
function rsssl_sidebar_notice( $msg, $type = 'notice', $echo = true, $condition = false) {
|
||||
if ( $msg == '' ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Condition
|
||||
$condition_check = "";
|
||||
$condition_question = "";
|
||||
$condition_answer = "";
|
||||
$rsssl_hidden = "";
|
||||
if ($condition) {
|
||||
$condition_check = "condition-check";
|
||||
$condition_question = "data-condition-question='{$condition['question']}'";
|
||||
$condition_answer = "data-condition-answer='{$condition['answer']}'";
|
||||
$args['condition'] = array($condition['question'] => $condition['answer']);
|
||||
$rsssl_hidden = rsssl_field::this()->condition_applies($args) ? "" : "rsssl-hidden";;
|
||||
}
|
||||
|
||||
$html = "<div class='rsssl-help-modal rsssl-notice rsssl-{$type} {$rsssl_hidden} {$condition_check}' {$condition_question} {$condition_answer}>{$msg}</div>";
|
||||
|
||||
if ( $echo ) {
|
||||
echo $html;
|
||||
} else {
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!function_exists('rsssl_read_more')) {
|
||||
/**
|
||||
* Create a generic read more text with link for help texts.
|
||||
*
|
||||
* @param string $url
|
||||
* @param bool $add_space
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function rsssl_read_more( $url, $add_space = true ) {
|
||||
$html = sprintf( __( "For more information, please read this %sarticle%s",
|
||||
'really-simple-ssl' ), '<a target="_blank" href="' . $url . '">',
|
||||
'</a>' );
|
||||
if ( $add_space ) {
|
||||
$html = ' ' . $html;
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
register_activation_hook( __FILE__, 'rsssl_set_activation_time_stamp' );
|
||||
if ( ! function_exists( 'rsssl_set_activation_time_stamp' ) ) {
|
||||
function rsssl_set_activation_time_stamp( $networkwide ) {
|
||||
update_option( 'rsssl_activation_time', time() );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'rsssl_array_filter_multidimensional' ) ) {
|
||||
function rsssl_array_filter_multidimensional(
|
||||
$array, $filter_key, $filter_value
|
||||
) {
|
||||
$new = array_filter( $array,
|
||||
function ( $var ) use ( $filter_value, $filter_key ) {
|
||||
return isset( $var[ $filter_key ] ) ? ( $var[ $filter_key ]
|
||||
== $filter_value )
|
||||
: false;
|
||||
} );
|
||||
|
||||
return $new;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_is_subdomain') ) {
|
||||
/**
|
||||
* Check if we're on a subdomain.
|
||||
* If this is a www domain, we return false
|
||||
*/
|
||||
function rsssl_is_subdomain(){
|
||||
$domain = rsssl_get_domain();
|
||||
if ( strpos($domain, 'www.') !== false ) return false;
|
||||
|
||||
$root = rsssl_get_root_domain($domain);
|
||||
|
||||
if ($root === $domain ) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_get_subdomain') ) {
|
||||
/**
|
||||
* Get root domain of a domain
|
||||
*/
|
||||
function rsssl_get_root_domain($domain){
|
||||
$sub = strtolower(trim($domain));
|
||||
$count = substr_count($sub, '.');
|
||||
if($count === 2){
|
||||
if(strlen(explode('.', $sub)[1]) > 3) $sub = explode('.', $sub, 2)[1];
|
||||
} else if($count > 2){
|
||||
$sub = rsssl_get_root_domain(explode('.', $sub, 2)[1]);
|
||||
}
|
||||
return $sub;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'rsssl_get_domain' ) ) {
|
||||
function rsssl_get_domain() {
|
||||
|
||||
//Get current domain
|
||||
$domain = site_url();
|
||||
//Parse to strip off any /subfolder/
|
||||
$parse = parse_url($domain);
|
||||
$domain = $parse['host'];
|
||||
|
||||
$domain = str_replace(array('http://', 'https://' ), '', $domain);
|
||||
|
||||
return $domain;
|
||||
}
|
||||
}
|
||||
|
||||
function rsssl_insert_after_key($array, $key, $items){
|
||||
$keys = array_keys($array);
|
||||
$key = array_search($key, $keys);
|
||||
$array = array_slice($array, 0, $key, true) +
|
||||
$items +
|
||||
array_slice($array, 3, count($array)-3, true);
|
||||
|
||||
return $array;
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_wildcard_certificate_required') ) {
|
||||
/**
|
||||
* Check if the site requires a wildcard
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_wildcard_certificate_required() {
|
||||
//if DNS verification, create wildcard.
|
||||
if ( get_option('rsssl_verification_type') === 'DNS' ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( ! is_multisite() ) {
|
||||
return false;
|
||||
} else {
|
||||
if ( defined( 'SUBDOMAIN_INSTALL' ) && SUBDOMAIN_INSTALL ) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_maybe_drop_subdomain_test') ) {
|
||||
function rsssl_maybe_drop_subdomain_test( $steps ) {
|
||||
if ( is_multisite() ) {
|
||||
$index = array_search( 'system-status', array_column( $steps['lets-encrypt'], 'id' ) );
|
||||
$index ++;
|
||||
$actions = $steps['lets-encrypt'][ $index ]['actions'];
|
||||
//get the is_subdomain_setup
|
||||
$sub_index = array_search( 'is_subdomain_setup', array_column( $actions, 'action' ) );
|
||||
unset( $actions[ $sub_index ] );
|
||||
$steps['lets-encrypt'][ $index ]['actions'] = $actions;
|
||||
}
|
||||
|
||||
return $steps;
|
||||
}
|
||||
|
||||
add_filter( 'rsssl_steps', 'rsssl_maybe_drop_subdomain_test', 20 );
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_can_install_shell_addon') ) {
|
||||
function rsssl_can_install_shell_addon(){
|
||||
//if not cpanel
|
||||
if ( !rsssl_is_cpanel() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//if already installed
|
||||
if (defined('rsssl_shell_path')){
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( function_exists('shell_exec') || function_exists('system') || function_exists('passthru') || function_exists('exec') ) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !function_exists('rsssl_generated_by_rsssl')) {
|
||||
/**
|
||||
* If a bundle generation is completed, this value is set to true.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function rsssl_generated_by_rsssl() {
|
||||
return get_option( 'rsssl_le_certificate_generated_by_rsssl' );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,266 @@
|
||||
<?php
|
||||
/**
|
||||
* @package CloudWays
|
||||
* @author Rogier Lankhorst
|
||||
* @copyright Copyright (C) 2021, Rogier Lankhorst
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License, version 3
|
||||
* @link https://really-simple-ssl.com
|
||||
* @since Class available since Release 5.0.0
|
||||
*
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
class rsssl_Cloudways {
|
||||
private $email;
|
||||
private $api_key;
|
||||
public $ssl_installation_url;
|
||||
|
||||
/**
|
||||
* Initiates the cloudways class.
|
||||
*
|
||||
* @param string $email
|
||||
* @param string $api_key
|
||||
*/
|
||||
|
||||
public function __construct( ) {
|
||||
$this->email = rsssl_get_value('cloudways_user_email');
|
||||
$this->api_key = RSSSL_LE()->letsencrypt_handler->decode( rsssl_get_value('cloudways_api_key') );
|
||||
$this->ssl_installation_url = "";
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $method GET|POST|PUT|DELETE
|
||||
* @param string $url relative URL for the call
|
||||
* @param string $accessToken Access token generated using OAuth Call
|
||||
* @param array $post Optional post data for the call
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
private function callCloudwaysAPI( $method, $url, $accessToken, $post = [] ) {
|
||||
$baseURL = 'https://api.cloudways.com/api/v1/';
|
||||
try {
|
||||
$ch = curl_init();
|
||||
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, $method );
|
||||
curl_setopt( $ch, CURLOPT_URL, $baseURL . $url );
|
||||
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
|
||||
if ( $accessToken ) {
|
||||
curl_setopt( $ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer ' . $accessToken ] );
|
||||
}
|
||||
|
||||
//ssl_domains[]=fungibleownership.com&ssl_domains[]=www.fungibleownership.com
|
||||
$encoded = '';
|
||||
if ( count( $post ) ) {
|
||||
foreach ( $post as $name => $value ) {
|
||||
if ( is_array( $value) ) {
|
||||
foreach ( $value as $sub_value ) {
|
||||
$encoded .= $name.'[]='.urlencode( $sub_value) . '&';
|
||||
}
|
||||
} else {
|
||||
$encoded .= urlencode( $name ) . '=' . urlencode( $value ) . '&';
|
||||
}
|
||||
}
|
||||
$encoded = substr( $encoded, 0, strlen( $encoded ) - 1 );
|
||||
curl_setopt( $ch, CURLOPT_POSTFIELDS, $encoded );
|
||||
curl_setopt( $ch, CURLOPT_POST, 1 );
|
||||
}
|
||||
|
||||
$output = curl_exec( $ch );
|
||||
|
||||
$httpcode = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
|
||||
if ($output && isset($output->error_description)) {
|
||||
return new RSSSL_RESPONSE( 'error', 'stop', $output->error_description, false );
|
||||
} else if ($httpcode != '200' && $output && isset($output->message) ){
|
||||
return new RSSSL_RESPONSE( 'error', 'stop', $output->message );
|
||||
} else if ( $httpcode != '200' ) {
|
||||
$message = $httpcode . ' output: ' . substr( $output, 0, 10000 );
|
||||
error_log(print_r($message, true));
|
||||
return new RSSSL_RESPONSE( 'error', 'stop', $message );
|
||||
}
|
||||
curl_close( $ch );
|
||||
return new RSSSL_RESPONSE( 'success', 'continue', '', json_decode( $output ) );
|
||||
} catch(Exception $e) {
|
||||
error_log(print_r($e,true));
|
||||
return new RSSSL_RESPONSE( 'error', 'stop', $e->getMessage() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get an access token
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
|
||||
private function getAccessToken() {
|
||||
error_log("try retrieving access token");
|
||||
$accessToken = get_transient('rsssl_cw_t');
|
||||
if (!$accessToken) {
|
||||
error_log("not found, get new");
|
||||
|
||||
$response = $this->callCloudwaysAPI( 'POST', '/oauth/access_token', null, [ 'email' => $this->email, 'api_key' => $this->api_key ] );
|
||||
error_log("api call output");
|
||||
error_log(print_r($response, true));
|
||||
if ($response->status === 'success' ) {
|
||||
$accessToken = $response->output->access_token;
|
||||
set_transient('rsssl_cw_t', $accessToken, 1800);
|
||||
} else {
|
||||
return new RSSSL_RESPONSE( 'error', 'stop', $response->message );
|
||||
}
|
||||
}
|
||||
return new RSSSL_RESPONSE( 'success', 'continue','', $accessToken );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $domains
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
|
||||
public function installSSL($domains){
|
||||
error_log("starting installation");
|
||||
|
||||
$response = $this->getAccessToken();
|
||||
if ( $response->status !== 'success' ) {
|
||||
return new RSSSL_RESPONSE('error','stop',$response->message);
|
||||
}
|
||||
$accessToken = $response->output;
|
||||
$response = $this->getServerInfo();
|
||||
|
||||
|
||||
if ($response->status === 'success' ) {
|
||||
$server_id = get_transient('rsssl_cw_server_id' );
|
||||
$app_id = get_transient('rsssl_cw_app_id');
|
||||
$args = [
|
||||
'server_id' => $server_id,
|
||||
'app_id' => $app_id,
|
||||
'ssl_email' => $this->email,
|
||||
'wild_card' => RSSSL_LE()->letsencrypt_handler->is_wildcard(),
|
||||
'ssl_domains' => $domains,
|
||||
];
|
||||
|
||||
$response = $this->callCloudWaysAPI( 'POST', 'security/lets_encrypt_install', $accessToken, $args );
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
public function enableAutoRenew(){
|
||||
$response = $this->getAccessToken();
|
||||
if ( $response->status !== 'success' ) {
|
||||
return new RSSSL_RESPONSE('error','stop', __("Failed retrieving access token","really-simple-ssl"));
|
||||
}
|
||||
$accessToken = $response->output;
|
||||
|
||||
$response = $this->getServerInfo();
|
||||
if ($response->status === 'success' ) {
|
||||
$app_id = get_transient('rsssl_cw_app_id');
|
||||
$server_id = get_transient('rsssl_cw_server_id' );
|
||||
$response = $this->callCloudWaysAPI( 'POST', 'security/lets_encrypt_auto', $accessToken,
|
||||
[
|
||||
'server_id' => $server_id,
|
||||
'app_id' => $app_id,
|
||||
'auto' => true,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
if ( $response->status === 'success' ) {
|
||||
$status = 'success';
|
||||
$action = 'continue';
|
||||
$message = __("Successfully installed Let's Encrypt","really-simple-ssl");
|
||||
} elseif ($response->status === 'error') {
|
||||
//in some cases, the process is already started, which also signifies success.
|
||||
if ( strpos($response->message, 'An operation is already in progress for this server')) {
|
||||
$status = 'success';
|
||||
$action = 'continue';
|
||||
$message = __("Successfully installed Let's Encrypt","really-simple-ssl");
|
||||
} else {
|
||||
$status = $response->status;
|
||||
$action = $response->action;
|
||||
$message = $response->message;
|
||||
}
|
||||
} else {
|
||||
$status = $response->status;
|
||||
$action = $response->action;
|
||||
$message = __("Error enabling auto renew for Let's Encrypt","really-simple-ssl");
|
||||
}
|
||||
|
||||
return new RSSSL_RESPONSE( $status, $action, $message );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the server id and app id
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
public function getServerInfo(){
|
||||
if ( get_transient('rsssl_cw_app_id') && get_transient('rsssl_cw_server_id' ) ) {
|
||||
$status = 'success';
|
||||
$action = 'continue';
|
||||
$message = __("Successfully retrieved server id and app id","really-simple-ssl");
|
||||
return new RSSSL_RESPONSE( $status, $action, $message );
|
||||
}
|
||||
|
||||
$response = $this->getAccessToken();
|
||||
if ( $response->status !== 'success' ) {
|
||||
return new RSSSL_RESPONSE('error','stop', $response->message);
|
||||
}
|
||||
$accessToken = $response->output;
|
||||
|
||||
$response = $this->callCloudwaysAPI('GET', '/server', $accessToken );
|
||||
$success = false;
|
||||
if ($response->status === 'success') {
|
||||
$serverList = $response->output;
|
||||
$servers = $serverList->servers;
|
||||
error_log(print_r($servers, true));
|
||||
foreach ($servers as $server ){
|
||||
$apps = $server->apps;
|
||||
foreach ($apps as $app ){
|
||||
$app_domain = $app->cname;
|
||||
error_log("app domain ".$app_domain);
|
||||
$this_site_domain = str_replace(array('https://', 'http://', 'www.'), '',site_url());
|
||||
if (strpos($app_domain, $this_site_domain) !== false ) {
|
||||
$success = true;
|
||||
set_transient('rsssl_cw_app_id', $app->id, WEEK_IN_SECONDS);
|
||||
set_transient('rsssl_cw_server_id', $server->id, WEEK_IN_SECONDS);
|
||||
break 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $success ) {
|
||||
$status = 'success';
|
||||
$action = 'continue';
|
||||
$message = __("Successfully retrieved server id and app id","really-simple-ssl");
|
||||
} else {
|
||||
$status = 'error';
|
||||
$action = 'stop';
|
||||
if ( isset($serverList->error_description) ) {
|
||||
$message = $serverList->error_description;
|
||||
} else {
|
||||
$message = __("Could not retrieve server list","really-simple-ssl");
|
||||
}
|
||||
}
|
||||
|
||||
return new RSSSL_RESPONSE( $status, $action, $message );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
<?php defined( 'ABSPATH' ) or die();
|
||||
|
||||
function rsssl_cloudways_server_data(){
|
||||
require_once( rsssl_le_path . 'integrations/cloudways/cloudways.php' );
|
||||
$cloudways = new rsssl_Cloudways();
|
||||
return $cloudways->getServerInfo();
|
||||
}
|
||||
|
||||
function rsssl_cloudways_install_ssl(){
|
||||
if (rsssl_is_ready_for('installation')) {
|
||||
require_once( rsssl_le_path . 'integrations/cloudways/cloudways.php' );
|
||||
$domains = RSSSL_LE()->letsencrypt_handler->get_subjects();
|
||||
$cloudways = new rsssl_Cloudways();
|
||||
$response = $cloudways->installSSL($domains);
|
||||
if ($response->status === 'success') {
|
||||
update_option('rsssl_le_certificate_installed_by_rsssl', 'cloudways');
|
||||
}
|
||||
return $response;
|
||||
} else {
|
||||
$status = 'error';
|
||||
$action = 'stop';
|
||||
$message = __("The system is not ready for the installation yet. Please run the wizard again.", "really-simple-ssl");
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
}
|
||||
|
||||
function rsssl_cloudways_auto_renew(){
|
||||
require_once( rsssl_le_path . 'integrations/cloudways/cloudways.php' );
|
||||
$cloudways = new rsssl_Cloudways();
|
||||
return $cloudways->enableAutoRenew();
|
||||
}
|
||||
|
||||
function rsssl_cloudways_add_condition_actions($steps){
|
||||
$index = array_search('installation',array_column($steps['lets-encrypt'],'id'));
|
||||
$index++;
|
||||
|
||||
$steps['lets-encrypt'][$index]['actions'] = array(
|
||||
array(
|
||||
'description' => __("Retrieving Cloudways server data...", "really-simple-ssl"),
|
||||
'action'=> 'rsssl_cloudways_server_data',
|
||||
'attempts' => 5,
|
||||
'speed' => 'normal',
|
||||
),
|
||||
array(
|
||||
'description' => __("Installing SSL certificate...", "really-simple-ssl"),
|
||||
'action'=> 'rsssl_cloudways_install_ssl',
|
||||
'attempts' => 5,
|
||||
'speed' => 'normal',
|
||||
),
|
||||
array(
|
||||
'description' => __("Enabling auto renew...", "really-simple-ssl"),
|
||||
'action'=> 'rsssl_cloudways_auto_renew',
|
||||
'attempts' => 5,
|
||||
'speed' => 'normal',
|
||||
),
|
||||
);
|
||||
|
||||
return $steps;
|
||||
}
|
||||
add_filter( 'rsssl_steps', 'rsssl_cloudways_add_condition_actions' );
|
||||
|
||||
/**
|
||||
* Drop store credentials field
|
||||
* @param $fields
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
function rsssl_cloudways_fields($fields){
|
||||
unset($fields['store_credentials']);
|
||||
|
||||
return $fields;
|
||||
}
|
||||
add_filter( 'rsssl_fields_load_types', 'rsssl_cloudways_fields' );
|
||||
|
||||
@@ -0,0 +1,285 @@
|
||||
<?php
|
||||
defined( 'ABSPATH' ) or die();
|
||||
|
||||
require_once( rsssl_le_path . 'integrations/cpanel/functions.php' );
|
||||
/**
|
||||
* Completely rebuilt and improved on the FreeSSL.tech Auto CPanel class by Anindya Sundar Mandal
|
||||
*/
|
||||
class rsssl_cPanel
|
||||
{
|
||||
public $host;
|
||||
private $username;
|
||||
private $password;
|
||||
public $ssl_installation_url;
|
||||
|
||||
/**
|
||||
* Initiates the cPanel class.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$username = rsssl_get_value('cpanel_username');
|
||||
$password = RSSSL_LE()->letsencrypt_handler->decode( rsssl_get_value('cpanel_password') );
|
||||
$host = rsssl_get_value('cpanel_host');
|
||||
$this->host = str_replace( array('http://', 'https://', ':2083',':'), '', $host );
|
||||
$this->username = $username;
|
||||
$this->password = $password;
|
||||
$this->ssl_installation_url = 'https://'.$this->host.":2083/frontend/paper_lantern/ssl/install.html";
|
||||
}
|
||||
/**
|
||||
* Check if all creds are available
|
||||
* @return bool
|
||||
*/
|
||||
public function credentials_available(){
|
||||
if (!empty($this->host) && !empty($this->password) && !empty($this->username)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Install SSL for all passed domains
|
||||
* @param array $domains
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
public function installSSL($domains) {
|
||||
$response = false;
|
||||
|
||||
if ( is_array($domains) && count($domains)>0 ) {
|
||||
foreach( $domains as $domain ) {
|
||||
$response_item = $this->installSSLPerDomain($domain);
|
||||
//set on first iteration
|
||||
if ( !$response ) {
|
||||
$response = $response_item;
|
||||
}
|
||||
|
||||
//override if not successfull, to always get the error.
|
||||
if ( $response->status !== 'success' ) {
|
||||
$response = $response_item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !$response ) {
|
||||
$response = new RSSSL_RESPONSE('error', 'stop', __("No valid list of domains.", "really-simple-ssl"));
|
||||
}
|
||||
|
||||
if ( $response->status === 'success' ) {
|
||||
update_option('rsssl_le_certificate_installed_by_rsssl', 'cpanel:default');
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Install an SSL certificate on the domain provided - using cPanel UAPI.
|
||||
*
|
||||
* @param string $domain
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
public function installSSLPerDomain($domain)
|
||||
{
|
||||
$shell_addon_active = defined('rsssl_shell_path');
|
||||
|
||||
$key_file = get_option('rsssl_private_key_path');
|
||||
$cert_file = get_option('rsssl_certificate_path');
|
||||
$cabundle_file = get_option('rsssl_intermediate_path');
|
||||
$request_uri = 'https://'.$this->host.':2083/execute/SSL/install_ssl';
|
||||
|
||||
$payload = [
|
||||
'domain' => $domain,
|
||||
'cert' => file_get_contents($cert_file),
|
||||
'key' => file_get_contents($key_file),
|
||||
'cabundle' => file_get_contents($cabundle_file),
|
||||
];
|
||||
|
||||
$response = $this->connectUapi($request_uri, $payload);
|
||||
//Validate $response
|
||||
if (empty($response)) {
|
||||
error_log('Not able to login');
|
||||
update_option('rsssl_installation_error', 'cpanel:default');
|
||||
$status = 'warning';
|
||||
$action = $shell_addon_active ? 'skip' : 'continue';
|
||||
$message = rsssl_get_manual_instructions_text($this->ssl_installation_url);
|
||||
} else if ($response->status) {
|
||||
delete_option('rsssl_installation_error' );
|
||||
|
||||
error_log('SSL successfully installed on '.$domain.' successfully.');
|
||||
$status = 'success';
|
||||
$action = 'continue';
|
||||
$message = sprintf(__("SSL successfully installed on %s","really-simple-ssl"), $domain);
|
||||
} else {
|
||||
update_option('rsssl_installation_error', 'cpanel:default');
|
||||
error_log($response->errors[0]);
|
||||
$status = 'error';
|
||||
$action = $shell_addon_active ? 'skip' : 'continue';
|
||||
$message = __("Errors were reported during installation","really-simple-ssl").'<br> '.$response->errors[0];
|
||||
}
|
||||
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $domains
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
public function enableAutoSSL($domains){
|
||||
$domains = implode(',', $domains);
|
||||
$request_uri = 'https://'.$this->host.':2083/execute/SSL/remove_autossl_excluded_domains';
|
||||
$payload = [
|
||||
'domains' => $domains,
|
||||
];
|
||||
|
||||
$response = $this->connectUapi($request_uri, $payload);
|
||||
|
||||
//Validate $response
|
||||
if (empty($response)) {
|
||||
update_option('rsssl_installation_error', 'cpanel:autossl');
|
||||
error_log('The install_ssl cURL call did not return valid JSON');
|
||||
$status = 'error';
|
||||
$action = 'skip';
|
||||
$message = rsssl_get_manual_instructions_text($this->ssl_installation_url);
|
||||
} else if ($response->status) {
|
||||
delete_option('rsssl_installation_error');
|
||||
error_log('Congrats! SSL installed on '.$domains.' successfully.');
|
||||
$status = 'success';
|
||||
$action = 'finalize';
|
||||
$message = __("SSL successfully installed on $domains","really-simple-ssl");
|
||||
} else {
|
||||
update_option('rsssl_installation_error', 'cpanel:autossl');
|
||||
error_log('The auto SSL cURL call returned valid JSON, but reported errors:');
|
||||
error_log($response->errors[0]);
|
||||
$status = 'error';
|
||||
$action = 'skip';//we try the default next
|
||||
$message = __("Errors were reported during installation.","really-simple-ssl").'<br> '.$response->errors[0];
|
||||
}
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Connect to the cPanel using UAPI.
|
||||
*
|
||||
* @param string $request_uri
|
||||
* @param null|array $payload
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function connectUapi($request_uri, $payload = null)
|
||||
{
|
||||
// Set up the cURL request object.
|
||||
$ch = curl_init($request_uri);
|
||||
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
||||
curl_setopt($ch, CURLOPT_USERPWD, $this->username.':'.$this->password);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_BUFFERSIZE, 131072);
|
||||
|
||||
if (null !== $payload) {
|
||||
// Set up a POST request with the payload.
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
|
||||
}
|
||||
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
// Make the call, and then terminate the cURL caller object.
|
||||
$curl_response = curl_exec($ch);
|
||||
error_log(print_r($curl_response, true));
|
||||
curl_close($ch);
|
||||
|
||||
// Decode and return output.
|
||||
return json_decode($curl_response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set DNS TXT record using Json API through cPanel XMLAPI.
|
||||
*
|
||||
* @param string $domain
|
||||
* @param string $value
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
public function set_txt_record($domain, $value)
|
||||
{
|
||||
$args = [
|
||||
'domain' => $domain,
|
||||
'name' => '_acme-challenge',
|
||||
'type' => 'TXT',
|
||||
'txtdata' => $value,
|
||||
'ttl' => '600',
|
||||
'class' => 'IN',
|
||||
'cpanel_jsonapi_user' => $this->username,
|
||||
'cpanel_jsonapi_module' => 'ZoneEdit',
|
||||
'cpanel_jsonapi_func' => 'add_zone_record',
|
||||
'cpanel_jsonapi_apiversion' => '2',
|
||||
];
|
||||
|
||||
$args = http_build_query($args, '', '&');
|
||||
$url = 'https://'.$this->host.':2083/json-api/cpanel';
|
||||
$authstr = 'Authorization: Basic '.base64_encode($this->username.':'.$this->password)."\r\n";
|
||||
|
||||
$curl = curl_init();
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
|
||||
curl_setopt($curl, CURLOPT_URL, $url);
|
||||
curl_setopt($curl, CURLOPT_BUFFERSIZE, 131072);
|
||||
|
||||
$header[0] = $authstr.
|
||||
"Content-Type: application/x-www-form-urlencoded\r\n".
|
||||
'Content-Length: '.\strlen($args)."\r\n"."\r\n".$args;
|
||||
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
|
||||
curl_setopt($curl, CURLOPT_POST, 1);
|
||||
|
||||
$response = curl_exec($curl);
|
||||
curl_close($curl);
|
||||
|
||||
if (false === $response) {
|
||||
return new RSSSL_RESPONSE('error', 'stop', __("Unable to connect to cPanel", "really-simple-ssl").' '.curl_error($curl));
|
||||
}
|
||||
|
||||
if (true === stristr($response, '<html>')) {
|
||||
return new RSSSL_RESPONSE('error', 'stop', __("Login credentials incorrect", "really-simple-ssl"));
|
||||
}
|
||||
$response_array = json_decode($response, true);
|
||||
|
||||
if ( isset($response_array['cpanelresult']['data'][0]['result']['status']) ) {
|
||||
if ($response_array['cpanelresult']['data'][0]['result']['status']) {
|
||||
$status = 'success';
|
||||
$action = 'continue';
|
||||
$message = __("Successfully added TXT record.","really-simple-ssl");
|
||||
} else {
|
||||
$status = 'warning';
|
||||
$action = 'continue';
|
||||
$message = __("Could not automatically add TXT record. Please proceed manually, following the steps below.","really-simple-ssl");
|
||||
if (isset($response_array['cpanelresult']['data'][0]['result']['statusmsg'])) {
|
||||
$message .= '<br>'.$response_array['cpanelresult']['data'][0]['result']['statusmsg'];
|
||||
}
|
||||
}
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
|
||||
$event_result = (bool) $response_array['cpanelresult']['event']['result'];
|
||||
$preevent_result = isset($response_array['cpanelresult']['preevent']) ? (bool) $response_array['cpanelresult']['preevent']['result'] : true; //Some cPanel doesn't provide this key. In that case, ignore it by setting 'true'.
|
||||
$postevent_result = isset($response_array['cpanelresult']['postevent']) ? (bool) $response_array['cpanelresult']['postevent']['result'] : true; //Some cPanel doesn't provide this key. In that case, ignore it by setting 'true'.
|
||||
|
||||
if ($event_result && $preevent_result && $postevent_result) {
|
||||
$status = 'success';
|
||||
$action = 'continue';
|
||||
$message = __("Successfully added TXT record.","really-simple-ssl");
|
||||
} else {
|
||||
error_log(print_r($response_array, true));
|
||||
$status = 'warning';
|
||||
$action = 'continue';
|
||||
$message = __("Could not automatically add TXT record. Please proceed manually, following the steps below.","really-simple-ssl");
|
||||
}
|
||||
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
defined( 'ABSPATH' ) or die();
|
||||
|
||||
function rsssl_install_cpanel_autossl(){
|
||||
if (rsssl_is_ready_for('installation')) {
|
||||
$cpanel = new rsssl_cPanel();
|
||||
$domains = RSSSL_LE()->letsencrypt_handler->get_subjects();
|
||||
$response = $cpanel->enableAutoSSL($domains);
|
||||
if ( $response->status === 'success' ) {
|
||||
update_option('rsssl_le_certificate_installed_by_rsssl', 'cpanel:autossl');
|
||||
}
|
||||
return $response;
|
||||
} else {
|
||||
$status = 'error';
|
||||
$action = 'stop';
|
||||
$message = __("The system is not ready for the installation yet. Please run the wizard again.", "really-simple-ssl");
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
}
|
||||
|
||||
function rsssl_install_cpanel_default(){
|
||||
if (rsssl_is_ready_for('installation')) {
|
||||
$cpanel = new rsssl_cPanel();
|
||||
$domains = RSSSL_LE()->letsencrypt_handler->get_subjects();
|
||||
$response = $cpanel->installSSL($domains);
|
||||
if ( $response->status === 'success' ) {
|
||||
update_option('rsssl_le_certificate_installed_by_rsssl', 'cpanel:default');
|
||||
}
|
||||
return $response;
|
||||
} else {
|
||||
$status = 'error';
|
||||
$action = 'stop';
|
||||
$message = __("The system is not ready for the installation yet. Please run the wizard again.", "really-simple-ssl");
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
}
|
||||
|
||||
function rsssl_cpanel_set_txt_record(){
|
||||
if ( rsssl_is_ready_for('dns-verification') ) {
|
||||
$cpanel = new rsssl_cPanel();
|
||||
$tokens = get_option('rsssl_le_dns_tokens');
|
||||
if ( !$tokens) {
|
||||
$status = 'error';
|
||||
$action = 'stop';
|
||||
$message = __('Token not generated. Please complete the previous step.',"really-simple-ssl");
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
|
||||
foreach ($tokens as $domain => $token){
|
||||
if (strpos($domain, '*') !== false) continue;
|
||||
$response = $cpanel->set_txt_record($domain, $token);
|
||||
}
|
||||
|
||||
if ( $response->status === 'success' ) {
|
||||
update_option('rsssl_le_dns_configured_by_rsssl', true);
|
||||
}
|
||||
return $response;
|
||||
} else {
|
||||
$status = 'error';
|
||||
$action = 'stop';
|
||||
$message = __("The system is not ready for the DNS verification yet. Please run the wizard again.", "really-simple-ssl");
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function rsssl_cpanel_add_condition_actions($steps){
|
||||
$cpanel = new rsssl_cPanel();
|
||||
if ( $cpanel->credentials_available() ) {
|
||||
//this defaults to true, if not known.
|
||||
$auto_ssl = RSSSL_LE()->config->host_api_supported( 'cpanel:autossl' );
|
||||
$default_ssl = RSSSL_LE()->config->host_api_supported( 'cpanel:default' );
|
||||
|
||||
$installation_index = array_search( 'installation', array_column( $steps['lets-encrypt'], 'id' ) );
|
||||
$dns_index = array_search( 'dns-verification', array_column( $steps['lets-encrypt'], 'id' ) );
|
||||
$installation_index ++;
|
||||
$dns_index ++;
|
||||
|
||||
//clear existing array
|
||||
if ($auto_ssl || $default_ssl ) $steps['lets-encrypt'][ $installation_index ]['actions'] = array();
|
||||
if ( $auto_ssl ) {
|
||||
$steps['lets-encrypt'][ $installation_index ]['actions'][]
|
||||
= array(
|
||||
'description' => __( "Attempting to install certificate using AutoSSL...", "really-simple-ssl" ),
|
||||
'action' => 'rsssl_install_cpanel_autossl',
|
||||
'attempts' => 1,
|
||||
);
|
||||
}
|
||||
|
||||
if ( $default_ssl ) {
|
||||
$steps['lets-encrypt'][ $dns_index ]['actions'][]
|
||||
= array(
|
||||
'description' => __( "Attempting to set DNS txt record...", "really-simple-ssl" ),
|
||||
'action' => 'rsssl_cpanel_set_txt_record',
|
||||
'attempts' => 1,
|
||||
);
|
||||
|
||||
$steps['lets-encrypt'][ $installation_index ]['actions'][]
|
||||
= array(
|
||||
'description' => __( "Attempting to install certificate...", "really-simple-ssl" ),
|
||||
'action' => 'rsssl_install_cpanel_default',
|
||||
'attempts' => 1,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return $steps;
|
||||
}
|
||||
|
||||
add_filter( 'rsssl_steps', 'rsssl_cpanel_add_condition_actions' );
|
||||
@@ -0,0 +1,147 @@
|
||||
<?php
|
||||
defined( 'ABSPATH' ) or die();
|
||||
|
||||
/**
|
||||
* @package DirectAdmin
|
||||
* @author Rogier Lankhorst
|
||||
* @copyright Copyright (C) 2021, Rogier Lankhorst
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License, version 3
|
||||
* @link https://really-simple-ssl.com
|
||||
* @since Class available since Release 5.0.0
|
||||
*
|
||||
*/
|
||||
|
||||
require_once( rsssl_le_path . 'integrations/directadmin/httpsocket.php' );
|
||||
require_once( rsssl_le_path . 'integrations/directadmin/functions.php' );
|
||||
|
||||
class rsssl_directadmin {
|
||||
public $host;
|
||||
private $login;
|
||||
private $password;
|
||||
public $ssl_installation_url;
|
||||
|
||||
/**
|
||||
* Initiates the directadmin class.
|
||||
*
|
||||
*/
|
||||
public function __construct() {
|
||||
$password = RSSSL_LE()->letsencrypt_handler->decode( rsssl_get_value( 'directadmin_password' ) );
|
||||
$host = rsssl_get_value( 'directadmin_host' );
|
||||
$this->host = str_replace( array( 'http://', 'https://', ':2222' ), '', $host );
|
||||
$this->login = rsssl_get_value( 'directadmin_username' );
|
||||
$this->password = $password;
|
||||
$this->ssl_installation_url = 'https://' . $this->host . "";
|
||||
}
|
||||
/**
|
||||
* Check if all creds are available
|
||||
* @return bool
|
||||
*/
|
||||
public function credentials_available(){
|
||||
if (!empty($this->host) && !empty($this->password) && !empty($this->login)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function installSSL( $domains ) {
|
||||
$response = false;
|
||||
if ( is_array($domains) && count($domains)>0 ) {
|
||||
foreach( $domains as $domain ) {
|
||||
$response_item = $this->installSSLPerDomain($domain);
|
||||
//set on first iteration
|
||||
if ( !$response ) {
|
||||
$response = $response_item;
|
||||
}
|
||||
|
||||
//override if not successfull, to always get the error.
|
||||
if ( $response->status !== 'success' ) {
|
||||
$response = $response_item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !$response ) {
|
||||
$response = new RSSSL_RESPONSE('error', 'stop', __("No valid list of domains.", "really-simple-ssl"));
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Install certificate
|
||||
*
|
||||
* @param string $domain
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
public function installSSLPerDomain( $domain ) {
|
||||
$key_file = get_option( 'rsssl_private_key_path' );
|
||||
$cert_file = get_option( 'rsssl_certificate_path' );
|
||||
$cabundle_file = get_option( 'rsssl_intermediate_path' );
|
||||
|
||||
try {
|
||||
$server_ssl=true;
|
||||
$server_port=2222;
|
||||
$sock = new HTTPSocket;
|
||||
if ($server_ssl){
|
||||
$sock->connect("ssl://".$this->host, $server_port);
|
||||
} else {
|
||||
$sock->connect($this->host, $server_port);
|
||||
}
|
||||
$sock->set_login($this->login, $this->password);
|
||||
$sock->method = "POST";
|
||||
$sock->query('/CMD_API_SSL',
|
||||
array(
|
||||
'domain' => $domain,
|
||||
'action' => 'save',
|
||||
'type' => 'paste',
|
||||
'certificate' => file_get_contents( $key_file ) . file_get_contents( $cert_file )
|
||||
));
|
||||
$response = $sock->fetch_parsed_body();
|
||||
error_log( print_r( $response, true ) );
|
||||
|
||||
//set a default error response
|
||||
$status = 'warning';
|
||||
$action = 'continue';
|
||||
$message = rsssl_get_manual_instructions_text($this->ssl_installation_url);
|
||||
|
||||
|
||||
//if successful, proceed to next step
|
||||
if ( empty($response['details']) && stripos($response[0], 'Error' ) ) {
|
||||
$sock->query('/CMD_SSL',
|
||||
array(
|
||||
'domain' => $domain,
|
||||
'action' => 'save',
|
||||
'type' => 'cacert',
|
||||
'active' => 'yes',
|
||||
'cacert' => file_get_contents( $cabundle_file )
|
||||
));
|
||||
$response = $sock->fetch_parsed_body();
|
||||
error_log( print_r( $response, true ) );
|
||||
if ( empty($response['details']) && stripos($response[0], 'Error' ) ) {
|
||||
$status = 'success';
|
||||
$action = 'finalize';
|
||||
$message = sprintf(__("SSL successfully installed on %s","really-simple-ssl"), $domain);
|
||||
update_option( 'rsssl_le_certificate_installed_by_rsssl', 'directadmin' );
|
||||
delete_option( 'rsssl_installation_error' );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} catch ( Exception $e ) {
|
||||
error_log( print_r( $e, true ) );
|
||||
update_option( 'rsssl_installation_error', 'directadmin' );
|
||||
$status = 'warning';
|
||||
$action = 'continue';
|
||||
$message = $e->getMessage();
|
||||
}
|
||||
|
||||
return new RSSSL_RESPONSE( $status, $action, $message );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
defined( 'ABSPATH' ) or die();
|
||||
|
||||
function rsssl_install_directadmin(){
|
||||
if (rsssl_is_ready_for('installation')) {
|
||||
$directadmin = new rsssl_directadmin();
|
||||
$domains = RSSSL_LE()->letsencrypt_handler->get_subjects();
|
||||
$response = $directadmin->installSSL($domains);
|
||||
if ( $response->status === 'success' ) {
|
||||
update_option('rsssl_le_certificate_installed_by_rsssl', 'directadmin');
|
||||
}
|
||||
return $response;
|
||||
} else {
|
||||
$status = 'error';
|
||||
$action = 'stop';
|
||||
$message = __("The system is not ready for the installation yet. Please run the wizard again.", "really-simple-ssl");
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
}
|
||||
|
||||
function rsssl_directadmin_add_condition_actions($steps){
|
||||
$directadmin = new rsssl_directadmin();
|
||||
if ( $directadmin->credentials_available() ) {
|
||||
$index = array_search( 'installation', array_column( $steps['lets-encrypt'], 'id' ) );
|
||||
$index ++;
|
||||
//clear existing array
|
||||
$steps['lets-encrypt'][ $index ]['actions'] = array();
|
||||
$steps['lets-encrypt'][ $index ]['actions'][]
|
||||
= array(
|
||||
'description' => __( "Attempting to install certificate...", "really-simple-ssl" ),
|
||||
'action' => 'rsssl_install_directadmin',
|
||||
'attempts' => 1,
|
||||
'speed' => 'normal',
|
||||
);
|
||||
}
|
||||
|
||||
return $steps;
|
||||
}
|
||||
|
||||
add_filter( 'rsssl_steps', 'rsssl_directadmin_add_condition_actions' );
|
||||
@@ -0,0 +1,441 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Socket communication class.
|
||||
*
|
||||
* Originally designed for use with DirectAdmin's API, this class will fill any HTTP socket need.
|
||||
*
|
||||
* Very, very basic usage:
|
||||
* $Socket = new HTTPSocket;
|
||||
* echo $Socket->get('http://user:pass@somesite.com/somedir/some.file?query=string&this=that');
|
||||
*
|
||||
* @author Phi1 'l0rdphi1' Stier <l0rdphi1@liquenox.net>
|
||||
* @package HTTPSocket
|
||||
* @version 3.0.4
|
||||
*/
|
||||
class HTTPSocket {
|
||||
|
||||
var $version = '3.0.4';
|
||||
|
||||
/* all vars are private except $error, $query_cache, and $doFollowLocationHeader */
|
||||
|
||||
var $method = 'GET';
|
||||
|
||||
var $remote_host;
|
||||
var $remote_port;
|
||||
var $remote_uname;
|
||||
var $remote_passwd;
|
||||
|
||||
var $result;
|
||||
var $result_header;
|
||||
var $result_body;
|
||||
var $result_status_code;
|
||||
|
||||
var $lastTransferSpeed;
|
||||
|
||||
var $bind_host;
|
||||
|
||||
var $error = array();
|
||||
var $warn = array();
|
||||
var $query_cache = array();
|
||||
|
||||
var $doFollowLocationHeader = TRUE;
|
||||
var $redirectURL;
|
||||
var $max_redirects = 5;
|
||||
var $ssl_setting_message = 'DirectAdmin appears to be using SSL. Change your script to connect to ssl://';
|
||||
|
||||
var $extra_headers = array();
|
||||
|
||||
var $proxy = false;
|
||||
var $proxy_headers = array();
|
||||
|
||||
/**
|
||||
* Create server "connection".
|
||||
*
|
||||
*/
|
||||
function connect($host, $port = '' )
|
||||
{
|
||||
if (!is_numeric($port))
|
||||
{
|
||||
$port = 80;
|
||||
}
|
||||
|
||||
$this->remote_host = $host;
|
||||
$this->remote_port = $port;
|
||||
}
|
||||
|
||||
function bind( $ip = '' )
|
||||
{
|
||||
if ( $ip == '' )
|
||||
{
|
||||
$ip = $_SERVER['SERVER_ADDR'];
|
||||
}
|
||||
|
||||
$this->bind_host = $ip;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the method being used to communicate.
|
||||
*
|
||||
* @param string|null request method. supports GET, POST, and HEAD. default is GET
|
||||
*/
|
||||
function set_method( $method = 'GET' )
|
||||
{
|
||||
$this->method = strtoupper($method);
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify a username and password.
|
||||
*
|
||||
* @param string|null username. defualt is null
|
||||
* @param string|null password. defualt is null
|
||||
*/
|
||||
function set_login( $uname = '', $passwd = '' )
|
||||
{
|
||||
if ( strlen($uname) > 0 )
|
||||
{
|
||||
$this->remote_uname = $uname;
|
||||
}
|
||||
|
||||
if ( strlen($passwd) > 0 )
|
||||
{
|
||||
$this->remote_passwd = $passwd;
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* For pass through, this function writes the data in chunks.
|
||||
*/
|
||||
private function stream_chunk($ch, $data)
|
||||
{
|
||||
echo($data);
|
||||
return strlen($data);
|
||||
}
|
||||
private function stream_header($ch, $data)
|
||||
{
|
||||
if (!preg_match('/^HTTP/i', $data))
|
||||
{
|
||||
header($data);
|
||||
}
|
||||
return strlen($data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Query the server
|
||||
*
|
||||
* @param string containing properly formatted server API. See DA API docs and examples. Http:// URLs O.K. too.
|
||||
* @param string|array query to pass to url
|
||||
* @param int if connection KB/s drops below value here, will drop connection
|
||||
*/
|
||||
function query( $request, $content = '', $doSpeedCheck = 0 )
|
||||
{
|
||||
$this->error = $this->warn = array();
|
||||
$this->result_status_code = NULL;
|
||||
|
||||
$is_ssl = FALSE;
|
||||
|
||||
// is our request a http:// ... ?
|
||||
if (preg_match('!^http://!i',$request) || preg_match('!^https://!i',$request))
|
||||
{
|
||||
$location = parse_url($request);
|
||||
if (preg_match('!^https://!i',$request))
|
||||
{
|
||||
$this->connect('https://'.$location['host'],$location['port']);
|
||||
}
|
||||
else
|
||||
$this->connect('http://'.$location['host'],$location['port']);
|
||||
|
||||
$this->set_login($location['user'],$location['pass']);
|
||||
|
||||
$request = $location['path'];
|
||||
$content = $location['query'];
|
||||
|
||||
if ( strlen($request) < 1 )
|
||||
{
|
||||
$request = '/';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (preg_match('!^ssl://!i', $this->remote_host))
|
||||
$this->remote_host = 'https://'.substr($this->remote_host, 6);
|
||||
|
||||
if (preg_match('!^tcp://!i', $this->remote_host))
|
||||
$this->remote_host = 'http://'.substr($this->remote_host, 6);
|
||||
|
||||
if (preg_match('!^https://!i', $this->remote_host))
|
||||
$is_ssl = TRUE;
|
||||
|
||||
$array_headers = array(
|
||||
'Host' => ( $this->remote_port == 80 ? $this->remote_host : "$this->remote_host:$this->remote_port" ),
|
||||
'Accept' => '*/*',
|
||||
'Connection' => 'Close' );
|
||||
|
||||
foreach ( $this->extra_headers as $key => $value )
|
||||
{
|
||||
$array_headers[$key] = $value;
|
||||
}
|
||||
|
||||
$this->result = $this->result_header = $this->result_body = '';
|
||||
|
||||
// was content sent as an array? if so, turn it into a string
|
||||
if (is_array($content))
|
||||
{
|
||||
$pairs = array();
|
||||
|
||||
foreach ( $content as $key => $value )
|
||||
{
|
||||
$pairs[] = "$key=".urlencode($value);
|
||||
}
|
||||
|
||||
$content = join('&',$pairs);
|
||||
unset($pairs);
|
||||
}
|
||||
|
||||
$OK = TRUE;
|
||||
|
||||
if ($this->method == 'GET' && isset($content) && $content != '')
|
||||
$request .= '?'.$content;
|
||||
|
||||
$ch = curl_init($this->remote_host.':'.$this->remote_port.$request);
|
||||
|
||||
if ($is_ssl)
|
||||
{
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //1
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //2
|
||||
//curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
|
||||
}
|
||||
|
||||
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, "HTTPSocket/$this->version");
|
||||
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 1);
|
||||
|
||||
if ($this->proxy)
|
||||
{
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER,false);
|
||||
curl_setopt($ch, CURLOPT_HEADER, false);
|
||||
curl_setopt($ch, CURLINFO_HEADER_OUT, false);
|
||||
curl_setopt($ch, CURLOPT_BUFFERSIZE, 8192); // 8192
|
||||
curl_setopt($ch, CURLOPT_WRITEFUNCTION, array($this, "stream_chunk"));
|
||||
curl_setopt($ch, CURLOPT_HEADERFUNCTION, array($this, "stream_header"));
|
||||
}
|
||||
|
||||
curl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 512);
|
||||
curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 120);
|
||||
|
||||
// instance connection
|
||||
if ($this->bind_host)
|
||||
{
|
||||
curl_setopt($ch, CURLOPT_INTERFACE, $this->bind_host);
|
||||
}
|
||||
|
||||
// if we have a username and password, add the header
|
||||
if ( isset($this->remote_uname) && isset($this->remote_passwd) )
|
||||
{
|
||||
curl_setopt($ch, CURLOPT_USERPWD, $this->remote_uname.':'.$this->remote_passwd);
|
||||
}
|
||||
|
||||
// for DA skins: if $this->remote_passwd is NULL, try to use the login key system
|
||||
if ( isset($this->remote_uname) && $this->remote_passwd == NULL )
|
||||
{
|
||||
curl_setopt($ch, CURLOPT_COOKIE, "session={$_SERVER['SESSION_ID']}; key={$_SERVER['SESSION_KEY']}");
|
||||
}
|
||||
|
||||
// if method is POST, add content length & type headers
|
||||
if ( $this->method == 'POST' )
|
||||
{
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
|
||||
|
||||
//$array_headers['Content-type'] = 'application/x-www-form-urlencoded';
|
||||
$array_headers['Content-length'] = strlen($content);
|
||||
}
|
||||
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $array_headers);
|
||||
|
||||
|
||||
if( !($this->result = curl_exec($ch)) )
|
||||
{
|
||||
$this->error[] .= curl_error($ch);
|
||||
$OK = FALSE;
|
||||
}
|
||||
|
||||
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
|
||||
$this->result_header = substr($this->result, 0, $header_size);
|
||||
$this->result_body = substr($this->result, $header_size);
|
||||
$this->result_status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
|
||||
$this->lastTransferSpeed = curl_getinfo($ch, CURLINFO_SPEED_DOWNLOAD) / 1024;
|
||||
|
||||
curl_close($ch);
|
||||
|
||||
$this->query_cache[] = $this->remote_host.':'.$this->remote_port.$request;
|
||||
|
||||
$headers = $this->fetch_header();
|
||||
|
||||
// did we get the full file?
|
||||
if ( !empty($headers['content-length']) && $headers['content-length'] != strlen($this->result_body) )
|
||||
{
|
||||
$this->result_status_code = 206;
|
||||
}
|
||||
|
||||
// now, if we're being passed a location header, should we follow it?
|
||||
if ($this->doFollowLocationHeader)
|
||||
{
|
||||
//dont bother if we didn't even setup the script correctly
|
||||
if (isset($headers['x-use-https']) && $headers['x-use-https']=='yes')
|
||||
die($this->ssl_setting_message);
|
||||
|
||||
if (isset($headers['location']))
|
||||
{
|
||||
if ($this->max_redirects <= 0)
|
||||
die("Too many redirects on: ".$headers['location']);
|
||||
|
||||
$this->max_redirects--;
|
||||
$this->redirectURL = $headers['location'];
|
||||
$this->query($headers['location']);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function getTransferSpeed()
|
||||
{
|
||||
return $this->lastTransferSpeed;
|
||||
}
|
||||
|
||||
/**
|
||||
* The quick way to get a URL's content :)
|
||||
*
|
||||
* @param string URL
|
||||
* @param boolean return as array? (like PHP's file() command)
|
||||
* @return string result body
|
||||
*/
|
||||
function get($location, $asArray = FALSE )
|
||||
{
|
||||
$this->query($location);
|
||||
|
||||
if ( $this->get_status_code() == 200 )
|
||||
{
|
||||
if ($asArray)
|
||||
{
|
||||
return preg_split("/\n/",$this->fetch_body());
|
||||
}
|
||||
|
||||
return $this->fetch_body();
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the last status code.
|
||||
* 200 = OK;
|
||||
* 403 = FORBIDDEN;
|
||||
* etc.
|
||||
*
|
||||
* @return int status code
|
||||
*/
|
||||
function get_status_code()
|
||||
{
|
||||
return $this->result_status_code;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a header, sent with the next query.
|
||||
*
|
||||
* @param string header name
|
||||
* @param string header value
|
||||
*/
|
||||
function add_header($key,$value)
|
||||
{
|
||||
$this->extra_headers[$key] = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears any extra headers.
|
||||
*
|
||||
*/
|
||||
function clear_headers()
|
||||
{
|
||||
$this->extra_headers = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the result of a query.
|
||||
*
|
||||
* @return string result
|
||||
*/
|
||||
function fetch_result()
|
||||
{
|
||||
return $this->result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the header of result (stuff before body).
|
||||
*
|
||||
* @param string (optional) header to return
|
||||
* @return array result header
|
||||
*/
|
||||
function fetch_header( $header = '' )
|
||||
{
|
||||
if ($this->proxy)
|
||||
return $this->proxy_headers;
|
||||
|
||||
$array_headers = preg_split("/\r\n/",$this->result_header);
|
||||
|
||||
$array_return = array( 0 => $array_headers[0] );
|
||||
unset($array_headers[0]);
|
||||
|
||||
foreach ( $array_headers as $pair )
|
||||
{
|
||||
if ($pair == '' || $pair == "\r\n") continue;
|
||||
list($key,$value) = preg_split("/: /",$pair,2);
|
||||
$array_return[strtolower($key)] = $value;
|
||||
}
|
||||
|
||||
if ( $header != '' )
|
||||
{
|
||||
return $array_return[strtolower($header)];
|
||||
}
|
||||
|
||||
return $array_return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the body of result (stuff after header).
|
||||
*
|
||||
* @return string result body
|
||||
*/
|
||||
function fetch_body()
|
||||
{
|
||||
return $this->result_body;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return parsed body in array format.
|
||||
*
|
||||
* @return array result parsed
|
||||
*/
|
||||
function fetch_parsed_body()
|
||||
{
|
||||
parse_str($this->result_body,$x);
|
||||
return $x;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set a specifc message on how to change the SSL setting, in the event that it's not set correctly.
|
||||
*/
|
||||
function set_ssl_setting_message($str)
|
||||
{
|
||||
$this->ssl_setting_message = $str;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
defined( 'ABSPATH' ) or die();
|
||||
|
||||
/**
|
||||
* On hostgator, we don't have the cpanel api, so remove these steps.
|
||||
* This is managed in the config, in the hosts array
|
||||
*/
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php defined( 'ABSPATH' ) or die();
|
||||
$other_host = rsssl_get_other_host();
|
||||
if (file_exists( rsssl_le_path . "integrations/$other_host/$other_host.php" )) {
|
||||
require_once( rsssl_le_path . "integrations/$other_host/$other_host.php" );
|
||||
}
|
||||
if (file_exists( rsssl_le_path . "integrations/$other_host/functions.php" )){
|
||||
require_once( rsssl_le_path . "integrations/$other_host/functions.php" );
|
||||
}
|
||||
|
||||
if ( rsssl_is_cpanel() ) {
|
||||
require_once( rsssl_le_path . 'integrations/cpanel/cpanel.php' );
|
||||
} else if ( rsssl_is_plesk() ) {
|
||||
require_once( rsssl_le_path . 'integrations/plesk/plesk.php' );
|
||||
} else if ( rsssl_is_directadmin() ) {
|
||||
require_once( rsssl_le_path . 'integrations/directadmin/directadmin.php' );
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
defined( 'ABSPATH' ) or die();
|
||||
|
||||
function rsssl_plesk_install(){
|
||||
if (rsssl_is_ready_for('installation')) {
|
||||
$cpanel = new rsssl_plesk();
|
||||
$domains = RSSSL_LE()->letsencrypt_handler->get_subjects();
|
||||
$response = $cpanel->installSSL($domains);
|
||||
if ( $response->status === 'success' ) {
|
||||
update_option('rsssl_le_certificate_installed_by_rsssl', 'cpanel:default');
|
||||
}
|
||||
return $response;
|
||||
} else {
|
||||
$status = 'error';
|
||||
$action = 'stop';
|
||||
$message = __("The system is not ready for the installation yet. Please run the wizard again.", "really-simple-ssl");
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the step to install SSL using Plesk
|
||||
* @param $steps
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
function rsssl_plesk_add_installation_step($steps){
|
||||
$plesk = new rsssl_plesk();
|
||||
if ( $plesk->credentials_available() ) {
|
||||
$index = array_search( 'installation', array_column( $steps['lets-encrypt'], 'id' ) );
|
||||
$index ++;
|
||||
$steps['lets-encrypt'][ $index ]['actions'] = array_merge(array(
|
||||
array(
|
||||
'description' => __("Installing SSL certificate using PLESK API...", "really-simple-ssl"),
|
||||
'action'=> 'rsssl_plesk_install',
|
||||
'attempts' => 1,
|
||||
'speed' => 'normal',
|
||||
)
|
||||
) , $steps['lets-encrypt'][ $index ]['actions'] );
|
||||
}
|
||||
|
||||
return $steps;
|
||||
}
|
||||
add_filter( 'rsssl_steps', 'rsssl_plesk_add_installation_step' );
|
||||
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* @package PLESK
|
||||
* @author Rogier Lankhorst
|
||||
* @copyright Copyright (C) 2021, Rogier Lankhorst
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License, version 3
|
||||
* @link https://really-simple-ssl.com
|
||||
* @since Class available since Release 5.0.0
|
||||
*
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
use PleskX\Api\Client;
|
||||
|
||||
require_once rsssl_le_path . 'vendor/autoload.php';
|
||||
require_once( rsssl_le_path . 'integrations/plesk/functions.php' );
|
||||
|
||||
class rsssl_plesk
|
||||
{
|
||||
public $host;
|
||||
private $login;
|
||||
private $password;
|
||||
public $ssl_installation_url;
|
||||
|
||||
/**
|
||||
* Initiates the Plesk class.
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$password = RSSSL_LE()->letsencrypt_handler->decode( rsssl_get_value('plesk_password') );
|
||||
$host = rsssl_get_value('plesk_host');
|
||||
$this->host = str_replace(array('http://', 'https://', ':8443'), '', $host);
|
||||
$this->login = rsssl_get_value('plesk_username');
|
||||
$this->password = $password;
|
||||
$this->ssl_installation_url = 'https://'.$this->host.":8443/smb/ssl-certificate/list/id/21";
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if all creds are available
|
||||
* @return bool
|
||||
*/
|
||||
public function credentials_available(){
|
||||
if (!empty($this->host) && !empty($this->password) && !empty($this->login)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Install certificate
|
||||
* @param $domains
|
||||
*
|
||||
* @return RSSSL_RESPONSE
|
||||
*/
|
||||
public function installSSL($domains){
|
||||
$key_file = get_option('rsssl_private_key_path');
|
||||
$cert_file = get_option('rsssl_certificate_path');
|
||||
$cabundle_file = get_option('rsssl_intermediate_path');
|
||||
|
||||
try {
|
||||
$client = new Client($this->host);
|
||||
$client->setCredentials($this->login, $this->password);
|
||||
$response = $client->certificate()->install($domains, [
|
||||
'csr' => '',
|
||||
'pvt' => file_get_contents($key_file),
|
||||
'cert' => file_get_contents($cert_file),
|
||||
'ca' => file_get_contents($cabundle_file),
|
||||
]);
|
||||
error_log(print_r($response,true));
|
||||
update_option('rsssl_le_certificate_installed_by_rsssl', 'plesk');
|
||||
delete_option('rsssl_installation_error' );
|
||||
$status = 'success';
|
||||
$action = 'continue';
|
||||
$message = __('Successfully installed SSL',"really-simple-ssl");
|
||||
} catch(Exception $e) {
|
||||
error_log(print_r($e,true));
|
||||
update_option('rsssl_installation_error', 'plesk');
|
||||
$status = 'warning';
|
||||
$action = 'continue';
|
||||
$message = $e->getMessage();
|
||||
}
|
||||
return new RSSSL_RESPONSE($status, $action, $message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
defined('ABSPATH') or die();
|
||||
|
||||
/**
|
||||
* Capability handling for Let's Encrypt
|
||||
* @return bool
|
||||
*
|
||||
* php -r "readfile('https://getcomposer.org/installer');" | php
|
||||
*/
|
||||
if (!function_exists('rsssl_letsencrypt_generation_allowed')) {
|
||||
function rsssl_letsencrypt_generation_allowed($strict = false) {
|
||||
|
||||
/**
|
||||
* LE classes should also run if SSL is generated by rsssl, and the plus one cache is cleared.
|
||||
*/
|
||||
if ( get_option( 'rsssl_le_certificate_generated_by_rsssl' ) && !get_transient('rsssl_plusone_count') ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( get_option( 'rsssl_le_certificate_generated_by_rsssl' ) && wp_doing_cron() ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( ! rsssl_user_can_manage() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( $strict ) {
|
||||
if ( isset($_GET['tab']) && $_GET['tab'] === 'letsencrypt' ){
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if ( isset($_GET['page']) && ( $_GET['page'] === 'rlrsssl_really_simple_ssl' ) ){
|
||||
return true;
|
||||
}
|
||||
if ( isset($_GET['tab']) && $_GET['tab'] === 'letsencrypt' ){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset($_GET['action']) && $_GET['action'] === 'rsssl_installation_progress' ){
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( isset($_POST['rsssl_le_nonce']) && wp_verify_nonce( $_POST['rsssl_le_nonce'], 'rsssl_save' )){
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ( rsssl_letsencrypt_generation_allowed() ) {
|
||||
|
||||
class RSSSL_LETSENCRYPT {
|
||||
private static $instance;
|
||||
|
||||
public $wizard;
|
||||
public $field;
|
||||
public $config;
|
||||
public $letsencrypt_handler;
|
||||
|
||||
private function __construct() {
|
||||
|
||||
}
|
||||
|
||||
public static function instance() {
|
||||
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof RSSSL_LETSENCRYPT ) ) {
|
||||
self::$instance = new RSSSL_LETSENCRYPT;
|
||||
self::$instance->setup_constants();
|
||||
self::$instance->includes();
|
||||
self::$instance->field = new rsssl_field();
|
||||
self::$instance->wizard = new rsssl_wizard();
|
||||
self::$instance->config = new rsssl_config();
|
||||
if (version_compare(PHP_VERSION, rsssl_le_php_version, '>')) {
|
||||
self::$instance->letsencrypt_handler = new rsssl_letsencrypt_handler();
|
||||
}
|
||||
}
|
||||
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
private function setup_constants() {
|
||||
define('rsssl_le_url', plugin_dir_url(__FILE__));
|
||||
define('rsssl_le_path', trailingslashit(plugin_dir_path(__FILE__)));
|
||||
define('rsssl_le_wizard_path', trailingslashit(plugin_dir_path(__FILE__)).'/wizard/');
|
||||
}
|
||||
|
||||
private function includes() {
|
||||
require_once( rsssl_le_path . 'wizard/assets/icons.php' );
|
||||
require_once( rsssl_le_path . 'wizard/class-field.php' );
|
||||
require_once( rsssl_le_path . 'wizard/class-wizard.php' );
|
||||
require_once( rsssl_le_path . 'wizard/config/class-config.php' );
|
||||
require_once( rsssl_le_path . 'functions.php');
|
||||
|
||||
if (version_compare(PHP_VERSION, rsssl_le_php_version, '>=')) {
|
||||
require_once( rsssl_le_path . 'wizard/notices.php' );
|
||||
require_once( rsssl_le_path . 'class-letsencrypt-handler.php' );
|
||||
require_once( rsssl_le_path . 'integrations/integrations.php' );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Notice about possible compatibility issues with add ons
|
||||
*/
|
||||
public static function admin_notices() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function RSSSL_LE() {
|
||||
return RSSSL_LETSENCRYPT::instance();
|
||||
}
|
||||
|
||||
add_action( 'plugins_loaded', 'RSSSL_LE', 9 );
|
||||
}
|
||||
|
||||
|
||||
class RSSSL_RESPONSE
|
||||
{
|
||||
public $message;
|
||||
public $action;
|
||||
public $status;
|
||||
public $output;
|
||||
|
||||
public function __construct($status, $action, $message, $output = false )
|
||||
{
|
||||
$this->status = $status;
|
||||
$this->action = $action;
|
||||
$this->message = $message;
|
||||
$this->output = $output;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
7
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/autoload.php
vendored
Normal file
7
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/autoload.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
// autoload.php @generated by Composer
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInita8412ede23fd11b4d0e29303fdebd5f4::getLoader();
|
||||
479
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/ClassLoader.php
vendored
Normal file
479
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/ClassLoader.php
vendored
Normal file
@@ -0,0 +1,479 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
/**
|
||||
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
||||
*
|
||||
* $loader = new \Composer\Autoload\ClassLoader();
|
||||
*
|
||||
* // register classes with namespaces
|
||||
* $loader->add('Symfony\Component', __DIR__.'/component');
|
||||
* $loader->add('Symfony', __DIR__.'/framework');
|
||||
*
|
||||
* // activate the autoloader
|
||||
* $loader->register();
|
||||
*
|
||||
* // to enable searching the include path (eg. for PEAR packages)
|
||||
* $loader->setUseIncludePath(true);
|
||||
*
|
||||
* In this example, if you try to use a class in the Symfony\Component
|
||||
* namespace or one of its children (Symfony\Component\Console for instance),
|
||||
* the autoloader will first look for the class under the component/
|
||||
* directory, and it will then fallback to the framework/ directory if not
|
||||
* found before giving up.
|
||||
*
|
||||
* This class is loosely based on the Symfony UniversalClassLoader.
|
||||
*
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||
* @see https://www.php-fig.org/psr/psr-0/
|
||||
* @see https://www.php-fig.org/psr/psr-4/
|
||||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
private $vendorDir;
|
||||
|
||||
// PSR-4
|
||||
private $prefixLengthsPsr4 = array();
|
||||
private $prefixDirsPsr4 = array();
|
||||
private $fallbackDirsPsr4 = array();
|
||||
|
||||
// PSR-0
|
||||
private $prefixesPsr0 = array();
|
||||
private $fallbackDirsPsr0 = array();
|
||||
|
||||
private $useIncludePath = false;
|
||||
private $classMap = array();
|
||||
private $classMapAuthoritative = false;
|
||||
private $missingClasses = array();
|
||||
private $apcuPrefix;
|
||||
|
||||
private static $registeredLoaders = array();
|
||||
|
||||
public function __construct($vendorDir = null)
|
||||
{
|
||||
$this->vendorDir = $vendorDir;
|
||||
}
|
||||
|
||||
public function getPrefixes()
|
||||
{
|
||||
if (!empty($this->prefixesPsr0)) {
|
||||
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getPrefixesPsr4()
|
||||
{
|
||||
return $this->prefixDirsPsr4;
|
||||
}
|
||||
|
||||
public function getFallbackDirs()
|
||||
{
|
||||
return $this->fallbackDirsPsr0;
|
||||
}
|
||||
|
||||
public function getFallbackDirsPsr4()
|
||||
{
|
||||
return $this->fallbackDirsPsr4;
|
||||
}
|
||||
|
||||
public function getClassMap()
|
||||
{
|
||||
return $this->classMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $classMap Class to filename map
|
||||
*/
|
||||
public function addClassMap(array $classMap)
|
||||
{
|
||||
if ($this->classMap) {
|
||||
$this->classMap = array_merge($this->classMap, $classMap);
|
||||
} else {
|
||||
$this->classMap = $classMap;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-0 directories for a given prefix, either
|
||||
* appending or prepending to the ones previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*/
|
||||
public function add($prefix, $paths, $prepend = false)
|
||||
{
|
||||
if (!$prefix) {
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr0
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
$this->fallbackDirsPsr0,
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$first = $prefix[0];
|
||||
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
||||
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
||||
|
||||
return;
|
||||
}
|
||||
if ($prepend) {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
(array) $paths,
|
||||
$this->prefixesPsr0[$first][$prefix]
|
||||
);
|
||||
} else {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
$this->prefixesPsr0[$first][$prefix],
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-4 directories for a given namespace, either
|
||||
* appending or prepending to the ones previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function addPsr4($prefix, $paths, $prepend = false)
|
||||
{
|
||||
if (!$prefix) {
|
||||
// Register directories for the root namespace.
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr4
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
$this->fallbackDirsPsr4,
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
||||
// Register directories for a new namespace.
|
||||
$length = strlen($prefix);
|
||||
if ('\\' !== $prefix[$length - 1]) {
|
||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
} elseif ($prepend) {
|
||||
// Prepend directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
(array) $paths,
|
||||
$this->prefixDirsPsr4[$prefix]
|
||||
);
|
||||
} else {
|
||||
// Append directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
$this->prefixDirsPsr4[$prefix],
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-0 directories for a given prefix,
|
||||
* replacing any others previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 base directories
|
||||
*/
|
||||
public function set($prefix, $paths)
|
||||
{
|
||||
if (!$prefix) {
|
||||
$this->fallbackDirsPsr0 = (array) $paths;
|
||||
} else {
|
||||
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-4 directories for a given namespace,
|
||||
* replacing any others previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function setPsr4($prefix, $paths)
|
||||
{
|
||||
if (!$prefix) {
|
||||
$this->fallbackDirsPsr4 = (array) $paths;
|
||||
} else {
|
||||
$length = strlen($prefix);
|
||||
if ('\\' !== $prefix[$length - 1]) {
|
||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns on searching the include path for class files.
|
||||
*
|
||||
* @param bool $useIncludePath
|
||||
*/
|
||||
public function setUseIncludePath($useIncludePath)
|
||||
{
|
||||
$this->useIncludePath = $useIncludePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Can be used to check if the autoloader uses the include path to check
|
||||
* for classes.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function getUseIncludePath()
|
||||
{
|
||||
return $this->useIncludePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns off searching the prefix and fallback directories for classes
|
||||
* that have not been registered with the class map.
|
||||
*
|
||||
* @param bool $classMapAuthoritative
|
||||
*/
|
||||
public function setClassMapAuthoritative($classMapAuthoritative)
|
||||
{
|
||||
$this->classMapAuthoritative = $classMapAuthoritative;
|
||||
}
|
||||
|
||||
/**
|
||||
* Should class lookup fail if not found in the current class map?
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isClassMapAuthoritative()
|
||||
{
|
||||
return $this->classMapAuthoritative;
|
||||
}
|
||||
|
||||
/**
|
||||
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
||||
*
|
||||
* @param string|null $apcuPrefix
|
||||
*/
|
||||
public function setApcuPrefix($apcuPrefix)
|
||||
{
|
||||
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* The APCu prefix in use, or null if APCu caching is not enabled.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getApcuPrefix()
|
||||
{
|
||||
return $this->apcuPrefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers this instance as an autoloader.
|
||||
*
|
||||
* @param bool $prepend Whether to prepend the autoloader or not
|
||||
*/
|
||||
public function register($prepend = false)
|
||||
{
|
||||
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
||||
|
||||
if (null === $this->vendorDir) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($prepend) {
|
||||
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
|
||||
} else {
|
||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
||||
self::$registeredLoaders[$this->vendorDir] = $this;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregisters this instance as an autoloader.
|
||||
*/
|
||||
public function unregister()
|
||||
{
|
||||
spl_autoload_unregister(array($this, 'loadClass'));
|
||||
|
||||
if (null !== $this->vendorDir) {
|
||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the given class or interface.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
* @return bool|null True if loaded, null otherwise
|
||||
*/
|
||||
public function loadClass($class)
|
||||
{
|
||||
if ($file = $this->findFile($class)) {
|
||||
includeFile($file);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the path to the file where the class is defined.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
*
|
||||
* @return string|false The path if found, false otherwise
|
||||
*/
|
||||
public function findFile($class)
|
||||
{
|
||||
// class map lookup
|
||||
if (isset($this->classMap[$class])) {
|
||||
return $this->classMap[$class];
|
||||
}
|
||||
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
||||
return false;
|
||||
}
|
||||
if (null !== $this->apcuPrefix) {
|
||||
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
||||
if ($hit) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
$file = $this->findFileWithExtension($class, '.php');
|
||||
|
||||
// Search for Hack files if we are running on HHVM
|
||||
if (false === $file && defined('HHVM_VERSION')) {
|
||||
$file = $this->findFileWithExtension($class, '.hh');
|
||||
}
|
||||
|
||||
if (null !== $this->apcuPrefix) {
|
||||
apcu_add($this->apcuPrefix.$class, $file);
|
||||
}
|
||||
|
||||
if (false === $file) {
|
||||
// Remember that this class does not exist.
|
||||
$this->missingClasses[$class] = true;
|
||||
}
|
||||
|
||||
return $file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the currently registered loaders indexed by their corresponding vendor directories.
|
||||
*
|
||||
* @return self[]
|
||||
*/
|
||||
public static function getRegisteredLoaders()
|
||||
{
|
||||
return self::$registeredLoaders;
|
||||
}
|
||||
|
||||
private function findFileWithExtension($class, $ext)
|
||||
{
|
||||
// PSR-4 lookup
|
||||
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
||||
|
||||
$first = $class[0];
|
||||
if (isset($this->prefixLengthsPsr4[$first])) {
|
||||
$subPath = $class;
|
||||
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
||||
$subPath = substr($subPath, 0, $lastPos);
|
||||
$search = $subPath . '\\';
|
||||
if (isset($this->prefixDirsPsr4[$search])) {
|
||||
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
||||
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
||||
if (file_exists($file = $dir . $pathEnd)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-4 fallback dirs
|
||||
foreach ($this->fallbackDirsPsr4 as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 lookup
|
||||
if (false !== $pos = strrpos($class, '\\')) {
|
||||
// namespaced class name
|
||||
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
||||
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
||||
} else {
|
||||
// PEAR-like class name
|
||||
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
||||
}
|
||||
|
||||
if (isset($this->prefixesPsr0[$first])) {
|
||||
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
||||
if (0 === strpos($class, $prefix)) {
|
||||
foreach ($dirs as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 fallback dirs
|
||||
foreach ($this->fallbackDirsPsr0 as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 include paths.
|
||||
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*/
|
||||
function includeFile($file)
|
||||
{
|
||||
include $file;
|
||||
}
|
||||
303
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/InstalledVersions.php
vendored
Normal file
303
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/InstalledVersions.php
vendored
Normal file
@@ -0,0 +1,303 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
namespace Composer;
|
||||
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use Composer\Semver\VersionParser;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class InstalledVersions
|
||||
{
|
||||
private static $installed = array (
|
||||
'root' =>
|
||||
array (
|
||||
'pretty_version' => 'dev-master',
|
||||
'version' => 'dev-master',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '53cfe01c831d81b1398d479a9e85cbb4110e9e13',
|
||||
'name' => '__root__',
|
||||
),
|
||||
'versions' =>
|
||||
array (
|
||||
'__root__' =>
|
||||
array (
|
||||
'pretty_version' => 'dev-master',
|
||||
'version' => 'dev-master',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '53cfe01c831d81b1398d479a9e85cbb4110e9e13',
|
||||
),
|
||||
'fbett/le_acme2' =>
|
||||
array (
|
||||
'pretty_version' => '1.5.6',
|
||||
'version' => '1.5.6.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '26b2c421764b173326f6bcb0713a86bd614f77fa',
|
||||
),
|
||||
'plesk/api-php-lib' =>
|
||||
array (
|
||||
'pretty_version' => 'v1.0.7',
|
||||
'version' => '1.0.7.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '7f81b0c3bb0a9f4200aef62a54d3e2c04d91a605',
|
||||
),
|
||||
),
|
||||
);
|
||||
private static $canGetVendors;
|
||||
private static $installedByVendor = array();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getInstalledPackages()
|
||||
{
|
||||
$packages = array();
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
$packages[] = array_keys($installed['versions']);
|
||||
}
|
||||
|
||||
if (1 === \count($packages)) {
|
||||
return $packages[0];
|
||||
}
|
||||
|
||||
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function isInstalled($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (isset($installed['versions'][$packageName])) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
||||
{
|
||||
$constraint = $parser->parseConstraints($constraint);
|
||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
||||
|
||||
return $provided->matches($constraint);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getVersionRanges($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$ranges = array();
|
||||
if (isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
|
||||
}
|
||||
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
|
||||
}
|
||||
if (array_key_exists('provided', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
|
||||
}
|
||||
|
||||
return implode(' || ', $ranges);
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getPrettyVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getReference($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['reference'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['reference'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getRootPackage()
|
||||
{
|
||||
$installed = self::getInstalled();
|
||||
|
||||
return $installed[0]['root'];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getRawData()
|
||||
{
|
||||
return self::$installed;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function reload($data)
|
||||
{
|
||||
self::$installed = $data;
|
||||
self::$installedByVendor = array();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private static function getInstalled()
|
||||
{
|
||||
if (null === self::$canGetVendors) {
|
||||
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
|
||||
}
|
||||
|
||||
$installed = array();
|
||||
|
||||
if (self::$canGetVendors) {
|
||||
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir];
|
||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$installed[] = self::$installed;
|
||||
|
||||
return $installed;
|
||||
}
|
||||
}
|
||||
21
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/LICENSE
vendored
Normal file
21
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/LICENSE
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
Copyright (c) Nils Adermann, Jordi Boggiano
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
10
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_classmap.php
vendored
Normal file
10
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_classmap.php
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
// autoload_classmap.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
||||
);
|
||||
10
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_namespaces.php
vendored
Normal file
10
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_namespaces.php
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
// autoload_namespaces.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'LE_ACME2' => array($vendorDir . '/fbett/le_acme2/src'),
|
||||
);
|
||||
10
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_psr4.php
vendored
Normal file
10
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_psr4.php
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
// autoload_psr4.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'PleskX\\' => array($vendorDir . '/plesk/api-php-lib/src'),
|
||||
);
|
||||
57
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_real.php
vendored
Normal file
57
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_real.php
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInita8412ede23fd11b4d0e29303fdebd5f4
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
public static function loadClassLoader($class)
|
||||
{
|
||||
if ('Composer\Autoload\ClassLoader' === $class) {
|
||||
require __DIR__ . '/ClassLoader.php';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Composer\Autoload\ClassLoader
|
||||
*/
|
||||
public static function getLoader()
|
||||
{
|
||||
if (null !== self::$loader) {
|
||||
return self::$loader;
|
||||
}
|
||||
|
||||
require __DIR__ . '/platform_check.php';
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInita8412ede23fd11b4d0e29303fdebd5f4', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInita8412ede23fd11b4d0e29303fdebd5f4', 'loadClassLoader'));
|
||||
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||
if ($useStaticLoader) {
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInita8412ede23fd11b4d0e29303fdebd5f4::getInitializer($loader));
|
||||
} else {
|
||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->set($namespace, $path);
|
||||
}
|
||||
|
||||
$map = require __DIR__ . '/autoload_psr4.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->setPsr4($namespace, $path);
|
||||
}
|
||||
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
$loader->addClassMap($classMap);
|
||||
}
|
||||
}
|
||||
|
||||
$loader->register(true);
|
||||
|
||||
return $loader;
|
||||
}
|
||||
}
|
||||
47
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_static.php
vendored
Normal file
47
wp-content/plugins/really-simple-ssl/lets-encrypt/vendor/composer/autoload_static.php
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
// autoload_static.php @generated by Composer
|
||||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInita8412ede23fd11b4d0e29303fdebd5f4
|
||||
{
|
||||
public static $prefixLengthsPsr4 = array (
|
||||
'P' =>
|
||||
array (
|
||||
'PleskX\\' => 7,
|
||||
),
|
||||
);
|
||||
|
||||
public static $prefixDirsPsr4 = array (
|
||||
'PleskX\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/plesk/api-php-lib/src',
|
||||
),
|
||||
);
|
||||
|
||||
public static $prefixesPsr0 = array (
|
||||
'L' =>
|
||||
array (
|
||||
'LE_ACME2' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/fbett/le_acme2/src',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
public static $classMap = array (
|
||||
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
||||
);
|
||||
|
||||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInita8412ede23fd11b4d0e29303fdebd5f4::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInita8412ede23fd11b4d0e29303fdebd5f4::$prefixDirsPsr4;
|
||||
$loader->prefixesPsr0 = ComposerStaticInita8412ede23fd11b4d0e29303fdebd5f4::$prefixesPsr0;
|
||||
$loader->classMap = ComposerStaticInita8412ede23fd11b4d0e29303fdebd5f4::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user