diff --git a/LICENSE b/LICENSE deleted file mode 100644 index e62ec04..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ -GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. 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 -them 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 prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. 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. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey 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; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If 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 convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU 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 that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - 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. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -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. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - 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 -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - 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 . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program 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, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU 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. But first, please read -. diff --git a/README.md b/README.md index da17d8a..0a3b5af 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,65 @@ -## 主题介绍 +## CorePress Theme + +![corepress](screenshot/corepress4jsbanner.webp) + CorePress,是一款多功能的WordPress主题,专为极客制作的一款主题,主题功能完善,设置丰富。 +WordPress深度优化,颜值与性能并存,你想要的功能他都有,干掉收费主题,从这儿开始。 + +![corepress](screenshot/corepress4js02.webp) + +![corepress](screenshot/corepress4js03.webp) + +![corepress](screenshot/corepress4js04.webp) + ### 主题特色 -- 无框架设计 +* 超小体积 -主题无前端界面库框架,加载更迅速。 - -* 响应式设计 - -主题采用响应式设计,完美兼容PC端、手机端和平板等各类设备访问 + 主题体积小于2m,代码精,功能全,颜值高,兼容好。 +* 无框架设计 + 主题无前端界面库框架,代码为作者手撸,体积小,兼容好。 * 大量优化功能 - 另外,对于WordPress,主题供了很多的优化,屏蔽了WordPress很多无法使用的功能,使WordPress主题加载更为迅速。 + 深度优化WordPress,干掉没有卵用的函数,让后台访问更快,再也不用莫名其妙的等待好多秒了。 +* 响应式设计 + 主题采用响应式设计,完美兼容PC端、手机端和平板等各类设备访问 * 个性化主题设置 主题提供可视化设置面板,可自定义配置超过即几十项,比一些收费的主题功能还多。 - - 允许设置主色调,侧边栏位置,显示幻灯片等配置。 + 支持自定义配色,允许设置主色调,侧边栏显示方式,显示幻灯片等配置。 * SEO友好 主题自带SEO配置,智能设置每篇文章SEO功能,并提供文章独立SEO配置。 * 编辑器增强 自带多种功能短代码,让文章撰写更方便。支持代码高亮,方便快捷插入与编辑代码 +* webp,SVG支持 + 支持webp,SVG上传、显示。 +* 多个小工具 + 主题自带多种小工具,最新评论,作者信息,热门文章 +* 前端用户中心 + 开启用户中心,接管WordPress自带登录页面,注册页面,找回密码页面,同时自定义个人中心设置页面,支持修改昵称,签名,修改密码,绑定账号。 +* 多种功能模块 + 防红模块,禁止文章复制,WordPress邮件配置,图片灯箱 ### 环境要求 -PHP版本5.6以上,并且开启了eval函数 +PHP版本5.6以上,WordPress 5.0+ 推荐使用宝塔建站 -![corepress](/screenshot/corepresstheme.png) +![corepress](screenshot/corepresstheme.png) ### LICENSE -遵循GPL协议,非商业用途免费使用 +遵循GPL协议,非商业用途免费使用 ,请保留底部版权 ### 使用文档 +大多数的使用方法都写到文档了,有问题先看文档,能解决百分之90的问题 + [https://www.yuque.com/applek/corepress](https://www.yuque.com/applek/corepress) - - ### 演示地址 [https://www.lovestu.com/](https://www.lovestu.com) diff --git a/category.php b/category.php index e17540d..e06028d 100644 --- a/category.php +++ b/category.php @@ -20,6 +20,31 @@
+ +
+ +
+
diff --git a/comments.php b/comments.php index 209f125..43ea588 100644 --- a/comments.php +++ b/comments.php @@ -1,8 +1,30 @@ + +
+ +
+ +
+ +
+ -
添加表情 @@ -93,7 +115,7 @@ if (post_password_required()) ?> + src='/wp-includes/js/comment-reply.min.js?ver=5.1.1'> -
-
- -
-
文章目录
-
+ setTimeout(function () { + $(e.trigger).toggleClass('fal fa-clone') + $(e.trigger).toggleClass('fal times') + }, 2000); + }); + +
+
+ +
+
文章目录
+
+
+
关闭
-
关闭
+ +
+
+ +
+
-
+ } else { + if ($set['ad']['post_3'] != null) { + ?> +
+ +
+
diff --git a/component/post-list-item.php b/component/post-list-item.php index d9ef335..7f578d2 100644 --- a/component/post-list-item.php +++ b/component/post-list-item.php @@ -29,6 +29,8 @@ if (has_post_thumbnail()) { } +} else if ($postitem['post_meta']['thumbnail'] != '') { + $postitem['thumbnail'] = $postitem['post_meta']['thumbnail']; } else if ($set['routine']['autothumbnail'] == 1) { $preg = '//i'; preg_match($preg, $post->post_content, $imgArr); @@ -46,6 +48,8 @@ if (function_exists('the_views')) { } $postitem['url'] = get_the_permalink(); $postitem['author'] = get_the_author(); +$postitem['author_avatar'] = get_avatar(get_the_author_meta('email'), 24, '', '', array('class' => 'post-item-avatar')); + $postitem['commentsnum'] = get_comments_number(); $postitem['title'] = get_the_title(); @@ -67,7 +71,7 @@ if ($set['routine']['opennewlink'] == 1) { } if ($set['module']['imglazyload'] == 1) { $pathname = 'data-original'; - $imgtag = ''; + $imgtag = ''; } else { $imgtag = ''; } @@ -90,24 +94,30 @@ if ($postitem['post_meta']['postshow'] == 1) {
+
+ + name ?> + +
+
-
- - name ?> - -
+
- + + +
@@ -131,6 +141,18 @@ if ($postitem['post_meta']['postshow'] == 1) {
+
+ + name ?> + +

-
- - name ?> - -
-
- +
+ + +
diff --git a/component/post-main-index.php b/component/post-main-index.php index 7d0f20c..ffccb33 100644 --- a/component/post-main-index.php +++ b/component/post-main-index.php @@ -3,8 +3,28 @@ global $paged; if (!$paged) { $paged = 1; } + if (is_home() && $paged == 1) { global $set; + + if (wp_is_mobile()) { + if ($set['ad']['index_1_phone'] != null) { + ?> + + + + 0) { ?>
-
-
+
+
'; -/*吃水不忘挖井人,请勿删除版权,让更多人使用,作者才有动力更新下去*/ +/*吃水不忘挖井人,请勿删除版权,让更多人使用,作者才有动力更新下去 +删版权可能会影响SEO哦,good luck +*/ + if ($set['code']['footcode'] != null) { echo base64_decode($set['code']['footcode']); } @@ -44,7 +47,7 @@ if ($set['code']['alifront'] != null) { if (reprint.copylenopen == 1) { if (copytext.length > reprint.copylen) { addarelt('复制内容太长,禁止复制', 'erro'); - JScopyText(''); + JScopyText(' '); copynotmsg = 0; } else { copyaddurl(copytext); @@ -91,6 +94,10 @@ if ($set['code']['alifront'] != null) { }); $(document).ready(function () { + + + + $('.menu-header-list > .menu-item-has-children'); ' + $(this).html() + '

'; @@ -241,12 +252,13 @@ if ($set['module']['highlight'] == 1) { diff --git a/functions.php b/functions.php index 90f9926..405123f 100644 --- a/functions.php +++ b/functions.php @@ -1,8 +1,8 @@ get_contents('php://input'), true); if ($json) { $setdata['option'] = base64_decode($json['save']); if (options::saveData($setdata)) { @@ -657,6 +658,16 @@ function CorePress_changebind() } } +function corepress_getfirstspell() +{ + $text = replace_symbol($_POST['text']); + $json['code'] = 1; + $json['data'] = corepress_pinyin_long($text); + wp_die(json_encode($json)); +} + +add_action('wp_ajax_corepress_getfirstspell', 'corepress_getfirstspell'); + add_action('wp_ajax_corepress_changebind', 'CorePress_changebind'); add_action('wp_ajax_corepress_changepwd', 'CorePress_changepwd'); add_action('wp_ajax_corepress_getpwdmailcode', 'CorePress_getpwdmailcode'); diff --git a/geekframe/comment-pro.php b/geekframe/comment-pro.php index 6040aeb..3ebf112 100644 --- a/geekframe/comment-pro.php +++ b/geekframe/comment-pro.php @@ -19,7 +19,7 @@ function my_comment($comment, $args, $depth) } ?>
  • -
    +
    \ No newline at end of file + 1); goto s0XgS; Mt2zE: $data["\x61\144"]["\151\156\144\x65\x78\x5f\63\x5f\x70\150\x6f\x6e\145"] = $set["\x61\x64"]["\151\156\144\145\170\x5f\63\137\160\150\157\x6e\145"]; goto qBYic; Qkd3o: $data["\165\x73\x65\162"]["\150\x69\144\x65\154\x6f\x67\151\x6e\142\164\156"] = $set["\x75\163\145\x72"]["\x68\151\x64\x65\154\157\147\151\156\x62\x74\156"] === null ? 0 : $set["\165\163\145\162"]["\x68\x69\x64\145\154\x6f\x67\151\156\142\164\156"]; goto vlI_0; OYiYd: if (isset($set["\157\160\164\x69\155\151\172\x61\164\151\157\156"]["\142\x61\x6e\x66\x75\x6e"])) { goto tOnHp; } goto NmnMg; T5QDD: $data["\x6f\160\x74\x69\155\x69\172\x61\164\x69\157\156"]["\143\154\157\x73\145\165\160\144\141\x74\x65"] = $set["\157\x70\x74\151\x6d\151\x7a\x61\x74\151\x6f\156"]["\x63\154\x6f\x73\x65\x75\160\x64\141\x74\x65"] === null ? 1 : $set["\x6f\x70\164\x69\x6d\151\172\141\164\151\x6f\x6e"]["\x63\x6c\x6f\x73\x65\x75\160\x64\141\164\145"]; goto VhWZZ; Pg3eO: $data["\x6d\157\x64\x75\x6c\x65"]["\162\145\160\162\151\x6e\x74"]["\x6f\160\145\x6e"] = $set["\155\157\144\165\154\145"]["\x72\x65\x70\162\151\156\x74"]["\x6f\160\145\156"] === null ? 0 : $set["\155\x6f\x64\165\154\145"]["\162\145\160\x72\151\156\164"]["\157\x70\x65\x6e"]; goto bsofa; OwJhj: $data["\x72\157\165\x74\x69\x6e\145"]["\x66\x61\166\x69\x63\x6f\x6e"] = $set["\x72\157\165\x74\x69\156\x65"]["\x66\141\166\x69\143\x6f\x6e"]; goto nxzik; Olha8: $data["\x63\x6f\x64\x65"]["\146\x6f\x6f\164\143\157\144\x65"] = $set["\143\x6f\144\x65"]["\146\x6f\x6f\x74\x63\x6f\x64\x65"]; goto vgpMD; wUMFp: $data["\x75\x73\145\162"]["\162\x65\147\x70\141\147\145\126\x65\162\151\x66\151\143\x61\164\x69\157\156\103\157\144\x65"] = $set["\165\163\145\162"]["\162\x65\x67\160\x61\x67\145\126\x65\x72\151\146\151\x63\141\x74\x69\x6f\156\103\157\144\x65"] === null ? 0 : $set["\x75\x73\x65\x72"]["\162\145\x67\160\x61\x67\145\x56\x65\x72\x69\146\151\x63\141\x74\151\x6f\x6e\103\x6f\x64\x65"]; goto qPdt_; ixAuD: $data["\x69\156\144\145\x78"]["\x6c\151\156\153\x73"] = $set["\x69\x6e\144\145\170"]["\154\x69\156\x6b\x73"] == null ? 0 : $set["\151\x6e\x64\x65\170"]["\154\x69\x6e\x6b\163"]; goto lGAI3; f2huh: $set = json_decode(self::unlock(get_option(THEME_NAME . "\x5f\157\x70\x74\x69\157\156"))); goto GGvX0; kcF7N: cytBE: goto oFr0E; A1e8n: $data["\163\x65\x6f"]["\164\151\x74\154\x65\163\164\x79\154\145"] = $set["\163\145\157"]["\164\151\164\x6c\145\163\x74\171\x6c\145"] === null ? "\x73\151\164\x65\137\164\x69\164\x6c\x65" : $set["\x73\x65\157"]["\164\x69\164\154\x65\x73\164\x79\x6c\145"]; goto gvywj; eB5LM: $data["\x70\157\x73\164"]["\151\x6d\x67\163\x68\x61\144\x6f\167"] = $set["\160\157\163\164"]["\151\x6d\x67\163\150\141\x64\157\x77"] === null ? 1 : $set["\160\157\163\x74"]["\151\x6d\x67\x73\150\141\144\x6f\x77"]; goto VTJOA; cUz89: $data["\164\x68\145\155\145"]["\142\x61\x67\x69\155\147"] = $set["\164\x68\145\x6d\x65"]["\142\x61\147\x69\155\x67"]; goto XeWil; y5JgM: $data["\x6d\x6f\x64\x75\x6c\x65"]["\x73\155\x74\x70\150\x6f\163\164"] = $set["\155\x6f\144\165\x6c\145"]["\x73\x6d\x74\160\x68\157\163\164"]; goto c64h1; aGgF4: $data["\x75\163\x65\x72"]["\x75\163\x65\162\143\145\156\x74\145\162"] = $set["\165\x73\145\162"]["\x75\x73\x65\162\143\x65\x6e\x74\145\x72"] === null ? 0 : $set["\x75\163\145\x72"]["\165\163\145\x72\143\145\x6e\164\x65\162"]; goto Bba3w; FuKw7: $data["\160\157\x73\164"]["\x72\145\167\141\x72\144\x31"] = $set["\160\x6f\x73\164"]["\x72\145\167\x61\162\144\61"] === null ? '' : $set["\x70\x6f\163\164"]["\162\x65\167\x61\162\144\61"]; goto Or2R7; eWcO2: $data["\x69\156\144\x65\170"]["\160\157\163\x74\143\141\162\144\154\x69\x6e\145\x6e\x75\x6d\142\145\x72"] = $set["\151\156\144\x65\x78"]["\160\157\163\164\143\141\x72\x64\154\151\x6e\x65\156\x75\x6d\x62\145\162"] == null ? 4 : $set["\151\x6e\x64\x65\170"]["\160\157\163\x74\x63\x61\x72\144\x6c\x69\156\145\x6e\x75\155\x62\145\162"]; goto ixAuD; eVtzZ: if (isset($set["\x6f\160\x74\151\155\151\x7a\141\164\151\x6f\x6e"]["\162\x65\x6d\x6f\x76\145\x64\156\x73\160\x72\145\146\x65\164\143\x68"])) { goto KjOvK; } goto VlR7I; Cx7kb: $data["\143\x6f\x6d\x6d\x65\156\x74"]["\x66\x61\143\145"] = $set["\143\157\155\x6d\x65\x6e\164"]["\146\141\143\x65"] === null ? 1 : $set["\143\x6f\155\x6d\145\156\164"]["\x66\141\x63\x65"]; goto PsQnX; JKImV: $set["\x74\150\x65\x6d\x65"]["\x70\x6f\163\164\143\157\x6e\164\145\156\x74"] = array(); goto QBV6O; DZAw_: $data["\x6f\160\x74\x69\155\151\x7a\141\x74\x69\157\x6e"]["\151\x63\157\x6e\x66\x6f\156\164\x63\x64\x6e"] = $set["\x6f\x70\164\151\155\151\x7a\141\x74\151\157\156"]["\x69\x63\157\x6e\146\x6f\x6e\164\x63\x64\x6e"] === null ? "\156\157" : $set["\157\160\164\x69\155\x69\x7a\141\164\x69\157\156"]["\151\143\157\156\146\x6f\156\164\143\x64\x6e"]; goto aYvBB; IHNH2: $data["\x72\157\165\164\x69\156\145"]["\x64\x65\146\141\x75\154\x74\x74\x68\165\x6d\x62\156\141\x69\154"] = $set["\x72\x6f\165\x74\151\x6e\145"]["\144\x65\146\141\x75\154\164\x74\150\x75\155\x62\x6e\141\151\154"] == null ? THEME_IMG_PATH . "\x2f\x74\x68\x75\155\142\156\141\151\154\56\160\x6e\147" : $set["\162\x6f\165\x74\151\x6e\145"]["\x64\x65\146\141\x75\154\x74\x74\x68\165\x6d\142\x6e\141\151\154"]; goto sN2PR; uQiiX: $data["\x61\x64"]["\160\157\x73\x74\x5f\x33\x5f\x70\150\x6f\156\145"] = $set["\x61\x64"]["\x70\x6f\163\x74\x5f\x33\x5f\x70\x68\157\x6e\x65"]; goto C3FJB; yRCwn: $data["\x69\156\144\145\170"]["\163\167\151\x70\145\162\x6c\x69\163\x74"] = $set["\x69\x6e\144\145\170"]["\163\x77\x69\160\x65\162\154\x69\163\x74"] == null ? array() : $set["\151\x6e\144\x65\170"]["\163\167\151\160\145\162\154\x69\x73\164"]; goto F2wrQ; CCwTp: $data["\164\x68\x65\x6d\x65"]["\163\151\x64\145\x62\x61\x72"]["\x6f\164\x68\145\x72"] = $set["\x74\150\x65\155\x65"]["\163\x69\144\145\x62\141\162"]["\157\164\x68\x65\162"] === null ? 0 : $set["\x74\x68\x65\x6d\x65"]["\x73\x69\144\x65\142\141\162"]["\157\164\x68\145\x72"]; goto ZQ0tY; jQbYQ: $data["\x6d\x6f\144\x75\154\145"]["\160\x72\x65\x76\145\156\x74\162\x65\x64"] = $set["\x6d\x6f\144\165\154\x65"]["\x70\x72\x65\166\145\156\164\162\x65\144"] === null ? 0 : $set["\x6d\157\x64\165\x6c\x65"]["\160\x72\x65\x76\x65\156\164\162\x65\x64"]; goto f_fWx; Sj1fr: $data["\163\x65\x6f"]["\157\x70\145\x6e\x73\145\x6f"] = $set["\x73\145\157"]["\157\x70\x65\x6e\x73\145\157"]; goto iZXgp; Bba3w: $data["\165\x73\145\162"]["\165\163\145\162\143\145\156\164\x65\162\165\162\x6c"] = $set["\165\163\145\162"]["\x75\163\x65\162\143\145\x6e\164\x65\x72\x75\x72\x6c"] === null ? '' : $set["\165\x73\145\x72"]["\165\163\145\162\143\145\x6e\x74\x65\x72\165\x72\154"]; goto zTDSG; nZwq9: $data["\x61\144"]["\x70\157\x73\164\x5f\x33"] = $set["\141\144"]["\x70\x6f\x73\164\x5f\x33"]; goto uQiiX; b0_dN: $data["\x6d\x6f\144\165\x6c\x65"]["\x68\x69\x67\x68\x6c\151\147\150\x74"] = $set["\155\x6f\x64\x75\154\145"]["\150\151\x67\x68\154\x69\147\x68\164"] === null ? 1 : $set["\x6d\157\x64\x75\x6c\145"]["\150\151\x67\x68\154\151\x67\150\164"]; goto np78t; pc_qs: $data["\x74\x68\x65\x6d\x65"]["\x73\151\x64\x65\142\x61\162\x5f\x70\x6f\x73\151\164\151\157\x6e"] = $set["\x74\150\145\155\x65"]["\x73\x69\x64\x65\142\141\x72\137\160\x6f\x73\x69\x74\x69\157\156"] === null ? 1 : $set["\164\x68\145\x6d\145"]["\163\151\144\145\x62\141\x72\x5f\x70\157\163\x69\164\151\x6f\156"]; goto hYGgX; pyf0r: $data["\x75\163\x65\162"]["\x72\145\165\x73\x65\162\x70\x77\144"] = $set["\165\163\145\x72"]["\x72\x65\165\x73\145\x72\160\x77\x64"] === null ? "\x63\x6f\162\x65\x70\x72\145\163\x73" : $set["\165\x73\145\162"]["\x72\x65\x75\x73\145\x72\x70\167\x64"]; goto b0_dN; W9Q8Y: $data["\x6f\x70\x74\151\155\151\172\141\164\x69\157\156"]["\x72\x65\x6d\157\x76\x65\155\x65\164\x61"] = $set["\157\160\164\x69\155\151\x7a\141\164\151\x6f\156"]["\x72\x65\155\x6f\166\145\x6d\145\164\x61"] === null ? 1 : $set["\157\160\164\151\155\151\x7a\141\164\151\x6f\156"]["\162\x65\x6d\157\x76\x65\x6d\x65\164\x61"]; goto QFZpT; GmVj6: $data["\x63\157\144\x65"]["\143\163\163"] = $set["\x63\157\144\x65"]["\143\x73\x73"]; goto Sj1fr; M7SMl: $data["\x75\x73\145\x72"]["\162\x65\147\160\x61\147\x65\x75\x72\x6c"] = $set["\165\x73\145\162"]["\162\145\x67\160\x61\147\145\x75\x72\x6c"]; goto wUMFp; c64h1: $data["\x6d\157\144\165\x6c\x65"]["\x74\x65\163\164\x6d\141\151\x6c"] = $set["\155\x6f\144\165\154\x65"]["\x74\x65\163\164\155\141\x69\x6c"]; goto Juyb_; fDWC5: $data["\163\145\x6f"]["\x6b\145\x79\167\157\x72\144"] = $set["\x73\145\157"]["\153\x65\x79\x77\x6f\x72\144"]; goto tK9Z9; oUg1q: $data["\x75\163\145\x72"]["\154\147\157\x69\156\x70\141\147\x65\165\162\x6c"] = $set["\165\163\x65\162"]["\154\x67\157\151\x6e\x70\x61\147\x65\165\162\x6c"]; goto yUaOy; vX3Zw: $data["\157\x70\x74\151\155\x69\172\141\164\x69\157\156"]["\143\x6c\x6f\x73\145\162\145\163\164"] = $set["\x6f\x70\x74\x69\x6d\x69\x7a\x61\x74\151\x6f\x6e"]["\x63\x6c\157\163\145\162\x65\x73\x74"] === null ? 1 : $set["\x6f\160\x74\151\155\x69\x7a\x61\164\151\157\x6e"]["\x63\x6c\x6f\x73\145\162\x65\x73\x74"]; goto T5QDD; hYGgX: $data["\164\150\x65\155\145"]["\160\157\x73\164\x6c\x69\x73\x74\137\x6e\x65\x77\156\x6f\164\x65"] = $set["\x74\x68\145\155\145"]["\x70\x6f\x73\x74\154\x69\x73\164\x5f\x6e\145\167\156\157\x74\x65"] === null ? 1 : $set["\x74\150\145\155\x65"]["\x70\157\163\164\x6c\x69\163\164\x5f\x6e\145\167\x6e\x6f\x74\x65"]; goto cUz89; C3FJB: $data["\x61\x64"]["\x70\157\163\164\x5f\x34"] = $set["\x61\144"]["\x70\157\163\x74\x5f\64"]; goto E3efw; xud48: $data["\162\x6f\x75\x74\151\x6e\145"]["\x73\165\155\155\141\162\171\137\154\x65\x6e\x74\150"] = $set["\x72\157\x75\x74\151\156\x65"]["\x73\x75\x6d\x6d\x61\162\171\137\x6c\145\156\164\150"] === null ? 150 : $set["\162\x6f\165\x74\151\156\x65"]["\163\165\155\x6d\x61\x72\x79\x5f\154\x65\156\x74\x68"]; goto c0MlE; yUaOy: $data["\x75\163\145\162"]["\x56\x65\162\151\146\x69\143\141\x74\x69\157\156\103\157\144\145"] = $set["\165\x73\145\x72"]["\x56\145\x72\151\146\x69\x63\x61\164\x69\x6f\x6e\x43\157\x64\145"] === null ? 0 : $set["\x75\163\x65\162"]["\126\145\162\x69\146\151\143\x61\164\151\x6f\x6e\103\157\144\x65"]; goto Qkd3o; vlI_0: $data["\165\x73\145\x72"]["\x6c\147\x6f\x69\156\160\141\147\145\151\x6d\147"] = $set["\165\163\145\162"]["\x6c\147\x6f\x69\156\x70\x61\147\145\x69\x6d\147"]; goto u25cu; vgpMD: $data["\x63\157\x64\x65"]["\x61\x6c\x69\x66\162\x6f\x6e\164"] = $set["\143\157\144\x65"]["\x61\x6c\x69\x66\x72\x6f\156\x74"]; goto GmVj6; gvywj: $data["\163\145\157"]["\164\x69\164\x6c\x65\x5f\x64\x65\x6c\151\x6d\151\x74\145\x72"] = $set["\163\145\x6f"]["\164\x69\x74\x6c\x65\x5f\144\145\154\x69\x6d\x69\x74\145\x72"] == null ? "\40\55\x20" : $set["\x73\x65\157"]["\x74\x69\164\154\x65\137\144\145\154\x69\155\x69\164\x65\162"]; goto qNx_U; rimTA: wlqCE: goto QZ3mt; pbsED: $data["\141\x64"]["\160\x6f\163\x74\x5f\61\x5f\160\x68\x6f\x6e\145"] = $set["\x61\144"]["\160\157\x73\164\137\61\137\160\x68\x6f\x6e\x65"]; goto sJtZ4; DcBic: $data["\155\x6f\144\165\x6c\x65"]["\162\x65\160\x72\151\156\x74"]["\x6d\x73\147"] = $set["\x6d\157\x64\165\154\x65"]["\x72\x65\x70\162\151\156\164"]["\x6d\x73\147"] === null ? "\xe5\244\x8d\345\210\266\346\x88\x90\345\212\x9f\357\274\214\350\275\xac\350\xbd\xbd\xe8\xaf\xb7\xe4\277\x9d\xe7\x95\x99\346\234\254\347\xab\231\xe9\223\276\346\216\xa5" : $set["\x6d\157\144\x75\154\145"]["\162\145\x70\162\151\x6e\164"]["\155\163\147"]; goto BKKXZ; C8LCz: $data["\x74\x68\x65\155\145"]["\146\157\156\164"] = $set["\x74\150\145\x6d\145"]["\x66\x6f\x6e\x74"] === null ? "\x6e\157" : $set["\164\150\x65\155\x65"]["\x66\157\x6e\164"]; goto yRCwn; VhWZZ: $data["\x6f\160\x74\151\x6d\x69\172\x61\164\151\x6f\x6e"]["\x63\154\x6f\163\145\145\155\x6f\152\x69"] = $set["\x6f\x70\164\151\x6d\x69\172\x61\x74\x69\x6f\156"]["\143\x6c\157\x73\x65\x65\155\x6f\x6a\151"] === null ? 1 : $set["\157\160\164\x69\155\x69\172\141\x74\151\x6f\x6e"]["\143\x6c\157\163\145\x65\155\157\152\x69"]; goto Oi_UW; PsQnX: $data["\x63\x6f\x6d\x6d\x65\x6e\x74"]["\145\156\143\x6f\155\155\x65\156\x74"] = $set["\143\x6f\155\155\x65\x6e\x74"]["\x65\x6e\x63\x6f\x6d\x6d\145\156\164"] === null ? 1 : $set["\143\157\x6d\155\x65\156\164"]["\x65\x6e\143\x6f\x6d\155\x65\156\x74"]; goto aGgF4; W2i81: $data["\141\x64"]["\151\156\144\x65\x78\x5f\62\137\x70\150\157\x6e\x65"] = $set["\x61\x64"]["\x69\x6e\144\x65\x78\x5f\62\x5f\160\x68\x6f\x6e\x65"]; goto vyPAx; PXmam: $set["\x6f\160\x74\151\155\x69\x7a\141\164\x69\x6f\x6e"]["\141\165\164\157\145\156\146\x69\170\x65\144\164\151\164\x6c\x65"] = null; goto rimTA; oDU4e: if (isset($set["\x74\150\x65\155\x65"]["\x70\157\x73\x74\x63\157\156\x74\145\156\x74"])) { goto fJlNU; } goto JKImV; iZXgp: $data["\163\x65\157"]["\151\156\x64\145\170\x74\151\164\x6c\145"] = $set["\x73\x65\157"]["\151\x6e\144\145\170\x74\151\164\x6c\145"]; goto fDWC5; mmwMX: if (!(get_option(THEME_NAME . "\137\x6f\160\x74\151\157\156") == false)) { goto XdIf0; } goto xR283; lGAI3: $data["\x69\x6e\144\x65\x78"]["\154\x69\x6e\153\163\x64\145\x73\x63\x72\x69\x62\145"] = $set["\x69\156\144\x65\170"]["\x6c\151\156\153\163\x64\145\163\143\x72\151\142\145"]; goto i42NT; yPkL5: $set = json_decode(base64_decode(self::unlock(get_option(THEME_NAME . "\x5f\x6f\x70\164\151\x6f\156")))); goto Kz0VT; aYvBB: $data["\x6f\x70\164\151\x6d\x69\172\141\164\x69\x6f\x6e"]["\x63\154\157\163\x65\147\165\164\x65\156\142\x65\x72\147"] = $set["\x6f\x70\x74\151\x6d\x69\172\x61\164\x69\x6f\156"]["\x63\x6c\157\163\x65\x67\x75\164\145\156\x62\x65\x72\x67"] === null ? 1 : $set["\x6f\x70\x74\x69\x6d\x69\x7a\x61\164\151\x6f\x6e"]["\143\x6c\157\x73\x65\x67\x75\x74\145\156\x62\x65\162\x67"]; goto JJba0; u25cu: $data["\165\x73\x65\162"]["\162\x65\x67\160\x61\147\145"] = $set["\x75\x73\145\162"]["\162\145\x67\x70\x61\147\145"] === null ? 0 : $set["\x75\163\145\x72"]["\162\x65\x67\x70\x61\x67\145"]; goto M7SMl; N3uto: $data["\x6f\160\164\151\155\151\x7a\x61\164\x69\x6f\156"]["\x72\x65\x6d\x6f\x76\145\152\x73\157\156"] = $set["\x6f\x70\164\151\155\x69\x7a\141\164\151\x6f\x6e"]["\x72\x65\155\x6f\x76\145\x6a\163\157\156"] === null ? 1 : $set["\x6f\160\x74\x69\x6d\151\172\141\x74\x69\157\x6e"]["\x72\145\155\x6f\x76\145\x6a\x73\157\x6e"]; goto BD1rJ; c0MlE: $data["\x72\157\x75\164\x69\156\x65"]["\x69\143\x70"] = $set["\162\x6f\x75\164\x69\x6e\x65"]["\x69\x63\x70"]; goto rYxrr; f_fWx: $data["\141\144"]["\151\x6e\x64\x65\170\137\x31"] = $set["\141\144"]["\151\x6e\144\145\x78\137\61"]; goto kU_Ff; kRbnO: $set["\x6f\160\164\x69\x6d\151\172\141\x74\151\157\156"]["\x6e\x6f\x74\151\146\x69\143\141\x74\x69\x6f\x6e\x5f\143\150\x61\156\x67\145\160\167\144\x61\156\x64\155\x61\151\154\x5f\x65\x6d\141\151\x6c"] = 1; goto kcF7N; g4ndc: $this->data = $data; goto qj1Gk; sN2PR: $data["\162\x6f\165\164\151\x6e\145"]["\x61\165\164\157\x74\x68\165\155\142\156\x61\151\154"] = $set["\x72\157\x75\164\x69\x6e\145"]["\x61\x75\164\157\164\x68\165\x6d\x62\156\141\151\x6c"] === null ? 0 : $set["\x72\x6f\x75\x74\151\x6e\145"]["\x61\x75\164\157\x74\x68\x75\155\142\156\x61\151\x6c"]; goto xud48; qNx_U: $data["\x69\156\x66\x6f"]["\x74\150\145\155\x65\x75\160\144\x61\x74\145"] = $set["\151\156\x66\157"]["\x74\150\x65\x6d\x65\x75\160\x64\x61\164\x65"] === null ? 1 : $set["\x69\156\146\x6f"]["\164\x68\145\x6d\145\165\160\x64\x61\164\x65"]; goto S6gW1; bsofa: $data["\x6d\157\x64\165\x6c\x65"]["\162\x65\160\162\151\156\x74"]["\143\157\160\x79\x6c\145\156\157\160\145\x6e"] = $set["\155\x6f\144\165\154\x65"]["\162\145\x70\x72\x69\x6e\x74"]["\143\157\160\x79\x6c\x65\x6e\x6f\160\145\x6e"] === null ? 0 : $set["\155\x6f\144\x75\x6c\145"]["\x72\x65\160\x72\x69\x6e\x74"]["\x63\x6f\x70\171\154\x65\156\x6f\160\x65\156"]; goto EmkFv; CG4hg: $data["\155\157\144\165\x6c\145"]["\x73\155\x74\160\x70\167\x64"] = $set["\x6d\157\144\165\154\x65"]["\163\x6d\x74\160\x70\x77\144"]; goto BDcU_; sJtZ4: $data["\141\144"]["\x70\157\x73\x74\137\62"] = $set["\141\x64"]["\x70\x6f\x73\164\x5f\62"]; goto NiZNs; S6gW1: $data["\151\x6e\146\x6f"]["\156\145\x77\x76\145\x72\x73\151\157\156\x6e\141\x6d\x65"] = $set["\x69\156\x66\x6f"]["\x6e\x65\167\166\145\162\x73\x69\x6f\156\156\141\155\x65"] === null ? "\346\x9c\252\346\x9f\245\350\257\242" : $set["\x69\156\x66\x6f"]["\x6e\145\x77\x76\x65\x72\x73\151\x6f\156\x6e\x61\x6d\145"]; goto W9d41; qPdt_: $data["\x75\163\145\162"]["\x72\145\x67\x70\x61\147\145\x69\155\147"] = $set["\x75\163\x65\x72"]["\162\145\x67\160\141\147\x65\151\155\x67"]; goto WD7kQ; fl1SM: if (isset($set["\157\x70\164\151\x6d\151\172\141\164\151\x6f\x6e"]["\156\x6f\x74\151\x66\151\143\x61\164\151\157\x6e\x5f\x63\x68\x61\156\x67\x65\160\x77\x64\141\156\x64\155\141\151\154\137\145\x6d\141\x69\154"])) { goto cytBE; } goto kRbnO; zTDSG: $data["\x75\163\145\x72"]["\154\x6f\x67\x69\x6e\x70\141\x67\145"] = $set["\165\163\x65\x72"]["\x6c\157\147\151\156\x70\141\x67\145"] === null ? 0 : $set["\165\163\145\162"]["\154\157\147\151\x6e\160\141\x67\x65"]; goto oUg1q; uwM6n: $data["\x75\163\x65\x72"]["\x72\x65\x70\141\163\x73\167\x6f\162\144\165\x72\x6c"] = $set["\165\163\x65\x72"]["\162\145\160\x61\x73\163\x77\157\162\144\165\162\x6c"]; goto JkF_j; WD7kQ: $data["\165\x73\145\162"]["\x72\x65\147\x61\x70\160\x72\157\166\145\x64"] = $set["\165\163\145\162"]["\162\x65\147\x61\x70\160\162\x6f\166\x65\x64"]; goto dhRzf; rYxrr: $data["\x72\x6f\165\164\151\x6e\145"]["\x70\x6f\154\x69\x63\x65"] = $set["\162\x6f\x75\x74\151\x6e\x65"]["\160\157\154\x69\143\x65"]; goto AoKkp; IVkya: if (isset($set["\157\x70\x74\151\x6d\151\172\141\x74\x69\157\156"]["\x61\165\164\x6f\145\x6e\x66\151\170\145\144\164\151\x74\154\145"])) { goto wlqCE; } goto PXmam; oLnx3: $data["\x6d\x6f\144\x75\154\x65"]["\151\155\147\154\x69\147\x68\164\142\x6f\x78"] = $set["\x6d\157\144\x75\154\x65"]["\x69\x6d\x67\x6c\x69\147\x68\x74\142\157\x78"] === null ? 1 : $set["\155\157\x64\165\154\145"]["\x69\155\x67\154\x69\147\150\x74\x62\157\x78"]; goto N4GAC; b7lKJ: $data["\x6f\x70\x74\151\155\151\x7a\x61\x74\151\157\156"]["\x62\141\x6e\x66\x75\156"]["\167\x70\x5f\143\x68\x65\x63\153\x5f\x70\x68\x70\x5f\x76\145\162\x73\151\157\156"] = $set["\157\160\x74\151\x6d\x69\x7a\x61\x74\x69\x6f\x6e"]["\x62\x61\156\x66\165\x6e"]["\x77\x70\x5f\143\x68\x65\x63\x6b\x5f\x70\x68\160\x5f\166\x65\x72\163\151\157\156"] === null ? 1 : $set["\157\160\164\x69\x6d\151\172\141\164\151\157\x6e"]["\x62\141\156\146\x75\156"]["\167\160\137\x63\150\x65\x63\153\x5f\160\x68\x70\x5f\x76\145\162\163\x69\157\156"]; goto hkL7a; JWzll: $data["\155\157\x64\x75\x6c\x65"]["\163\155\164\160\x75\x73\x65\x72"] = $set["\x6d\x6f\x64\x75\154\x65"]["\163\x6d\x74\160\x75\x73\x65\162"]; goto CG4hg; YukrT: $data["\141\x64"]["\x70\x6f\x73\x74\137\x35"] = $set["\x61\144"]["\160\157\163\x74\137\x35"]; goto y1X3o; Ke0Mv: $data["\x70\x6f\x73\164"]["\x63\x6f\x70\x79\x72\x69\x67\150\164\137\x73\x68\157\x77"] = $set["\x70\x6f\163\x74"]["\143\157\x70\171\162\151\x67\x68\164\137\163\x68\157\x77"] === null ? 1 : $set["\x70\x6f\163\164"]["\x63\157\x70\x79\x72\x69\147\x68\164\137\x73\x68\x6f\167"]; goto bdid7; B50GA: $data["\x6f\160\x74\151\155\151\172\x61\164\x69\157\156"]["\141\165\x74\x6f\x65\156\146\151\x78\x65\x64\164\151\164\x6c\145"] = $set["\157\x70\x74\x69\155\x69\172\141\x74\x69\157\156"]["\x61\x75\164\157\145\x6e\146\151\170\145\x64\x74\151\x74\x6c\145"] === null ? 0 : $set["\x6f\160\x74\151\x6d\x69\172\141\x74\x69\x6f\x6e"]["\141\165\x74\x6f\145\156\146\151\170\x65\x64\x74\x69\x74\154\x65"]; goto N3uto; oFr0E: $data["\157\160\x74\151\x6d\151\x7a\x61\164\151\157\156"]["\x6e\157\164\151\146\x69\143\141\x74\x69\x6f\x6e\x5f\162\145\147\137\145\155\141\151\x6c"] = $set["\x6f\x70\164\x69\155\151\x7a\x61\x74\x69\x6f\x6e"]["\x6e\x6f\164\x69\146\151\143\x61\164\151\x6f\156\x5f\x72\x65\147\137\x65\155\x61\151\x6c"] === null ? 1 : $set["\157\x70\164\x69\x6d\151\x7a\x61\164\x69\157\x6e"]["\156\x6f\164\x69\146\x69\x63\141\x74\151\157\156\x5f\162\145\147\137\x65\155\141\151\x6c"]; goto Bg8CZ; dhRzf: $data["\165\x73\x65\162"]["\x72\145\147\141\160\x70\162\157\166\x65\x64"] = $set["\165\163\x65\x72"]["\x72\145\147\141\160\160\x72\157\x76\145\144"] === null ? "\x6d\141\x6e\165\141\x6c\x61\160\x70\162\157\x76" : $set["\x75\x73\x65\162"]["\x72\145\147\141\160\x70\x72\157\x76\x65\144"]; goto U8pLB; dctP0: $data["\155\x6f\x64\165\154\145"]["\x69\155\147\154\141\x7a\x79\x6c\x6f\141\144"] = $set["\x6d\157\144\x75\x6c\x65"]["\151\155\147\x6c\x61\172\171\x6c\x6f\x61\144"] === null ? 0 : $set["\155\157\x64\165\x6c\x65"]["\151\155\147\x6c\141\172\171\154\157\x61\144"]; goto oLnx3; L6tUB: $data["\x63\x6f\x64\145"]["\150\x65\141\x64\143\157\x64\x65"] = $set["\143\157\x64\x65"]["\x68\145\x61\x64\x63\157\144\145"]; goto Olha8; vyPAx: $data["\141\144"]["\151\156\144\x65\x78\x5f\63"] = $set["\141\x64"]["\x69\x6e\144\x65\170\x5f\x33"]; goto Mt2zE; VTJOA: $data["\160\x6f\163\x74"]["\x64\145\146\x61\165\x6c\x74\x63\141\164\141\154\157\x67"] = $set["\x70\157\163\x74"]["\144\x65\x66\x61\x75\154\164\x63\141\164\x61\x6c\157\147"] === null ? 0 : $set["\160\x6f\163\164"]["\144\145\146\x61\165\x6c\164\143\141\x74\x61\x6c\x6f\x67"]; goto Ke0Mv; NiZNs: $data["\x61\x64"]["\160\x6f\x73\164\x5f\62\x5f\x70\150\x6f\x6e\145"] = $set["\141\144"]["\x70\157\x73\164\x5f\x32\x5f\160\150\157\156\x65"]; goto nZwq9; KsGbS: $data["\164\x68\x65\155\x65"]["\x73\151\x64\145\x62\141\162"]["\151\x6e\x64\145\x78"] = $set["\164\x68\145\155\145"]["\x73\151\144\x65\142\x61\162"]["\x69\156\144\x65\x78"] === null ? 0 : $set["\164\150\x65\x6d\x65"]["\163\x69\144\x65\142\x61\x72"]["\151\156\144\x65\x78"]; goto bt68O; Or2R7: $data["\x70\x6f\x73\x74"]["\x72\145\167\x61\162\144\x32"] = $set["\x70\157\163\164"]["\162\x65\167\x61\162\144\62"] === null ? '' : $set["\x70\157\x73\x74"]["\x72\145\x77\141\x72\x64\62"]; goto Cx7kb; WvR0d: $set["\x6f\x70\164\x69\155\x69\172\141\164\151\x6f\156"]["\156\x6f\x74\x69\x66\x69\143\x61\164\x69\157\156\137\162\x65\147\x5f\x65\155\x61\151\x6c"] = 1; goto WX43c; mRiaP: $data["\164\x68\145\155\145"]["\160\x6f\x73\x74\x63\x6f\156\164\x65\156\x74"]["\x74\165\x72\156\x5f\160\141\147\145\137\160\154\x61\x6e\145"] = $set["\x74\150\145\155\145"]["\x70\x6f\163\x74\x63\157\156\164\x65\156\x74"]["\x74\165\162\x6e\137\160\x61\x67\x65\x5f\160\154\141\x6e\145"] === null ? 1 : $set["\x74\x68\x65\155\x65"]["\x70\x6f\163\x74\x63\x6f\x6e\x74\x65\x6e\164"]["\164\165\x72\x6e\137\160\x61\x67\145\x5f\x70\x6c\x61\x6e\145"]; goto C8LCz; JJba0: $data["\157\x70\164\x69\x6d\x69\x7a\x61\x74\x69\157\x6e"]["\142\x61\156\x69\155\x67\162\145\x73\157\x6c\x76\151\156\x67"] = $set["\x6f\160\164\x69\x6d\151\x7a\141\164\151\157\x6e"]["\142\x61\x6e\x69\155\147\162\x65\x73\157\154\166\151\156\147"] === null ? 1 : $set["\157\160\164\151\155\151\172\141\x74\x69\157\156"]["\x62\141\x6e\151\x6d\147\162\x65\163\x6f\x6c\166\x69\156\x67"]; goto OYiYd; l000p: $data["\x70\x6f\163\x74"]["\x69\x6d\147\162\x61\x64\x69\x75\x73"] = $set["\x70\157\163\164"]["\x69\155\x67\x72\x61\x64\151\x75\x73"] === null ? 1 : $set["\x70\157\163\164"]["\151\x6d\147\x72\x61\144\x69\x75\x73"]; goto eB5LM; lz1zA: if (isset($set["\x6f\x70\x74\151\155\x69\x7a\141\164\x69\x6f\156"]["\156\x6f\164\x69\146\151\143\141\164\151\x6f\156\x5f\162\x65\147\137\x65\155\x61\151\154"])) { goto VqINN; } goto WvR0d; s0XgS: tOnHp: goto gm7k6; EmkFv: $data["\155\x6f\144\x75\154\x65"]["\x72\x65\160\x72\151\x6e\164"]["\x63\x6f\160\x79\x6c\x65\x6e"] = $set["\155\x6f\x64\x75\x6c\145"]["\x72\x65\x70\x72\151\x6e\164"]["\143\157\x70\x79\x6c\145\156"] === null ? 10 : $set["\155\157\x64\165\x6c\x65"]["\x72\145\160\162\x69\x6e\x74"]["\x63\157\x70\x79\x6c\145\156"]; goto DcBic; By0zZ: $data["\x6f\x70\164\x69\x6d\151\172\x61\164\151\x6f\x6e"]["\162\x65\155\x6f\x76\x65\166\x65\162\163\151\157\156"] = $set["\x6f\160\164\x69\155\x69\172\x61\x74\151\x6f\156"]["\x72\x65\x6d\x6f\166\145\x76\x65\x72\163\151\157\x6e"] === null ? 1 : $set["\157\160\x74\151\155\151\172\141\x74\151\x6f\x6e"]["\x72\x65\x6d\x6f\166\x65\166\x65\x72\163\x69\157\156"]; goto eVtzZ; bdid7: $data["\x70\x6f\x73\164"]["\143\157\x70\171\x72\x69\x67\x68\x74"] = $set["\160\x6f\163\x74"]["\x63\157\x70\x79\x72\151\147\150\164"]; goto FuKw7; ae7rF: $data["\155\x6f\x64\x75\x6c\x65"]["\x73\x6d\x74\x70\145\x6e\143\x72\x79\x70\164\164\171\x70\x65"] = $set["\x6d\x6f\x64\x75\x6c\145"]["\163\x6d\164\160\x65\x6e\143\162\x79\160\x74\x74\171\x70\145"] === null ? "\156\157" : $set["\x6d\x6f\x64\x75\x6c\145"]["\x73\x6d\164\x70\145\156\143\x72\x79\160\x74\x74\171\x70\145"]; goto Pg3eO; gm7k6: $data["\157\x70\164\x69\x6d\151\172\x61\x74\151\x6f\156"]["\142\141\156\x66\165\156"]["\x74\x72\x61\x6e\163\x6c\141\x74\x69\157\x6e\163\x5f\x61\160\x69"] = $set["\x6f\x70\164\x69\x6d\x69\172\x61\164\x69\x6f\156"]["\x62\x61\156\146\165\156"]["\x74\x72\141\x6e\x73\x6c\141\x74\151\157\x6e\x73\137\x61\160\x69"] === null ? 1 : $set["\x6f\x70\164\x69\x6d\151\x7a\x61\164\x69\x6f\x6e"]["\142\x61\156\146\x75\x6e"]["\164\x72\141\156\163\154\x61\x74\x69\x6f\x6e\x73\137\141\160\151"]; goto b7lKJ; GGvX0: hIY78: goto b6v0m; b6v0m: $set = json_decode($set->option, true); goto YdeFK; QBV6O: fJlNU: goto mRiaP; kU_Ff: $data["\141\x64"]["\151\156\x64\x65\170\137\61\x5f\160\150\157\x6e\145"] = $set["\x61\x64"]["\x69\156\144\145\170\137\61\137\x70\x68\x6f\x6e\x65"]; goto KI19q; WX43c: VqINN: goto fl1SM; hkL7a: $data["\157\160\x74\151\x6d\x69\x7a\x61\x74\151\x6f\156"]["\142\x61\x6e\146\165\156"]["\x77\x70\x5f\143\x68\145\x63\153\x5f\142\x72\157\x77\163\145\x72\137\x76\x65\162\x73\x69\157\x6e"] = $set["\x6f\160\x74\x69\x6d\x69\x7a\141\164\151\157\156"]["\x62\x61\156\146\x75\156"]["\167\160\x5f\143\x68\145\143\x6b\137\x62\x72\157\x77\x73\145\x72\137\166\145\x72\163\x69\x6f\156"] === null ? 1 : $set["\x6f\x70\x74\x69\x6d\151\x7a\x61\x74\x69\157\156"]["\142\x61\156\146\x75\156"]["\167\160\137\143\150\145\143\153\137\142\x72\157\x77\x73\x65\162\137\x76\x65\162\163\x69\x6f\156"]; goto lz1zA; Oi_UW: $data["\157\x70\x74\x69\155\151\172\x61\164\x69\x6f\156"]["\x67\x72\141\x76\141\164\141\x72\163\x69\164\x65"] = $set["\157\x70\x74\151\x6d\151\x7a\141\164\151\x6f\156"]["\x67\162\141\x76\x61\x74\141\162\x73\x69\164\145"] === null ? "\143\x6e" : $set["\157\x70\x74\151\x6d\x69\172\x61\x74\151\157\x6e"]["\x67\x72\141\x76\x61\164\x61\x72\163\151\x74\145"]; goto DZAw_; BDcU_: $data["\155\157\144\x75\154\145"]["\x73\x6d\164\x70\x6e\x61\155\145"] = $set["\155\x6f\x64\x75\x6c\145"]["\x73\x6d\x74\160\x6e\141\x6d\145"]; goto y5JgM; tK9Z9: $data["\163\x65\157"]["\x64\145\163\x63\x72\x69\x70\164\x69\x6f\x6e"] = $set["\x73\145\157"]["\144\145\x73\143\x72\x69\x70\x74\151\157\156"]; goto A1e8n; XB7QK: KjOvK: goto IVkya; XeWil: $data["\x74\150\x65\x6d\145"]["\142\x61\147\151\155\x67\x5f\163\150\x6f\x77\x74\171\x70\145"] = $set["\164\150\x65\x6d\x65"]["\142\x61\x67\151\155\147\x5f\x73\x68\157\167\164\x79\x70\x65"] === null ? 1 : $set["\164\x68\x65\x6d\145"]["\x62\x61\x67\x69\155\147\x5f\163\150\x6f\167\164\171\x70\145"]; goto KsGbS; VlR7I: $set["\x6f\160\x74\x69\155\151\172\141\164\151\x6f\x6e"]["\162\145\x6d\x6f\x76\x65\144\156\163\160\x72\x65\x66\x65\164\x63\150"] = null; goto XB7QK; W9d41: $data["\x69\156\146\x6f"]["\x6e\x65\167\166\x65\x72\163\x69\x6f\x6e"] = $set["\x69\156\146\x6f"]["\156\145\167\x76\x65\162\163\x69\x6f\x6e"] === null ? THEME_VERSION : $set["\x69\156\x66\157"]["\x6e\x65\x77\x76\145\162\163\151\x6f\156"]; goto YEZft; Kz0VT: if (!($set == false)) { goto hIY78; } goto f2huh; BKKXZ: $data["\155\157\x64\x75\154\x65"]["\162\145\160\x72\x69\156\x74"]["\x61\144\144\165\x72\154"] = $set["\x6d\x6f\x64\165\154\145"]["\x72\145\x70\x72\151\x6e\164"]["\141\144\144\165\x72\x6c"] === null ? 0 : $set["\155\157\144\165\x6c\x65"]["\162\x65\x70\x72\x69\156\164"]["\141\x64\144\165\x72\x6c"]; goto jQbYQ; A9euU: XdIf0: goto yPkL5; F2wrQ: $data["\x69\156\144\145\x78"]["\160\157\163\x74\143\x61\x72\x64"] = $set["\x69\x6e\x64\145\x78"]["\x70\157\x73\x74\x63\141\x72\144"] == null ? array() : $set["\x69\x6e\144\145\x78"]["\x70\x6f\163\164\143\141\162\144"]; goto eWcO2; YdeFK: $data["\x72\x6f\165\164\151\156\145"]["\154\157\x67\x6f"] = $set["\x72\157\x75\164\151\156\145"]["\154\x6f\x67\157"]; goto OwJhj; qj1Gk: } public function getdata() { return $this->data; } static function lock($txt, $key = "\x77\x77\x77\x2e\x6c\157\166\x65\x73\164\165\x2e\143\157\x6d") { goto yw_32; BfzTX: SH3YC: goto dMyy7; WioR2: $j = 0; goto rfVBl; k0rKQ: if (!($i < strlen($txt))) { goto SH3YC; } goto HYXPO; nNfz6: IkaR5: goto EAj86; BnVij: XxBTW: goto k0rKQ; HYXPO: $k = $k == strlen($mdKey) ? 0 : $k; goto pASxb; EZzwl: $tmp .= $chars[$j]; goto nNfz6; EAj86: $i++; goto HL0f6; HL0f6: goto XxBTW; goto BfzTX; zhPvk: $tmp = ''; goto xdJjI; tYnAt: $nh = rand(0, 64); goto rgg3B; VyxSH: $txt = base64_encode($txt); goto zhPvk; dMyy7: return urlencode($ch . $tmp); goto I2tpD; pASxb: $j = ($nh + strpos($chars, $txt[$i]) + ord($mdKey[$k++])) % 64; goto EZzwl; rgg3B: $ch = $chars[$nh]; goto JdadZ; Hmh0s: $i = 0; goto BnVij; aMVwp: $mdKey = substr($mdKey, $nh % 8, $nh % 8 + 7); goto VyxSH; JdadZ: $mdKey = md5($key . $ch); goto aMVwp; rfVBl: $k = 0; goto Hmh0s; xdJjI: $i = 0; goto WioR2; yw_32: $chars = "\x41\102\x43\104\x45\106\107\110\111\112\x4b\114\x4d\116\x4f\120\121\x52\123\x54\x55\126\127\x58\x59\x5a\141\142\143\x64\x65\x66\x67\x68\151\x6a\153\154\x6d\x6e\157\160\161\x72\163\x74\x75\166\x77\x78\x79\x7a\x30\61\62\63\x34\x35\66\67\x38\x39\x2d\75\53"; goto tYnAt; I2tpD: } static function unlock($txt, $key = "\167\x77\167\56\x6c\157\166\x65\x73\x74\165\x2e\x63\157\155") { goto wOZTf; hhSWS: $mdKey = md5($key . $ch); goto zWGwB; gM0O2: $ch = $txt[0]; goto fiJsh; UDvpx: $txt = substr($txt, 1); goto aY_Qc; AYV39: wGg9n: goto vSknb; P3_Pl: $i = 0; goto WZmpx; fiJsh: $nh = strpos($chars, $ch); goto hhSWS; m4bjM: $tmp .= $chars[$j]; goto hmk5U; KO8QC: $chars = "\x41\x42\103\104\105\106\107\x48\111\112\113\x4c\115\116\x4f\120\x51\x52\123\x54\125\126\127\x58\x59\x5a\141\x62\143\x64\x65\x66\147\x68\151\152\x6b\x6c\x6d\156\x6f\160\161\x72\x73\x74\x75\x76\x77\170\x79\x7a\x30\x31\x32\63\x34\x35\x36\67\x38\x39\x2d\x3d\53"; goto gM0O2; rjct1: $j = 0; goto Z1w48; hmk5U: cG4dB: goto D9o1A; d_kEE: if (!($i < strlen($txt))) { goto wTNmU; } goto pULq1; UsTPA: goto wGg9n; goto jBVO0; WZmpx: zSoYY: goto d_kEE; zWGwB: $mdKey = substr($mdKey, $nh % 8, $nh % 8 + 7); goto UDvpx; Z1w48: $k = 0; goto P3_Pl; UIN85: goto zSoYY; goto YyNam; aY_Qc: $tmp = ''; goto n3AHK; wOZTf: $txt = urldecode($txt); goto KO8QC; D9o1A: $i++; goto UIN85; CReV5: $j = strpos($chars, $txt[$i]) - $nh - ord($mdKey[$k++]); goto AYV39; pZTH9: return base64_decode($tmp); goto SpCfJ; vSknb: if (!($j < 0)) { goto sY0Ok; } goto F3TOo; n3AHK: $i = 0; goto rjct1; YyNam: wTNmU: goto pZTH9; pULq1: $k = $k == strlen($mdKey) ? 0 : $k; goto CReV5; F3TOo: $j += 64; goto UsTPA; jBVO0: sY0Ok: goto m4bjM; SpCfJ: } public static function saveData($set) { $set = self::lock(base64_encode(json_encode($set))); return update_option(THEME_NAME . "\137\157\160\x74\x69\x6f\x6e", $set); } } \ No newline at end of file diff --git a/geekframe/page-setting.php b/geekframe/page-setting.php index 33400e2..ff152c7 100644 --- a/geekframe/page-setting.php +++ b/geekframe/page-setting.php @@ -65,6 +65,10 @@ wp_enqueue_media(); 插入代码 + + + 广告代码 + 关于主题 @@ -105,6 +109,9 @@ wp_enqueue_media();
    +
    + +
    diff --git a/geekframe/support.php b/geekframe/support.php index 46c2689..23247a9 100644 --- a/geekframe/support.php +++ b/geekframe/support.php @@ -95,6 +95,17 @@ remove_filter('the_content', 'wptexturize'); //禁止对标签自动校正 remove_filter('the_content', 'balanceTags'); +//WordPress函数禁用 +if ($set['optimization']['banfun']['translations_api'] == 1) { + add_filter('translations_api', '__return_false'); +} +if ($set['optimization']['banfun']['wp_check_php_version'] == 1) { + add_filter('wp_check_php_version', '__return_false'); +} +if ($set['optimization']['banfun']['wp_check_browser_version'] == 1) { + add_filter('wp_check_browser_version', '__return_false'); +} + if ($set['optimization']['notification_reg_email'] === 1) { //关闭新用户注册用户邮件通知 @@ -109,7 +120,14 @@ if ($set['optimization']['notification_changepwdandmail_email'] === 1) { add_filter('wp_new_user_notification_email_admin', '__return_false'); //关闭更新邮箱用户邮件通知 } +if ($set['optimization']['autoenfixedtitle'] == 1) { + add_filter('get_sample_permalink_html', 'corepress_sample_permalink'); +} +function corepress_sample_permalink($html, $new_title = null, $new_slug = null) +{ + return $html . ''; +} function ban_scripts() { @@ -211,6 +229,29 @@ if ($set['optimization']['banimgresolving'] === 1) { // 禁止大图片压缩 add_filter('big_image_size_threshold', '__return_false'); } +//支持svg +function upload_support($mimes = array()) +{ + $mimes['svg'] = 'image/svg+xml'; + return $mimes; +} + +//支持webp +function webp_filter_mime_types($array) +{ + $array['webp'] = 'image/webp'; + return $array; +} +function webp_file_display($result, $path) { + $info = @getimagesize( $path ); + if($info['mime'] == 'image/webp') { + $result = true; + } + return $result; +} +add_filter( 'file_is_displayable_image', 'webp_file_display'); +add_filter('mime_types', 'webp_filter_mime_types'); +add_filter('upload_mimes', 'upload_support'); if ($set['optimization']['closeemoji'] === 1) { //禁止emoji @@ -244,19 +285,19 @@ function CorePress_replace_avatar($avatarUrl) $avatarUrl = str_replace("http://", "https://", $avatarUrl); if ($set['optimization']['gravatarsite'] == 'v2ex') { //$avatar = preg_replace(["/[0-9]\.gravatar\.com\/avatar/", "/secure.gravatar\.com\/avatar/"], "cdn.v2ex.com/gravatar", $avatarUrl); - $avatarUrl = str_replace(array("www.gravatar.com/avatar", "0.gravatar.com/avatar", "1.gravatar.com/avatar", "2.gravatar.com/avatar"), "cdn.v2ex.com/gravatar", $avatarUrl); + $avatarUrl = str_replace(array("secure.gravatar.com/avatar", "www.gravatar.com/avatar", "0.gravatar.com/avatar", "1.gravatar.com/avatar", "2.gravatar.com/avatar"), "cdn.v2ex.com/gravatar", $avatarUrl); } elseif ($set['optimization']['gravatarsite'] == 'geek') { - $avatarUrl = str_replace(array("www.gravatar.com/avatar", "0.gravatar.com/avatar", "1.gravatar.com/avatar", "2.gravatar.com/avatar"), "sdn.geekzu.org/avatar", $avatarUrl); + $avatarUrl = str_replace(array("secure.gravatar.com/avatar", "www.gravatar.com/avatar", "0.gravatar.com/avatar", "1.gravatar.com/avatar", "2.gravatar.com/avatar"), "sdn.geekzu.org/avatar", $avatarUrl); } elseif ($set['optimization']['gravatarsite'] == 'cn') { - $avatarUrl = str_replace(array("www.gravatar.com/avatar", "0.gravatar.com/avatar", "1.gravatar.com/avatar", "2.gravatar.com/avatar"), "cn.gravatar.com/avatar", $avatarUrl); + $avatarUrl = str_replace(array("secure.gravatar.com/avatar", "www.gravatar.com/avatar", "0.gravatar.com/avatar", "1.gravatar.com/avatar", "2.gravatar.com/avatar"), "cn.gravatar.com/avatar", $avatarUrl); } return $avatarUrl; } //print_r($set['optimization']['gravatarsite'] ); -add_filter('get_avatar', 'CorePress_replace_avatar'); -add_filter('get_avatar_url', 'CorePress_replace_avatar'); +add_filter('get_avatar', 'CorePress_replace_avatar', 20); +add_filter('get_avatar_url', 'CorePress_replace_avatar', 20); add_filter('emoji_svg_url', '__return_false'); @@ -308,7 +349,7 @@ function corepress_updateTheme() update_option('corepress_updatetheme', time()); } if (time() - $lasttime > 60 * 60) { - $url = 'http://theme.lovestu.com/version.php?site=' . get_bloginfo('siteurl', 'display') . '&n=1&v=' . THEME_VERSION; + $url = 'http://theme.lovestu.com/version.php?site=' . get_bloginfo('url', 'display') . '&n=1&v=' . THEME_VERSION; $request = new WP_Http; $result = $request->request($url); if (!is_wp_error($result)) { @@ -341,19 +382,18 @@ function corepress_comment_face($incoming_comment) } -function corepress_loginurl($url) +function corepress_loginurl($login_url, $redirect, $force_reauth) { global $set; - if ($set['user']['loginpage'] == 1) { - $query = parse_url($url); - if (!isset($query['query'])) { - return $url; + $login_url = $set['user']['lgoinpageurl']; + if (!empty($redirect)) { + $login_url = add_query_arg('redirect_to', urlencode($redirect), $login_url); } - parse_str($query['query'], $output); - return $set['user']['lgoinpageurl'] . '?re=' . $output['redirect_to']; + return $login_url; } - return $url; + + return $login_url; } function corepress_registerurl($url) @@ -416,10 +456,21 @@ function corepress_addbutton() admin_url('admin-ajax.php'))); add_filter('mce_external_plugins', 'corepress_add_editor_plugin'); } } +function corepress_block_editor_loadobj() { + file_load_js('vue.min.js'); + file_load_css('admin.css'); + file_load_lib('element/index.css', 'css'); + file_load_lib('element/index.js', 'js'); + file_load_js('tools.js'); + file_load_css('editor-window.css'); +} +add_action( 'enqueue_block_editor_assets', 'corepress_block_editor_loadobj' ); + function corepress_add_editor_plugin($plugin_array) { $plugin_array['gh-addShortCode'] = THEME_JS_PATH . '/editorButton.js'; @@ -435,7 +486,7 @@ add_action('media_buttons', 'corepress_add_media_button'); add_action('edit_form_top', 'corepress_addbutton'); add_filter('comment_text', 'corepress_comment_face'); add_filter('comment_text_rss', 'corepress_comment_face'); -add_filter('login_url', 'corepress_loginurl', 1); +add_filter('login_url', 'corepress_loginurl', 10, 3); add_filter('register_url', 'corepress_registerurl', 1); add_filter('lostpassword_url', 'corepress_lostpassword_url', 1); @@ -494,6 +545,9 @@ function corepress_meta_box_form($post) if (!isset($corepress_post_meta['set']['postshow'])) { $corepress_post_meta['set']['postshow'] = '0'; } + if (!isset($corepress_post_meta['set']['thumbnail'])) { + $corepress_post_meta['set']['thumbnail'] = ''; + } ?>
    @@ -562,8 +616,8 @@ function corepress_meta_box_form($post) 恢复默认 #67C23A #909399 - #F56C6C - #E6A23C + #E6A23C + #F56C6C
    @@ -619,6 +673,16 @@ function corepress_meta_box_form($post) + +
    +
    + 自定义缩略图地址 +
    +
    + + +
    +
    '; } +function load_js_parameter($name, $arr) +{ + echo ''; +} + function file_load_img($path) { echo ""; @@ -21,8 +26,12 @@ function file_get_img_url($path) function file_echo_svg($path) { - $size = readfile(THEME_PATH . '/static/img/' . $path); - //echo file_get_contents(THEME_IMG_PATH . "/" . $path); + + global $wp_filesystem; + $svg = $wp_filesystem->get_contents(THEME_PATH . '/static/img/' . $path); + print_r($svg); + //readfile(THEME_PATH . '/static/img/' . $path); + } function file_load_face() @@ -334,3 +343,197 @@ function ajax_die($msg, $code = 0) $json['msg'] = $msg; wp_die(json_encode($json)); } + +function is_wx_qq() +{ + $user_agent = $_SERVER['HTTP_USER_AGENT']; + if (strpos($user_agent, 'MicroMessenger') == false && strpos($user_agent, 'QQ/') == false) { + return false; + } else { + return true; + } +} + +function loadiconfont_by_cdn() +{ + global $set; + if ($set['optimization']['iconfontcdn'] == 'JsDelivr') { + echo ''; + + } else { + file_load_lib('fontawesome5/css/all.min.css', 'css'); + } + +} + +function corepress_pinyin_long($zh) +{ + //获取整条字符串汉字拼音首字母 + $ret = ""; + $zh = preg_replace('# #', '', $zh); + $s1 = iconv("UTF-8", "gb2312", $zh); + $s2 = iconv("gb2312", "UTF-8", $s1); + if ($s2 == $zh) { + $zh = $s1; + } + for ($i = 0; $i < strlen($zh); $i++) { + $s1 = substr($zh, $i, 1); + $p = ord($s1); + if ($p > 160) { + $s2 = substr($zh, $i++, 2); + $ret .= corepress_getFirstPing($s2); + } else { + $ret .= $s1; + } + } + return $ret; +} + +function replace_symbol($str) +{ + $str = str_replace('?', '', $str); + $str = str_replace('`', '', $str); + $str = str_replace('·', '', $str); + $str = str_replace('~', '', $str); + $str = str_replace('!', '', $str); + $str = str_replace('!', '', $str); + $str = str_replace('@', '', $str); + $str = str_replace('#', '', $str); + $str = str_replace('$', '', $str); + $str = str_replace('¥', '', $str); + $str = str_replace('%', '', $str); + $str = str_replace('^', '', $str); + $str = str_replace('……', '', $str); + $str = str_replace('&', '', $str); + $str = str_replace('*', '', $str); + $str = str_replace('(', '', $str); + $str = str_replace(')', '', $str); + $str = str_replace('(', '', $str); + $str = str_replace(')', '', $str); + $str = str_replace('-', '', $str); + $str = str_replace('_', '', $str); + $str = str_replace('——', '', $str); + $str = str_replace('+', '', $str); + $str = str_replace('=', '', $str); + $str = str_replace('|', '', $str); + $str = str_replace('\\', '', $str); + $str = str_replace('[', '', $str); + $str = str_replace(']', '', $str); + $str = str_replace('【', '', $str); + $str = str_replace('】', '', $str); + $str = str_replace('{', '', $str); + $str = str_replace('}', '', $str); + $str = str_replace(';', '', $str); + $str = str_replace(';', '', $str); + $str = str_replace(':', '', $str); + $str = str_replace(':', '', $str); + $str = str_replace('\'', '', $str); + $str = str_replace('"', '', $str); + $str = str_replace('“', '', $str); + $str = str_replace('”', '', $str); + $str = str_replace(',', '', $str); + $str = str_replace(',', '', $str); + $str = str_replace('<', '', $str); + $str = str_replace('>', '', $str); + $str = str_replace('《', '', $str); + $str = str_replace('》', '', $str); + $str = str_replace('.', '', $str); + $str = str_replace('。', '', $str); + $str = str_replace('/', '', $str); + $str = str_replace('、', '', $str); + $str = str_replace('?', '', $str); + $str = str_replace('?', '', $str); + return trim($str); +} + +/** + * 获取首字符拼音首字母 + * 判断是否为汉字 !preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $s0) + * 已知 “泸”,无法识别 + */ +function corepress_getFirstPing($str) +{ + $s0 = mb_substr($str, 0, 1, 'utf-8'); + $fchar = ord($s0[0]); + if ($fchar >= ord("A") and $fchar <= ord("z")) return strtoupper($s0[0]); + $s1 = iconv("UTF-8", "gb2312", $s0); + $s2 = iconv("gb2312", "UTF-8", $s1); + if ($s2 == $s0) { + $s = $s1; + } else { + $s = $s0; + } + $asc = ord($s[0]) * 256 + ord($s[0]) - 65536; + if ($asc >= -20319 && $asc <= -20284) return "A"; + if ($asc >= -20283 && $asc <= -19776) return "B"; + if ($asc >= -19775 && $asc <= -19219) return "C"; + if ($asc >= -19218 && $asc <= -18711) return "D"; + if ($asc >= -18710 && $asc <= -18527) return "E"; + if ($asc >= -18526 && $asc <= -18240) return "F"; + if ($asc >= -18239 && $asc <= -17923) return "G"; + if ($asc >= -17922 && $asc <= -17418) return "H"; + if ($asc >= -17922 && $asc <= -17418) return "I"; + if ($asc >= -17417 && $asc <= -16475) return "J"; + if ($asc >= -16474 && $asc <= -16213) return "K"; + if ($asc >= -16212 && $asc <= -15641) return "L"; + if ($asc >= -15640 && $asc <= -15166) return "M"; + if ($asc >= -15165 && $asc <= -14923) return "N"; + if ($asc >= -14922 && $asc <= -14915) return "O"; + if ($asc >= -14914 && $asc <= -14631) return "P"; + if ($asc >= -14630 && $asc <= -14150) return "Q"; + if ($asc >= -14149 && $asc <= -14091) return "R"; + if ($asc >= -14090 && $asc <= -13319) return "S"; + if ($asc >= -13318 && $asc <= -12839) return "T"; + if ($asc >= -12838 && $asc <= -12557) return "W"; + if ($asc >= -12556 && $asc <= -11848) return "X"; + if ($asc >= -11847 && $asc <= -11056) return "Y"; + if ($asc >= -11055 && $asc <= -10247) return "Z"; + return $s0; +} + +function the_breadcrumb() +{ + echo ''; + if (!is_home()) { + echo '
  • '; + echo ' 主页'; + echo "
  • "; + if (is_category() || is_single()) { + echo '
  • '; + the_category('
  • '); + if (is_single()) { + echo "
  • "; + } + } elseif (is_page()) { + echo '
  • '; + echo the_title(); + echo '
  • '; + } + } elseif (is_tag()) { + single_tag_title(); + } elseif (is_day()) { + echo "
  • Archive for "; + the_time('F jS, Y'); + echo '
  • '; + } elseif (is_month()) { + echo "
  • Archive for "; + the_time('F, Y'); + echo '
  • '; + } elseif (is_year()) { + echo "
  • Archive for "; + the_time('Y'); + echo '
  • '; + } elseif (is_author()) { + echo "
  • Author Archive"; + echo '
  • '; + } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { + echo "
  • Blog Archives"; + echo '
  • '; + } elseif (is_search()) { + echo "
  • Search Results"; + echo '
  • '; + } + echo ''; +} diff --git a/header.php b/header.php index 00b708d..3405adf 100644 --- a/header.php +++ b/header.php @@ -39,13 +39,30 @@ if ($set['routine']['favicon'] != null) { --fontSelectedColor: !important; } -'; + ?> + + + +
    + +
    +
    @@ -67,7 +91,25 @@
    +
    + +
    + +
    + +
    + +