From 3019abefea3a8ce63f035051bd45923a396b2d5e Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 1 Oct 2009 09:24:22 -0700 Subject: [PATCH] Initial commit of a 3D tag cloud implementing the WP_Cumulus plugin by Roy Tanck www.roytanck.com --- modules/tag_cloud/helpers/tag_cloud_block.php | 46 ++ modules/tag_cloud/lib/license.txt | 674 ++++++++++++++++++ modules/tag_cloud/lib/swfobject.js | 133 ++++ modules/tag_cloud/lib/tagcloud.swf | Bin 0 -> 34556 bytes modules/tag_cloud/module.info | 4 + .../tag_cloud/views/tag_cloud_block.html.php | 61 ++ 6 files changed, 918 insertions(+) create mode 100644 modules/tag_cloud/helpers/tag_cloud_block.php create mode 100644 modules/tag_cloud/lib/license.txt create mode 100644 modules/tag_cloud/lib/swfobject.js create mode 100644 modules/tag_cloud/lib/tagcloud.swf create mode 100644 modules/tag_cloud/module.info create mode 100644 modules/tag_cloud/views/tag_cloud_block.html.php diff --git a/modules/tag_cloud/helpers/tag_cloud_block.php b/modules/tag_cloud/helpers/tag_cloud_block.php new file mode 100644 index 00000000..12e7ac94 --- /dev/null +++ b/modules/tag_cloud/helpers/tag_cloud_block.php @@ -0,0 +1,46 @@ + t("Tag Cloud")); + } + + static function get($block_id, $theme) { + $block = ""; + switch ($block_id) { + case "tag_cloud_site": + $block = new Block(); + $block->css_id = "gTag3D"; + $block->title = t("Tag Cloud"); + $block->content = new View("tag_cloud_block.html"); + $block->content->cloud = tag::cloud(30); + + if ($theme->item() && $theme->page_type() != "tag" && access::can("edit", $theme->item())) { + $controller = new Tags_Controller(); + $block->content->form = tag::get_add_form($theme->item()); + } else { + $block->content->form = ""; + } + break; + } + return $block; + } +} diff --git a/modules/tag_cloud/lib/license.txt b/modules/tag_cloud/lib/license.txt new file mode 100644 index 00000000..94a9ed02 --- /dev/null +++ b/modules/tag_cloud/lib/license.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/modules/tag_cloud/lib/swfobject.js b/modules/tag_cloud/lib/swfobject.js new file mode 100644 index 00000000..3cfb04a7 --- /dev/null +++ b/modules/tag_cloud/lib/swfobject.js @@ -0,0 +1,133 @@ +/** + * SWFObject v1.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ + * + * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + * **SWFObject is the SWF embed script formarly known as FlashObject. The name was changed for + * legal reasons. + */ +if(typeof deconcept=="undefined"){var deconcept=new Object();} +if(typeof deconcept.util=="undefined"){deconcept.util=new Object();} +if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();} +deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){ +if(!document.createElement||!document.getElementById){return;} +this.DETECT_KEY=_b?_b:"detectflash"; +this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY); +this.params=new Object(); +this.variables=new Object(); +this.attributes=new Array(); +if(_1){this.setAttribute("swf",_1);} +if(id){this.setAttribute("id",id);} +if(w){this.setAttribute("width",w);} +if(h){this.setAttribute("height",h);} +if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));} +this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute("version"),_7); +if(c){this.addParam("bgcolor",c);} +var q=_8?_8:"high"; +this.addParam("quality",q); +this.setAttribute("useExpressInstall",_7); +this.setAttribute("doExpressInstall",false); +var _d=(_9)?_9:window.location; +this.setAttribute("xiRedirectUrl",_d); +this.setAttribute("redirectUrl",""); +if(_a){this.setAttribute("redirectUrl",_a);}}; +deconcept.SWFObject.prototype={setAttribute:function(_e,_f){ +this.attributes[_e]=_f; +},getAttribute:function(_10){ +return this.attributes[_10]; +},addParam:function(_11,_12){ +this.params[_11]=_12; +},getParams:function(){ +return this.params; +},addVariable:function(_13,_14){ +this.variables[_13]=_14; +},getVariable:function(_15){ +return this.variables[_15]; +},getVariables:function(){ +return this.variables; +},getVariablePairs:function(){ +var _16=new Array(); +var key; +var _18=this.getVariables(); +for(key in _18){ +_16.push(key+"="+_18[key]);} +return _16; +},getSWFHTML:function(){ +var _19=""; +if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){ +if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");} +_19="0){_19+="flashvars=\""+_1c+"\"";} +_19+="/>"; +}else{ +if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");} +_19=""; +_19+=""; +var _1d=this.getParams(); +for(var key in _1d){_19+="";} +var _1f=this.getVariablePairs().join("&"); +if(_1f.length>0){_19+="";} +_19+="";} +return _19; +},write:function(_20){ +if(this.getAttribute("useExpressInstall")){ +var _21=new deconcept.PlayerVersion([6,0,65]); +if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){ +this.setAttribute("doExpressInstall",true); +this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl"))); +document.title=document.title.slice(0,47)+" - Flash Player Installation"; +this.addVariable("MMdoctitle",document.title);}} +if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){ +var n=(typeof _20=="string")?document.getElementById(_20):_20; +n.innerHTML=this.getSWFHTML(); +return true; +}else{ +if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}} +return false;}}; +deconcept.SWFObjectUtil.getPlayerVersion=function(_23,_24){ +var _25=new deconcept.PlayerVersion([0,0,0]); +if(navigator.plugins&&navigator.mimeTypes.length){ +var x=navigator.plugins["Shockwave Flash"]; +if(x&&x.description){_25=new deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));} +}else{try{ +var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); +for(var i=3;axo!=null;i++){ +axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i); +_25=new deconcept.PlayerVersion([i,0,0]);}} +catch(e){} +if(_23&&_25.major>_23.major){return _25;} +if(!_23||((_23.minor!=0||_23.rev!=0)&&_25.major==_23.major)||_25.major!=6||_24){ +try{_25=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));} +catch(e){}}} +return _25;}; +deconcept.PlayerVersion=function(_29){ +this.major=parseInt(_29[0])!=null?parseInt(_29[0]):0; +this.minor=parseInt(_29[1])||0; +this.rev=parseInt(_29[2])||0;}; +deconcept.PlayerVersion.prototype.versionIsValid=function(fv){ +if(this.majorfv.major){return true;} +if(this.minorfv.minor){return true;} +if(this.rev-1)?q.indexOf("&",_2d):q.length; +if(q.length>1&&_2d>-1){ +return q.substring(q.indexOf("=",_2d)+1,_2e); +}}return "";}}; +if(Array.prototype.push==null){ +Array.prototype.push=function(_2f){ +this[this.length]=_2f; +return this.length;};} +var getQueryParamValue=deconcept.util.getRequestParameter; +var FlashObject=deconcept.SWFObject; // for backwards compatibility +var SWFObject=deconcept.SWFObject; + diff --git a/modules/tag_cloud/lib/tagcloud.swf b/modules/tag_cloud/lib/tagcloud.swf new file mode 100644 index 0000000000000000000000000000000000000000..99a8984ab355964c145d8fd4920746bf6ee176d9 GIT binary patch literal 34556 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 R5dq;d7tY3o{Xbc%rcy^c(V_qV literal 0 HcmV?d00001 diff --git a/modules/tag_cloud/module.info b/modules/tag_cloud/module.info new file mode 100644 index 00000000..727b9eef --- /dev/null +++ b/modules/tag_cloud/module.info @@ -0,0 +1,4 @@ +name = Tag Cloud +description = "3D tag cloud" + +version = 1 diff --git a/modules/tag_cloud/views/tag_cloud_block.html.php b/modules/tag_cloud/views/tag_cloud_block.html.php new file mode 100644 index 00000000..b2b75c79 --- /dev/null +++ b/modules/tag_cloud/views/tag_cloud_block.html.php @@ -0,0 +1,61 @@ + + +
"> + +
+ +