From 8f0667b69b0ccda6970d77da8e1da2a00661c968 Mon Sep 17 00:00:00 2001 From: jmash Date: Sun, 10 Feb 2008 12:57:07 +0000 Subject: [PATCH] Initial release git-svn-id: https://plugins.svn.wordpress.org/pagemash/trunk@31331 b8457f37-d9ea-0310-8a92-e5e31aec5664 --- README.txt | 41 +++ gpl_license_v3.0.txt | 674 +++++++++++++++++++++++++++++++++++++++++++ hide.png | Bin 0 -> 715 bytes mootools-1.11.js | 248 ++++++++++++++++ pagemash.php | 286 ++++++++++++++++++ reorder.php | 17 ++ screenshot_1.png | Bin 0 -> 24226 bytes 7 files changed, 1266 insertions(+) create mode 100644 README.txt create mode 100644 gpl_license_v3.0.txt create mode 100644 hide.png create mode 100644 mootools-1.11.js create mode 100644 pagemash.php create mode 100644 reorder.php create mode 100644 screenshot_1.png diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..1159dce --- /dev/null +++ b/README.txt @@ -0,0 +1,41 @@ +=== Contact Form 7 === +Contributors: JoelStarnes +Tags: order pages, ajax, re-order, drag-and-drop, +Requires at least: 2.2 +Tested up to: 2.4-bleeding +Stable tag: 1.7.5 + +Organise your page order with this simple drag-and-drop Ajax interface. + +== Description == + +Customise the order your pages are listed in with a simple Ajax drag-and-drop administrative interface with an option to toggle the page visibility. Great tool to quickly re-arrange your menus. + +== Installation == + +1. Download Plugin +1. Unzip & Upload to /wp-content/plugins/ +1. Edit your Template +1. Activate in 'Plugins' admin menu + + +Simply include the following in your template where you would like your pages to be listed: +'' +'' + +If you would only like to order pages you can set $excludePagesFeature to false at the top of pagemash.php +And then just use the standard: +'' + +== Frequently Asked Questions == + +If you have questions, +please drop me an email. + +== Screenshots == + +1. screenshot_1.png + +== Localization == + +Currently only available in english. \ No newline at end of file diff --git a/gpl_license_v3.0.txt b/gpl_license_v3.0.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/gpl_license_v3.0.txt @@ -0,0 +1,674 @@ + 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/hide.png b/hide.png new file mode 100644 index 0000000000000000000000000000000000000000..08f249365afd29594b51210c6e21ba253897505d GIT binary patch literal 715 zcmV;+0yO=JP)C4}Mrzlg<+1Y8PEBfUp0jJpx4B>@E+cy3`^(Gw`Mf+2&yxZm<$to~Vpgvg&QKNR z_f#1(r6svZt%iF?s+n<8X?B&!h3g9Dbb8_=MX}!;HiQSAh`bp^WMl~Z-44teO7W_Y zV4thSL{h;rJY7!l3%5J4H1!tIzB`Dv+YxO(haWeausGZYkI8^hWj6mzo=L0{%;yxzh{5!Htr?51 zvG|W62MzC8BZ76hRpCyO2zOn<%e)K>NHge!-~)Ap33OdWw6hsLYbCxGNt0%wk_2z7 zfyYvXheSG)5HRK1VB~%mq7Dmurw#bi@hEcOr3&G1ZiF*$M=&9nB#VNf&Q^r$4G5kp zTURh&s)E0%5&hyVD}sp<72~zmAY`Y(9aqO6CXF%=zFHGzO-A&I(pE}v70YQxCPJ{Y z4L+?5-crdLn3ZRPEs!A4ehEY3ZRpL~w9>@aMN+{F4dI@v&>(QDHQum!mG~E^$OS8l z!7?%Uwib*ROP67Hw`ika)gX-(8Ia`-u_IEhxG7U<13kSsMW+$lbb2dUMm5p6pa}cjgA+U$^mJ^AjD?&bdi)8~y+Q002ovPDHLkV1g8IMc@Dc literal 0 HcmV?d00001 diff --git a/mootools-1.11.js b/mootools-1.11.js new file mode 100644 index 0000000..6f2366f --- /dev/null +++ b/mootools-1.11.js @@ -0,0 +1,248 @@ +//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006-2007 Valerio Proietti, , MIT Style License. + +var MooTools={version:"1.11"};function $defined(A){return(A!=undefined);}function $type(B){if(!$defined(B)){return false;}if(B.htmlElement){return"element"; +}var A=typeof B;if(A=="object"&&B.nodeName){switch(B.nodeType){case 1:return"element";case 3:return(/\S/).test(B.nodeValue)?"textnode":"whitespace";}}if(A=="object"||A=="function"){switch(B.constructor){case Array:return"array"; +case RegExp:return"regexp";case Class:return"class";}if(typeof B.length=="number"){if(B.item){return"collection";}if(B.callee){return"arguments";}}}return A; +}function $merge(){var C={};for(var B=0;B-1:this.indexOf(A)>-1;},escapeRegExp:function(){return this.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1"); +}});Array.extend({rgbToHex:function(D){if(this.length<3){return false;}if(this.length==4&&this[3]==0&&!D){return"transparent";}var B=[];for(var A=0;A<3; +A++){var C=(this[A]-0).toString(16);B.push((C.length==1)?"0"+C:C);}return D?B:"#"+B.join("");},hexToRgb:function(C){if(this.length!=3){return false;}var A=[]; +for(var B=0;B<3;B++){A.push(parseInt((this[B].length==1)?this[B]+this[B]:this[B],16));}return C?A:"rgb("+A.join(",")+")";}});Function.extend({create:function(A){var B=this; +A=$merge({bind:B,event:false,arguments:null,delay:false,periodical:false,attempt:false},A);if($chk(A.arguments)&&$type(A.arguments)!="array"){A.arguments=[A.arguments]; +}return function(E){var C;if(A.event){E=E||window.event;C=[(A.event===true)?E:new A.event(E)];if(A.arguments){C.extend(A.arguments);}}else{C=A.arguments||arguments; +}var F=function(){return B.apply($pick(A.bind,B),C);};if(A.delay){return setTimeout(F,A.delay);}if(A.periodical){return setInterval(F,A.periodical);}if(A.attempt){try{return F(); +}catch(D){return false;}}return F();};},pass:function(A,B){return this.create({arguments:A,bind:B});},attempt:function(A,B){return this.create({arguments:A,bind:B,attempt:true})(); +},bind:function(B,A){return this.create({bind:B,arguments:A});},bindAsEventListener:function(B,A){return this.create({bind:B,event:true,arguments:A});},delay:function(B,C,A){return this.create({delay:B,bind:C,arguments:A})(); +},periodical:function(A,C,B){return this.create({periodical:A,bind:C,arguments:B})();}});Number.extend({toInt:function(){return parseInt(this);},toFloat:function(){return parseFloat(this); +},limit:function(B,A){return Math.min(A,Math.max(B,this));},round:function(A){A=Math.pow(10,A||0);return Math.round(this*A)/A;},times:function(B){for(var A=0; +A";}D=document.createElement(D);}D=$(D);return(!C||!D)?D:D.set(C);}});var Elements=new Class({initialize:function(A){return(A)?$extend(A,this):this; +}});Elements.extend=function(A){for(var B in A){this.prototype[B]=A[B];this[B]=$native.generic(B);}};function $(B){if(!B){return null;}if(B.htmlElement){return Garbage.collect(B); +}if([window,document].contains(B)){return B;}var A=$type(B);if(A=="string"){B=document.getElementById(B);A=(B)?"element":false;}if(A!="element"){return null; +}if(B.htmlElement){return Garbage.collect(B);}if(["object","embed"].contains(B.tagName.toLowerCase())){return B;}$extend(B,Element.prototype);B.htmlElement=function(){}; +return Garbage.collect(B);}document.getElementsBySelector=document.getElementsByTagName;function $$(){var D=[];for(var C=0,B=arguments.length;C0&&A<13){this.key="f"+A;}}this.key=this.key||String.fromCharCode(this.code).toLowerCase();}else{if(this.type.test(/(click|mouse|menu)/)){this.page={x:C.pageX||C.clientX+document.documentElement.scrollLeft,y:C.pageY||C.clientY+document.documentElement.scrollTop}; +this.client={x:C.pageX?C.pageX-window.pageXOffset:C.clientX,y:C.pageY?C.pageY-window.pageYOffset:C.clientY};this.rightClick=(C.which==3)||(C.button==2); +switch(this.type){case"mouseover":this.relatedTarget=C.relatedTarget||C.fromElement;break;case"mouseout":this.relatedTarget=C.relatedTarget||C.toElement; +}this.fixRelatedTarget();}}}return this;},stop:function(){return this.stopPropagation().preventDefault();},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation(); +}else{this.event.cancelBubble=true;}return this;},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault();}else{this.event.returnValue=false; +}return this;}});Event.fix={relatedTarget:function(){if(this.relatedTarget&&this.relatedTarget.nodeType==3){this.relatedTarget=this.relatedTarget.parentNode; +}},relatedTargetGecko:function(){try{Event.fix.relatedTarget.call(this);}catch(A){this.relatedTarget=this.target;}}};Event.prototype.fixRelatedTarget=(window.gecko)?Event.fix.relatedTargetGecko:Event.fix.relatedTarget; +Event.keys=new Abstract({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Element.Methods.Events={addEvent:function(C,B){this.$events=this.$events||{}; +this.$events[C]=this.$events[C]||{keys:[],values:[]};if(this.$events[C].keys.contains(B)){return this;}this.$events[C].keys.push(B);var A=C;var D=Element.Events[C]; +if(D){if(D.add){D.add.call(this,B);}if(D.map){B=D.map;}if(D.type){A=D.type;}}if(!this.addEventListener){B=B.create({bind:this,event:true});}this.$events[C].values.push(B); +return(Element.NativeEvents.contains(A))?this.addListener(A,B):this;},removeEvent:function(C,B){if(!this.$events||!this.$events[C]){return this;}var F=this.$events[C].keys.indexOf(B); +if(F==-1){return this;}var A=this.$events[C].keys.splice(F,1)[0];var E=this.$events[C].values.splice(F,1)[0];var D=Element.Events[C];if(D){if(D.remove){D.remove.call(this,B); +}if(D.type){C=D.type;}}return(Element.NativeEvents.contains(C))?this.removeListener(C,E):this;},addEvents:function(A){return Element.setMany(this,"addEvent",A); +},removeEvents:function(A){if(!this.$events){return this;}if(!A){for(var B in this.$events){this.removeEvents(B);}this.$events=null;}else{if(this.$events[A]){this.$events[A].keys.each(function(C){this.removeEvent(A,C); +},this);this.$events[A]=null;}}return this;},fireEvent:function(C,B,A){if(this.$events&&this.$events[C]){this.$events[C].keys.each(function(D){D.create({bind:this,delay:A,arguments:B})(); +},this);}return this;},cloneEvents:function(C,A){if(!C.$events){return this;}if(!A){for(var B in C.$events){this.cloneEvents(C,B);}}else{if(C.$events[A]){C.$events[A].keys.each(function(D){this.addEvent(A,D); +},this);}}return this;}};window.extend(Element.Methods.Events);document.extend(Element.Methods.Events);Element.extend(Element.Methods.Events);Element.Events=new Abstract({mouseenter:{type:"mouseover",map:function(A){A=new Event(A); +if(A.relatedTarget!=this&&!this.hasChild(A.relatedTarget)){this.fireEvent("mouseenter",A);}}},mouseleave:{type:"mouseout",map:function(A){A=new Event(A); +if(A.relatedTarget!=this&&!this.hasChild(A.relatedTarget)){this.fireEvent("mouseleave",A);}}},mousewheel:{type:(window.gecko)?"DOMMouseScroll":"mousewheel"}}); +Element.NativeEvents=["click","dblclick","mouseup","mousedown","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","keydown","keypress","keyup","load","unload","beforeunload","resize","move","focus","blur","change","submit","reset","select","error","abort","contextmenu","scroll"]; +Function.extend({bindWithEvent:function(B,A){return this.create({bind:B,arguments:A,event:Event});}});Elements.extend({filterByTag:function(A){return new Elements(this.filter(function(B){return(Element.getTag(B)==A); +}));},filterByClass:function(A,C){var B=this.filter(function(D){return(D.className&&D.className.contains(A," "));});return(C)?B:new Elements(B);},filterById:function(C,B){var A=this.filter(function(D){return(D.id==C); +});return(B)?A:new Elements(A);},filterByAttribute:function(B,A,D,E){var C=this.filter(function(F){var G=Element.getProperty(F,B);if(!G){return false;}if(!A){return true; +}switch(A){case"=":return(G==D);case"*=":return(G.contains(D));case"^=":return(G.substr(0,D.length)==D);case"$=":return(G.substr(G.length-D.length)==D); +case"!=":return(G!=D);case"~=":return G.contains(D," ");}return false;});return(E)?C:new Elements(C);}});function $E(A,B){return($(B)||document).getElement(A); +}function $ES(A,B){return($(B)||document).getElementsBySelector(A);}$$.shared={regexp:/^(\w*|\*)(?:#([\w-]+)|\.([\w-]+))?(?:\[(\w+)(?:([!*^$]?=)["']?([^"'\]]*)["']?)?])?$/,xpath:{getParam:function(B,D,E,C){var A=[D.namespaceURI?"xhtml:":"",E[1]]; +if(E[2]){A.push('[@id="',E[2],'"]');}if(E[3]){A.push('[contains(concat(" ", @class, " "), " ',E[3],' ")]');}if(E[4]){if(E[5]&&E[6]){switch(E[5]){case"*=":A.push("[contains(@",E[4],', "',E[6],'")]'); +break;case"^=":A.push("[starts-with(@",E[4],', "',E[6],'")]');break;case"$=":A.push("[substring(@",E[4],", string-length(@",E[4],") - ",E[6].length,' + 1) = "',E[6],'"]'); +break;case"=":A.push("[@",E[4],'="',E[6],'"]');break;case"!=":A.push("[@",E[4],'!="',E[6],'"]');}}else{A.push("[@",E[4],"]");}}B.push(A.join(""));return B; +},getItems:function(B,E,G){var F=[];var A=document.evaluate(".//"+B.join("//"),E,$$.shared.resolver,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for(var D=0,C=A.snapshotLength; +D<\/script>'); +$("ie_ready").onreadystatechange=function(){if(this.readyState=="complete"){A();}};}}else{window.addListener("load",A);document.addListener("DOMContentLoaded",A); +}}}};window.onDomReady=function(A){return this.addEvent("domready",A);};var Fx={};Fx.Base=new Class({options:{onStart:Class.empty,onComplete:Class.empty,onCancel:Class.empty,transition:function(A){return -(Math.cos(Math.PI*A)-1)/2; +},duration:500,unit:"px",wait:true,fps:50},initialize:function(A){this.element=this.element||null;this.setOptions(A);if(this.options.initialize){this.options.initialize.call(this); +}},step:function(){var A=$time();if(Athis.options.snap){document.removeListener("mousemove",this.bound.check);document.addListener("mousemove",this.bound.drag);this.drag(A);this.fireEvent("onSnap",this.element); +}A.stop();},drag:function(A){this.out=false;this.mouse.now=A.page;for(var B in this.options.modifiers){if(!this.options.modifiers[B]){continue;}this.value.now[B]=this.mouse.now[B]-this.mouse.pos[B]; +if(this.limit[B]){if($chk(this.limit[B][1])&&(this.value.now[B]>this.limit[B][1])){this.value.now[B]=this.limit[B][1];this.out=true;}else{if($chk(this.limit[B][0])&&(this.value.now[B]=200)&&(A<300));},onSuccess:function(){this.response={text:this.transport.responseText,xml:this.transport.responseXML}; +this.fireEvent("onSuccess",[this.response.text,this.response.xml]);this.callChain();},onFailure:function(){this.fireEvent("onFailure",this.transport);},setHeader:function(A,B){this.headers[A]=B; +return this;},send:function(A,C){if(this.options.autoCancel){this.cancel();}else{if(this.running){return this;}}this.running=true;if(C&&this.options.method=="get"){A=A+(A.contains("?")?"&":"?")+C; +C=null;}this.transport.open(this.options.method.toUpperCase(),A,this.options.async);this.transport.onreadystatechange=this.onStateChange.bind(this);if((this.options.method=="post")&&this.transport.overrideMimeType){this.setHeader("Connection","close"); +}$extend(this.headers,this.options.headers);for(var B in this.headers){try{this.transport.setRequestHeader(B,this.headers[B]);}catch(D){}}this.fireEvent("onRequest"); +this.transport.send($pick(C,null));return this;},cancel:function(){if(!this.running){return this;}this.running=false;this.transport.abort();this.transport.onreadystatechange=Class.empty; +this.setTransport();this.fireEvent("onCancel");return this;}});XHR.implement(new Chain,new Events,new Options);var Ajax=XHR.extend({options:{data:null,update:null,onComplete:Class.empty,evalScripts:false,evalResponse:false},initialize:function(B,A){this.addEvent("onSuccess",this.onComplete); +this.setOptions(A);this.options.data=this.options.data||this.options.postBody;if(!["post","get"].contains(this.options.method)){this._method="_method="+this.options.method; +this.options.method="post";}this.parent();this.setHeader("X-Requested-With","XMLHttpRequest");this.setHeader("Accept","text/javascript, text/html, application/xml, text/xml, */*"); +this.url=B;},onComplete:function(){if(this.options.update){$(this.options.update).empty().setHTML(this.response.text);}if(this.options.evalScripts||this.options.evalResponse){this.evalScripts(); +}this.fireEvent("onComplete",[this.response.text,this.response.xml],20);},request:function(A){A=A||this.options.data;switch($type(A)){case"element":A=$(A).toQueryString(); +break;case"object":A=Object.toQueryString(A);}if(this._method){A=(A)?[this._method,A].join("&"):this._method;}return this.send(this.url,A);},evalScripts:function(){var B,A; +if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){A=this.response.text;}else{A=[];var C=/]*>([\s\S]*?)<\/script>/gi; +while((B=C.exec(this.response.text))){A.push(B[1]);}A=A.join("\n");}if(A){(window.execScript)?window.execScript(A):window.setTimeout(A,0);}},getHeader:function(A){try{return this.transport.getResponseHeader(A); +}catch(B){}return null;}});Object.toQueryString=function(B){var C=[];for(var A in B){C.push(encodeURIComponent(A)+"="+encodeURIComponent(B[A]));}return C.join("&"); +};Element.extend({send:function(A){return new Ajax(this.getProperty("action"),$merge({data:this.toQueryString()},A,{method:"post"})).request();}});var Sortables=new Class({options:{handles:false,onStart:Class.empty,onComplete:Class.empty,ghost:true,snap:3,onDragStart:function(A,B){B.setStyle("opacity",0.7); +A.setStyle("opacity",0.7);},onDragComplete:function(A,B){A.setStyle("opacity",1);B.remove();this.trash.remove();}},initialize:function(D,B){this.setOptions(B); +this.list=$(D);this.elements=this.list.getChildren();this.handles=(this.options.handles)?$$(this.options.handles):this.elements;this.bound={start:[],moveGhost:this.moveGhost.bindWithEvent(this)}; +for(var C=0,A=this.handles.length;C0);var D=this.active.getPrevious();var C=this.active.getNext(); +if(D&&A&&BC.getCoordinates().top){this.active.injectAfter(C);}this.previous=B;},serialize:function(A){return this.list.getChildren().map(A||function(B){return this.elements.indexOf(B); +},this);},end:function(){this.previous=null;document.removeListener("mousemove",this.bound.move);document.removeListener("mouseup",this.bound.end);if(this.options.ghost){document.removeListener("mousemove",this.bound.moveGhost); +this.fireEvent("onDragComplete",[this.active,this.ghost]);}this.fireEvent("onComplete",this.active);}});Sortables.implement(new Events,new Options);var Accordion=Fx.Elements.extend({options:{onActive:Class.empty,onBackground:Class.empty,display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false},initialize:function(){var C,E,F,B; +$each(arguments,function(I,H){switch($type(I)){case"object":C=I;break;case"element":B=$(I);break;default:var G=$$(I);if(!E){E=G;}else{F=G;}}});this.togglers=E||[]; +this.elements=F||[];this.container=$(B);this.setOptions(C);this.previous=-1;if(this.options.alwaysHide){this.options.wait=true;}if($chk(this.options.show)){this.options.display=false; +this.previous=this.options.show;}if(this.options.start){this.options.display=false;this.options.show=false;}this.effects={};if(this.options.opacity){this.effects.opacity="fullOpacity"; +}if(this.options.width){this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth";}if(this.options.height){this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight"; +}for(var D=0,A=this.togglers.length;D0));this.fireEvent(C?"onBackground":"onActive",[this.togglers[D],E]); +for(var F in this.effects){B[D][F]=C?0:E[this.effects[F]];}},this);return this.start(B);},showThisHideOpen:function(A){return this.display(A);}});Fx.Accordion=Accordion; diff --git a/pagemash.php b/pagemash.php new file mode 100644 index 0000000..8d21a05 --- /dev/null +++ b/pagemash.php @@ -0,0 +1,286 @@ + MANAGE > pageMash). +Author: Joel Starnes +Version: 0.1.0 +Author URI: http://joelstarnes.co.uk/ + +CHANGELOG: +Release: Date: Description: +0.1.0 10 Feb 2008 Initial release + +*/ +#########CONFIG OPTIONS############################################ +$minlevel = 7; /*[deafult=7]*/ +/* Minimum user level to access page order */ + +$instantUpdateFeature = false; /*[deafult=false]*/ +/* Updates the database instantly after a move using ajax + otherwise it will wait for update button press. + nb. enabling this feature will put strain on the mysql server */ + +$excludePagesFeature = true; /*[deafult=true]*/ +/* Allows you to set pages not to be listed + Will only work if you have modified the template. */ +################################################################### +/* +CREDITS: +Valerio Proietti - Mootools JS Framework [http://mootools.net/] +Stefan Lange-Hegermann - Mootools AJAX timeout class extension [http://www.blackmac.de/archives/44-Mootools-AJAX-timeout.html] +vladimir - Mootools Sortables class extension [http://vladimir.akilles.cl/scripts/sortables/] +ShiftThis - WP Page Order Plugin [http://www.shiftthis.net/wordpress-order-pages-plugin/] +*/ + +/* Copyright 2008 Joel Starnes (email : joel@joelstarnes.co.uk) + + 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 +*/ + +function pageMash_main(){ + global $wpdb, $wp_version, $instantUpdateFeature, $excludePagesFeature; + + //get pages from database + if($wp_version >= 2.1){ + $pageposts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'page' AND post_parent = '0' ORDER BY menu_order"); + }else{ + $pageposts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status = 'static' AND post_parent = '0' ORDER BY menu_order"); + } + + //get pages-to-hide from database + $excludePagesObj = $wpdb->get_results("SELECT option_value FROM $wpdb->options WHERE option_name = 'exclude_pages'"); + $excludePagesList = '>, '.$excludePagesObj[0]->option_value; + //precede with '>, ' otherwise the first pageid will return 0 when strpos() is called to find it. + //the initial coma allows us to search for ', $pageid,' so as to avoid partial matches + ?> + +
+
+ +
+

pageMash - pageManagement

+

You can use this to organise and manage your pages.

+ +
    + + +
  • ID.',')){echo 'class="remove"';}//if page is in exclude list, add class remove ?>> + post_title;?> + [edit] +
  • + + +
+

+ + + + +

+
+
+ + +
+

How to

+

Just drag the pages into the order you like, hit 'update' and enjoy the scrummy ajaxified goodness.

+

+ + Click the little red icon to left of each page to hide that page or press the 'edit' button to edit that page. Sorted.
+ + Note: This plugin only orders top level pages +

+

To use this plugin you need to use the wp_list_pages() function with the parameters as shown below:

+ +<?php if(function_exists('pageMash_exclude_pages')){$exclude_pages=pageMash_exclude_pages();} else{$exclude_pages='';}?>
+<?php wp_list_pages('depth=1&title_li=&exclude='.$exclude_pages);?> +
+

For more information on the wp_list_pages() function checkout the Wordpress Codex and if you have any further questions, just drop me an email.

+
+ + + + + get_results("SELECT option_value FROM $wpdb->options WHERE option_name = 'exclude_pages'"); + return $excludePagesObj[0]->option_value; +} + +add_action('admin_menu', 'pageMash_add_pages'); //add admin menu under management tab +add_action('admin_head', 'pageMash_head'); //add css styles and JS code to head +?> \ No newline at end of file diff --git a/reorder.php b/reorder.php new file mode 100644 index 0000000..6b87b37 --- /dev/null +++ b/reorder.php @@ -0,0 +1,17 @@ +posts SET menu_order='$position' WHERE ID='$pageid'"; //setup db query + $wpdb->query($postquery); //update pages in db + $position += 1; //increment position var +endforeach; + +$exclude = $_GET['exclude']; +$postquery = "UPDATE $wpdb->options SET option_value='$exclude' WHERE option_name='exclude_pages'"; //setup db query +$wpdb->query($postquery); //update pages in db + +echo "pagemashed"; +?> diff --git a/screenshot_1.png b/screenshot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1fee7db5c04e9874c97b92149c159b30680cb57 GIT binary patch literal 24226 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 literal 0 HcmV?d00001