pax_global_header00006660000000000000000000000064117535403250014517gustar00rootroot0000000000000052 comment=ba1c00cd24324b05476c54fab3e46040b29afd7d samizdat-0.7.0/000077500000000000000000000000001175354032500133375ustar00rootroot00000000000000samizdat-0.7.0/AUTHORS000066400000000000000000000006661175354032500144170ustar00rootroot00000000000000Samizdat Authors ================ Dmitry Borodaenko Contributors ------------ Denis Valoha Hleb Valoska Vladimir Shakhov Kirill Shutemov Boud/Indymedia Toruń Translators ----------- Vital Khilko (be) Antono Vasiljev (eo) Leftist/Indymedia Ukraine (uk) Boud/Indymedia Toruń (pl, fr, es) Czarna Kotka (es) Matthias Kaschub (de) Mailing Lists ------------- samizdat-devel: http://lists.nongnu.org/mailman/listinfo/samizdat-devel samizdat-0.7.0/COPYING000066400000000000000000001043741175354032500144030ustar00rootroot00000000000000 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 . samizdat-0.7.0/ChangeLog000066400000000000000000000636771175354032500151340ustar00rootroot00000000000000commit 2db22df1b19d27858ba236db4e072cc8c55b2b64 (HEAD, tag: v0.7.0, origin/master, master) Author: Dmitry Borodaenko Date: Sat May 12 20:56:16 2012 +0300 updated README, TODO, and NEWS NEWS | 29 +++++++++++++++++++++++++++++ README | 26 ++++++++++---------------- TODO | 20 ++++++++++---------- 3 files changed, 49 insertions(+), 26 deletions(-) commit b964e63ea30fc5c7b2da3be95a582498ff0d4659 Author: Dmitry Borodaenko Date: Sat May 12 21:10:15 2012 +0300 include Varnish in the setup recommended in the examples doc/examples/nginx/conf.d/samizdat.conf | 5 +---- doc/examples/samizdat-thin.yaml | 1 - doc/examples/samizdat.vcl | 33 +++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 5 deletions(-) commit 5c4435f000a04a894cef8050a497cf013ae313e2 Author: Dmitry Borodaenko Date: Sun Feb 12 19:10:54 2012 +0300 sleep a bit after every post in the integration test test/tc_robot.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 5f602e55b04ff602a16b359972001a1eb80f39a8 Author: Dmitry Borodaenko Date: Sun Jan 22 18:07:49 2012 +0300 use Erubis when available, with disk cache if possible lib/samizdat/engine/view.rb | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) commit 27557129c11396b8bc8718df6d3994552025c803 Author: Dmitry Borodaenko Date: Sun Jan 22 16:57:59 2012 +0300 really detect non-existent resource id lib/samizdat/components/resource.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 7fb2d00bf1a86a3c4980d239f91009033f96671c Author: Dmitry Borodaenko Date: Sun Jan 22 15:22:21 2012 +0300 update DB migration script doc/migration/upgrade_from_v0.6.2.sql | 65 +++++++++------------------------ 1 file changed, 17 insertions(+), 48 deletions(-) commit d07f92b9a0b590abe509b9db6776b129f8c2f559 Author: Dmitry Borodaenko Date: Thu Dec 29 02:46:50 2011 +0300 coerce request params into UTF-8 lib/samizdat/engine/request.rb | 5 +++++ 1 file changed, 5 insertions(+) commit 36bd919013241928cc10bcccd2a8e8f4d0fedd9c Author: Dmitry Borodaenko Date: Thu Dec 29 01:41:58 2011 +0300 member RSS feed fix lib/samizdat/components/resource.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 05833f4a5a43de898484239d27fcc1e85cea4dd1 (bejbus/master) Author: Dmitry Borodaenko Date: Mon Dec 26 17:52:52 2011 +0300 sort updates by message id, use first date in RSS When a message is edited, it floated up in the Recent Updates column on the front page, and its published date was updated. While somewhat useful for humans, this feature caused many RSS readers to display duplicate entries for new versions of the same message. Now, edited messages will no longer float up. The published date will be updated on the front page, but the RSS feed will instead use the first date when the message was published. lib/samizdat/components/list.rb | 2 +- lib/samizdat/components/resource.rb | 2 +- lib/samizdat/models/message.rb | 12 +++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) commit 2f1144fef8f8cf1fd099916428d283d7f66bc02e Author: Dmitry Borodaenko Date: Mon Dec 26 16:25:21 2011 +0300 include request base in RSS feed cache key lib/samizdat/helpers/application_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1b0cc4f487a55cbe631a85e0f31129955ff40009 (tag: debian/0.6.2.20111225) Author: anonymous Date: Sat Dec 10 22:04:41 2011 +0300 fix location for member if plugins/blog is not used File.join(location, 'rss') will fail if location is numeric, i.e. when plugins/blog is not used lib/samizdat/components/resource.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 39813ce20f256711b5ae86bdf38ad61675955be2 Author: anonymous Date: Mon Nov 21 07:22:49 2011 +0300 UploadTempfile delegation bugfixes * make sure UploadTempfile#respond_to?(:path) returns true * send() is the right method to call from method_missing() lib/samizdat/engine/request.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 641a28fdfbd81d6abfbdc24e3d7bf985390be1ce Author: anonymous Date: Sun Nov 20 21:46:21 2011 +0300 Use Nokogiri::HTML.fragment instead of Nokogiri::HTML in ImagePlugin lib/samizdat/plugins/image.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0054d8c33b72c979821e4b872a6db431dfcb7e3d Author: Dmitry Borodaenko Date: Sun Nov 13 19:10:00 2011 +0300 installation manual and examples updated * drop samizdatd Mongrel server * drop obsolete CGI scripts (dispatch.rb) and corresponding Apache and Lighttpd configuration examples * Nginx example modified to use Thin backend by default * Thin example modified to run as "samizdat" user for better privilege separation from the frontend web server * mention of Apache and Flowplayer removed from standard page footer, Samizdat is fully functional without either * installation manual is brought up to date with the latest changes, sections on running Samizdat from home or on Windows are removed bin/samizdatd | 208 -------------------------- cgi-bin/dispatch.rb | 29 ---- data/samizdat/templates/page_layout.rhtml | 4 +- doc/examples/apache.conf | 151 ------------------- doc/examples/lighttpd.conf | 65 -------- doc/examples/nginx/conf.d/samizdat.conf | 7 +- doc/examples/samizdat-thin.yaml | 6 +- doc/install.txt | 230 +++++++++-------------------- doc/man/samizdatd.1 | 36 ----- 9 files changed, 83 insertions(+), 653 deletions(-) commit 1ddb9a412db55f862701244a08300903a045d681 Author: Dmitry Borodaenko Date: Sat Nov 12 18:06:19 2011 +0300 use Rack::Request#ssl? and friends lib/samizdat/controllers/member_controller.rb | 2 +- lib/samizdat/engine/controller.rb | 2 +- lib/samizdat/engine/request.rb | 37 ++++++++++++++----------- 3 files changed, 23 insertions(+), 18 deletions(-) commit c8290cb8814b81d3b93f0826180c5f6473b5f4f6 Author: Dmitry Borodaenko Date: Sat Sep 17 14:54:51 2011 +0300 migrate from cgi.rb to Rack * Controller#render is now called from Request#response (not vice versa), and is skipped altogether for redirects which have no body to render. * Request no longer delegates to CGI. * Controller#headers is gone, it's all in Request#headers now. * Response status is now Request#status and is a number, not a string. * Charset is now explicitly added to Content-Type by Request#response. * Request#compress uses real StringIO, we no longer support ruby 1.6. * Rack::Utils#escape and #escape_html are used throughout the engine, they are better and faster than their CGI counterparts, * config['db']['user'] is no longer overridden by ENV['USER']: it was a bad assumption to make about a web server, as proven by thin which doesn't clean its environment. cgi-bin/samizdat.ru | 2 + doc/examples/samizdat-thin.yaml | 8 ++ lib/samizdat/components/resource.rb | 6 +- lib/samizdat/controllers/frontpage_controller.rb | 2 +- lib/samizdat/controllers/member_controller.rb | 4 +- lib/samizdat/controllers/query_controller.rb | 8 +- lib/samizdat/engine.rb | 7 +- lib/samizdat/engine/controller.rb | 20 ++- lib/samizdat/engine/dispatcher.rb | 46 +++---- lib/samizdat/engine/request.rb | 144 +++++++++++----------- lib/samizdat/engine/site.rb | 6 +- lib/samizdat/engine/view.rb | 2 +- lib/samizdat/helpers/application_helper.rb | 6 +- lib/samizdat/helpers/message_helper.rb | 2 +- lib/samizdat/helpers/resource_helper.rb | 2 +- lib/samizdat/models/content.rb | 6 +- lib/samizdat/models/message.rb | 2 +- lib/samizdat/plugins/image.rb | 2 +- lib/samizdat/plugins/inline_default.rb | 2 +- lib/samizdat/plugins/plain_text.rb | 2 +- lib/samizdat/plugins/textile.rb | 2 +- test/tc_robot.rb | 8 +- 22 files changed, 148 insertions(+), 141 deletions(-) commit ad5983a2d0b1a1cf14348898a8957b88ad347830 Author: Dmitry Borodaenko Date: Fri Nov 4 00:12:40 2011 +0300 integration test update * make it work with the new Nokogiri-based Whitewash * drop the 5 second sleep, even with it we still need to disable flush delay in SynCache * smoke test tags and moderation pages doc/install.txt | 3 ++- test/tc_robot.rb | 49 ++++++++++++++++++++++++++++++------------------- 2 files changed, 32 insertions(+), 20 deletions(-) commit 73f87c7416c4193630f9bcd781558b9126c3b3fa Author: Dmitry Borodaenko Date: Wed Nov 9 19:02:54 2011 +0300 set #key and #limit in a block passed to DataSet.new DataSet#key is used by ResourcesList and the like to identify the column that has the resource id. lib/samizdat/components/list.rb | 20 ++++++++++++++------ lib/samizdat/components/resource.rb | 17 ++++++++--------- lib/samizdat/controllers/frontpage_controller.rb | 4 ++-- lib/samizdat/controllers/moderation_controller.rb | 3 ++- lib/samizdat/controllers/query_controller.rb | 15 ++++++++++----- lib/samizdat/controllers/resource_controller.rb | 2 +- lib/samizdat/engine/dataset.rb | 17 ++++++++++++----- lib/samizdat/helpers/application_helper.rb | 5 +++-- lib/samizdat/models/member.rb | 6 +++--- lib/samizdat/models/message.rb | 4 ++-- lib/samizdat/models/tag.rb | 7 ++++--- 11 files changed, 61 insertions(+), 39 deletions(-) commit 1f931bd84e66019bc0c4b478acbeecd8e3d735b0 Author: Dmitry Borodaenko Date: Sat Oct 1 01:26:57 2011 +0300 migrate from DBI to Sequel bin/samizdat-role | 35 ++-- data/samizdat/config.yaml | 20 ++- data/samizdat/database/create-mysql.sql | 68 ++++---- data/samizdat/database/create-pgsql.sql | 98 +++++------ data/samizdat/database/create-sqlite3.sql | 80 ++++----- data/samizdat/database/grant-mysql.sql | 14 +- data/samizdat/database/grant-pgsql.sql | 12 +- data/samizdat/database/triggers-mysql.sql | 56 +++---- data/samizdat/database/triggers-pgsql.sql | 112 ++++++------- data/samizdat/database/triggers-sqlite3.sql | 56 +++---- data/samizdat/defaults.yaml | 4 +- data/samizdat/rdf.yaml | 52 +++--- doc/migration/upgrade_from_v0.6.2.sql | 183 +++++++++++---------- lib/samizdat/components/list.rb | 8 +- lib/samizdat/components/resource.rb | 89 +++++----- lib/samizdat/controllers/history_controller.rb | 4 +- lib/samizdat/controllers/member_controller.rb | 72 ++++---- lib/samizdat/controllers/message_controller.rb | 2 +- lib/samizdat/controllers/moderation_controller.rb | 12 +- lib/samizdat/controllers/query_controller.rb | 8 +- lib/samizdat/controllers/resource_controller.rb | 4 +- lib/samizdat/controllers/tags_controller.rb | 26 ++- lib/samizdat/engine.rb | 23 +-- lib/samizdat/engine/controller.rb | 7 +- lib/samizdat/engine/dataset.rb | 18 +- lib/samizdat/engine/dispatcher.rb | 14 +- lib/samizdat/engine/session.rb | 45 +++-- lib/samizdat/engine/site.rb | 27 ++- lib/samizdat/engine/time.rb | 37 +++++ lib/samizdat/helpers/application_helper.rb | 23 ++- lib/samizdat/helpers/message_helper.rb | 4 +- lib/samizdat/models/content.rb | 98 ++++------- lib/samizdat/models/member.rb | 5 +- lib/samizdat/models/message.rb | 150 ++++++++--------- lib/samizdat/models/moderation.rb | 33 ++-- lib/samizdat/models/tag.rb | 27 +-- lib/samizdat/plugins/blog.rb | 2 +- lib/samizdat/plugins/role.rb | 6 +- test/mock.rb | 4 + test/tc_robot.rb | 117 ++++++++----- 40 files changed, 842 insertions(+), 813 deletions(-) commit 0398361f58f5a673e58f82827a005d27bac0698a Author: Dmitry Borodaenko Date: Sun Nov 6 23:31:13 2011 +0300 use Nokogiri to rewrite links in content_file and image plugins lib/samizdat/plugins/content_file.rb | 2 +- lib/samizdat/plugins/image.rb | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) commit 96439ca1f527ffe546d534d39589d8cf2ae1bfe1 Author: Dmitry Borodaenko Date: Thu Nov 3 19:43:01 2011 +0300 copyright bumped to 2011 bin/samizdat-create-database | 2 +- bin/samizdat-import-feeds | 2 +- bin/samizdat-role | 2 +- bin/samizdatd | 2 +- cgi-bin/dispatch.rb | 2 +- data/samizdat/database/create-mysql.sql | 2 +- data/samizdat/database/create-pgsql.sql | 2 +- data/samizdat/database/create-sqlite3.sql | 2 +- data/samizdat/database/grant-mysql.sql | 2 +- data/samizdat/database/grant-pgsql.sql | 2 +- data/samizdat/database/triggers-mysql.sql | 2 +- data/samizdat/database/triggers-pgsql.sql | 2 +- data/samizdat/database/triggers-sqlite3.sql | 2 +- doc/migration/upgrade_from_v0.6.2.sql | 2 +- lib/samizdat.rb | 2 +- lib/samizdat/components/list.rb | 2 +- lib/samizdat/components/resource.rb | 2 +- lib/samizdat/controllers/diff_controller.rb | 2 +- lib/samizdat/controllers/frontpage_controller.rb | 2 +- lib/samizdat/controllers/history_controller.rb | 2 +- lib/samizdat/controllers/member_controller.rb | 2 +- lib/samizdat/controllers/message_controller.rb | 2 +- lib/samizdat/controllers/moderation_controller.rb | 2 +- lib/samizdat/controllers/query_controller.rb | 2 +- lib/samizdat/controllers/resource_controller.rb | 2 +- lib/samizdat/controllers/tags_controller.rb | 2 +- lib/samizdat/engine.rb | 2 +- lib/samizdat/engine/controller.rb | 2 +- lib/samizdat/engine/dataset.rb | 2 +- lib/samizdat/engine/dispatcher.rb | 2 +- lib/samizdat/engine/exceptions.rb | 2 +- lib/samizdat/engine/gettext.rb | 2 +- lib/samizdat/engine/globals.rb | 2 +- lib/samizdat/engine/helpers.rb | 2 +- lib/samizdat/engine/model.rb | 2 +- lib/samizdat/engine/password.rb | 2 +- lib/samizdat/engine/plugins.rb | 2 +- lib/samizdat/engine/request.rb | 2 +- lib/samizdat/engine/session.rb | 2 +- lib/samizdat/engine/site.rb | 2 +- lib/samizdat/engine/view.rb | 2 +- lib/samizdat/helpers/application_helper.rb | 2 +- lib/samizdat/helpers/diff_helper.rb | 2 +- lib/samizdat/helpers/message_helper.rb | 2 +- lib/samizdat/helpers/resource_helper.rb | 2 +- lib/samizdat/helpers/syndication_helper.rb | 2 +- lib/samizdat/models/content.rb | 2 +- lib/samizdat/models/member.rb | 2 +- lib/samizdat/models/message.rb | 2 +- lib/samizdat/models/moderation.rb | 2 +- lib/samizdat/models/tag.rb | 2 +- lib/samizdat/plugins/access.rb | 2 +- lib/samizdat/plugins/blog.rb | 2 +- lib/samizdat/plugins/content_file.rb | 2 +- lib/samizdat/plugins/content_inline.rb | 2 +- lib/samizdat/plugins/email_blacklist.rb | 2 +- lib/samizdat/plugins/file_default.rb | 2 +- lib/samizdat/plugins/flash.rb | 2 +- lib/samizdat/plugins/flowplayer.rb | 2 +- lib/samizdat/plugins/html.rb | 2 +- lib/samizdat/plugins/image.rb | 2 +- lib/samizdat/plugins/inline_default.rb | 2 +- lib/samizdat/plugins/language_prefix.rb | 2 +- lib/samizdat/plugins/occupation.rb | 2 +- lib/samizdat/plugins/plain_text.rb | 2 +- lib/samizdat/plugins/poison_field.rb | 2 +- lib/samizdat/plugins/profile.rb | 2 +- lib/samizdat/plugins/role.rb | 2 +- lib/samizdat/plugins/route.rb | 2 +- lib/samizdat/plugins/spam.rb | 2 +- lib/samizdat/plugins/spam_merge.rb | 2 +- lib/samizdat/plugins/squish.rb | 2 +- lib/samizdat/plugins/tag.rb | 2 +- lib/samizdat/plugins/tag_default.rb | 2 +- lib/samizdat/plugins/textile.rb | 2 +- lib/samizdat/plugins/virtual_tag.rb | 2 +- test/mock.rb | 2 +- test/tc_application_helper.rb | 2 +- test/tc_message_helper.rb | 2 +- test/tc_password.rb | 2 +- test/tc_robot.rb | 2 +- test/tc_version.rb | 2 +- test/ts_samizdat.rb | 2 +- test/util.rb | 2 +- 84 files changed, 84 insertions(+), 84 deletions(-) commit a280e5f8867617d78a4ebd3ec77ace1c062340b0 Author: Dmitry Borodaenko Date: Thu Nov 3 20:07:14 2011 +0300 don't whitewash squish message content lib/samizdat/models/content.rb | 5 ++++- lib/samizdat/plugins/content_inline.rb | 4 ++++ lib/samizdat/plugins/squish.rb | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) commit 4d1560c16a57763172389d753914faed5b6b36e0 Author: Dmitry Borodaenko Date: Wed Sep 28 18:15:26 2011 +0300 more ruby 1.9 compatibility fixes * Net::HTTP#get no longer accepts nil for a header, replaced by {} * Config::CONFIG is now tainted * Thread.critical is gone, replaced by Mutex * global methods have to be explicitly defined in Kernel * use \u notation instead of \x to encode ellipsis in UTF-8 (\x causes ruby 1.9 to set string encoding to ASCII-8BIT) lib/samizdat/engine/gettext.rb | 6 ++++++ lib/samizdat/engine/globals.rb | 2 +- lib/samizdat/engine/helpers.rb | 10 ++++++---- lib/samizdat/engine/request.rb | 27 +++++++++++++++++++++------ lib/samizdat/engine/site.rb | 8 ++++++++ test/tc_robot.rb | 4 ++-- 6 files changed, 44 insertions(+), 13 deletions(-) commit b61d76d2009f337611dd8ab78b3f34f190edc6a9 Author: Dmitry Borodaenko Date: Sun Oct 2 23:34:06 2011 +0300 removed unimplemented Material Items Exchange and Calendar, obsolete tag RDF namespace data/samizdat/database/create-mysql.sql | 15 -- data/samizdat/database/create-pgsql.sql | 36 ---- data/samizdat/database/create-sqlite3.sql | 17 -- data/samizdat/database/grant-mysql.sql | 2 - data/samizdat/database/grant-pgsql.sql | 2 +- data/samizdat/database/triggers-mysql.sql | 28 ---- data/samizdat/database/triggers-pgsql.sql | 24 --- data/samizdat/database/triggers-sqlite3.sql | 30 ---- data/samizdat/rdf.yaml | 18 -- data/samizdat/rdf/items.n3 | 50 ------ data/samizdat/rdf/schema.n3 | 53 +----- data/samizdat/rdf/tag.n3 | 76 --------- lib/samizdat/components/resource.rb | 65 +------- lib/samizdat/controllers/event_controller.rb | 101 ------------ lib/samizdat/controllers/item_controller.rb | 16 -- lib/samizdat/controllers/message_controller.rb | 26 --- lib/samizdat/engine.rb | 1 - lib/samizdat/helpers/event_helper.rb | 94 ----------- lib/samizdat/models/event.rb | 208 ------------------------ 19 files changed, 3 insertions(+), 859 deletions(-) commit ac1301ad5c70581dd8b2aaa40a746eba0ad5f278 Author: Dmitry Borodaenko Date: Sun Oct 9 14:16:16 2011 +0300 use RbConfig, Config is deprecated in ruby 1.9.3 lib/samizdat/engine/globals.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 70d86201c3f9ba3c8a457a87386ec595f34d8cc1 Author: Dmitry Borodaenko Date: Tue Sep 27 23:27:02 2011 +0300 minimize scope of instance_eval lib/samizdat/components/resource.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0c975b64b95ce5498232cdf819222b871a285d9e Author: Dmitry Borodaenko Date: Tue Sep 27 02:33:06 2011 +0300 updated references to dependencies doc/install.txt | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) commit 6fb9c295f715ee5b4d463f9bd0f54b1702ae19c6 (tag: debian/0.6.2.20110927) Author: Dmitry Borodaenko Date: Tue Sep 20 23:40:37 2011 +0300 prefer fast_gettext over gettext when available data/samizdat/templates/page_layout.rhtml | 2 +- lib/samizdat/controllers/frontpage_controller.rb | 2 +- lib/samizdat/engine.rb | 52 +-------------- lib/samizdat/engine/gettext.rb | 73 ++++++++++++++++++++++ lib/samizdat/engine/request.rb | 5 +- test/mock.rb | 2 +- 6 files changed, 80 insertions(+), 56 deletions(-) commit 6f9778b0859fb5319134d99ac146002abe494f5d Author: Dmitry Borodaenko Date: Mon Sep 26 01:55:11 2011 +0300 use SynCache::RemoteCache for cache access over DRb lib/samizdat/engine/site.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f9a9f98cb58149d3c30875c21368918aabd47369 Author: Dmitry Borodaenko Date: Thu Sep 22 21:53:03 2011 +0300 untaint and intern @action before method_defined? lib/samizdat/engine/dispatcher.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 950a60cf76a73dcde6ed353cae938b434e485ac7 Author: Dmitry Borodaenko Date: Thu Sep 22 21:12:36 2011 +0300 gettext 2.x compatibility lib/samizdat/engine.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 2578876fdd64c5e3f6a60e3e8e05bf5e45cd14b5 Author: Dmitry Borodaenko Date: Tue Sep 20 22:28:12 2011 +0300 fix samizdat-create-database for postgresql 9.x PL/pgSQL is enabled by default since PostgreSQL 9.0. It's ok for createlang to fail in that case, but it shouldn't prevent createuser from being invoked. bin/samizdat-create-database | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bf1d5a72b6174a77d158c6cbc3e5859783fc2a69 Author: Dmitry Borodaenko Date: Tue Sep 20 19:29:17 2011 +0300 ruby 1.9 compatibility * wrap jcode use behind a check for ruby < 1.9 * use method_defined? instead of instance_methods * use 97 instead of ?a * split MessageHelper unit test into 2 classes to avoid namespace clash lib/samizdat/engine.rb | 4 +- lib/samizdat/engine/dispatcher.rb | 2 +- lib/samizdat/engine/password.rb | 2 +- lib/samizdat/engine/site.rb | 25 +++++++- test/tc_message_helper.rb | 114 ++++++++++++++++++++++++------------- 5 files changed, 101 insertions(+), 46 deletions(-) commit 69a2085ebe7e6eebd8f87f02fd029da775ab8d0e Author: Dmitry Borodaenko Date: Tue Sep 20 00:03:49 2011 +0300 Ukrainian translation renamed to the right locale code (uk) AUTHORS | 2 +- data/samizdat/defaults.yaml | 2 +- po/ua.po | 855 ------------------------------------------- po/uk.po | 855 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 857 insertions(+), 857 deletions(-) commit 8bb43148f86059fc95c47c03b48560d48bc920d9 Author: Dmitry Borodaenko Date: Sat Sep 17 15:33:56 2011 +0300 use magic instead of mahoro doc/install.txt | 2 +- lib/samizdat/controllers/message_controller.rb | 2 +- lib/samizdat/engine/globals.rb | 26 ------------------------ lib/samizdat/models/content.rb | 20 ++++++++++++++++-- 4 files changed, 20 insertions(+), 30 deletions(-) commit 2817b99a79d7f86e50e92d8faffee311eac3bbda Author: Dmitry Borodaenko Date: Sat Sep 17 15:10:33 2011 +0300 translations must have a title, too lib/samizdat/controllers/message_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) samizdat-0.7.0/ChangeLog.cvs000066400000000000000000003131001175354032500157010ustar00rootroot000000000000002009-06-10 16:40 angdraug * data/samizdat/database/triggers-pgsql.sql, data/samizdat/templates/page_layout.rhtml, doc/notes.txt, doc/diagrams/samizdat_rdf_classes.dia, lib/samizdat/controllers/query_controller.rb, lib/samizdat/plugins/textile.rb, po/be.po: * use member_link in page header * update the monkey patch for RedCloth4 * include subproperties in properties menu in query editor * Samizdat RDF classes diagram added * fix *_update_part triggers to react when only part_of_subproperty is changed * ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- * this is the last CVS commit: Samizdat switched from CVS to Monotone (mtn pull samizdat.mtn-host.prjek.net \*) 2009-04-22 15:15 angdraug * lib/samizdat/models/message.rb: another Message.new optimization: do not run queries that are expected to return empty results 2009-04-22 14:49 angdraug * lib/samizdat/controllers/message_controller.rb: brown-paper-bag-bug in timestamp-based message locking 2009-04-22 13:03 angdraug * TODO, lib/samizdat/controllers/message_controller.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/models/message.rb, po/be.po, po/ru.po: * simple message locking via timestamps * use parametrized RDF queries instead of interpolated query strings: 30% speedup for front page and tag page generation due to better hit rate on translated RDF queries * use case insensitive sort for tag names * TODO cleanup: many of the planned items have been done 2009-04-20 14:43 angdraug * data/samizdat/defaults.yaml, data/samizdat/css/common.css, data/samizdat/css/default.css, data/samizdat/css/indy.css, data/samizdat/css/nihon.css, data/samizdat/css/savannah.css, data/samizdat/css/sky.css, data/samizdat/css/torun.css, data/samizdat/css/venezuela-centro.css, data/samizdat/templates/frontpage_index.rhtml, lib/samizdat/storage.rb, lib/samizdat/components/list.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/engine/request.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/plugins/flowplayer.rb, po/be.po, po/ru.po: * refactored and integrated Savannah patch #6167 (monolanguage) by Boud * render Top Tags as a tag cloud instead of a list (sorted by name, font size proportional to usage), sort tags by name in tags pull-down menu * support for OpenDocument formats: odg, odp, ods, odt * minor Flowplayer rendering improvements 2009-04-16 18:48 angdraug * bin/samizdat-role, data/samizdat/rdf.yaml, data/samizdat/css/common.css, data/samizdat/css/default.css, data/samizdat/css/indy.css, data/samizdat/css/nihon.css, data/samizdat/css/savannah.css, data/samizdat/css/sky.css, data/samizdat/css/torun.css, data/samizdat/css/venezuela-centro.css, data/samizdat/database/grant-pgsql.sql, doc/man/samizdat-role.1, doc/migration/upgrade_from_v0.6.2.sql, lib/samizdat/sanitize.rb, lib/samizdat/storage.rb, lib/samizdat/components/list.rb, lib/samizdat/components/resource.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/controllers/query_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/controller.rb, lib/samizdat/engine/dataset.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/request.rb, lib/samizdat/engine/session.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/content.rb, lib/samizdat/models/member.rb, lib/samizdat/models/message.rb, lib/samizdat/models/tag.rb, lib/samizdat/plugins/blog.rb, lib/samizdat/plugins/content_file.rb, lib/samizdat/plugins/content_inline.rb, lib/samizdat/plugins/image.rb, po/be.po, po/de.po, po/en.po, po/eo.po, po/es.po, po/fr.po, po/ja.po, po/pl.po, po/ru.po, po/ua.po, po/zh_CN.po, test/mock.rb, test/tc_robot.rb: * samizdat-role: command-line tool to grant and revoke moderator (and other) priviledges (addresses Savannah bug #24157) * when blog plugin is enabled, use blog location instead of resource id for a member link * RSS feed of blog messages * RDF: use parent property's transitive closure for subproperties * option to show all replies in one page, including nested; count subreplies when displaying number of replies to a message * major overhaul of message part links rewriting; Sanitize and Content API changed, Request#temporary_language introduced * fixed message cut for multibyte characters * merged i18n fixes from Boud: Savannah bugs #23687 (english user-friendliness), #23700 ('English' is a wrong msgid), patch #6560 (undetermined language) 2009-04-10 15:07 angdraug * data/samizdat/config.yaml, data/samizdat/defaults.yaml, data/samizdat/templates/frontpage_index.rhtml, doc/install.txt, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/helpers.rb, test/mock.rb: * Savannah patch #6278 by Boud (more_links): allow to display content of a message as part of Links on front page * Savannah patch #6467 by Boud (antispam_titles - partial): check message titles for spam, too * timezone conversion (based on Savannah patch #6505 by Boud, but using TZInfo instead of manual conversion) 2009-04-09 09:35 angdraug * po/: be.po, ru.po: translations updated: Belarusian, Russian 2009-04-09 09:30 angdraug * lib/samizdat/: components/list.rb, controllers/frontpage_controller.rb, controllers/moderation_controller.rb, engine/dataset.rb, models/member.rb, plugins/access.rb, plugins/role.rb: moderator_who patch from Boud refactored and merged (Savannah patch #6283); EmptyDataSet, ResourceList#page, AccessPlugin#find_who_can introduced 2009-04-09 09:29 angdraug * data/samizdat/defaults.yaml, lib/samizdat/engine/dispatcher.rb, lib/samizdat/engine/request.rb, lib/samizdat/plugins/blog.rb, lib/samizdat/plugins/language_prefix.rb, lib/samizdat/plugins/route.rb: Savannah patch #6171: allow to force preferred language via URL (using /lang/ route prefix) 2009-04-09 09:29 angdraug * bin/samizdat-import-feeds, lib/samizdat/helpers/syndication_helper.rb: don't send Accept-Language header when importing feeds (see i18n discussion in Savannah patch #5881); minor code duplications removed 2009-04-09 09:28 angdraug * lib/samizdat/controllers/diff_controller.rb: bugfix: don't use << around gettextized strings 2009-04-02 09:32 angdraug * lib/samizdat/controllers/member_controller.rb: forced login downcasing removed: it turned out to be backwards-incompatible with legacy logins containing capital letters 2009-04-02 08:49 angdraug * data/samizdat/defaults.yaml, data/samizdat/css/savannah.css, data/samizdat/database/create-pgsql.sql, doc/migration/upgrade_from_v0.6.2.sql, lib/samizdat/components/resource.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/event.rb, lib/samizdat/plugins/blog.rb, po/be.po, po/ru.po: * remove traces of Tag.type from DB scripts * disable usage of TExp in Event * blog route rewriting plugin * show link from subtag to parent tag * make action links stand out more in Savannah theme 2009-04-01 13:23 angdraug * data/samizdat/defaults.yaml, data/samizdat/css/savannah.css, data/samizdat/database/create-pgsql.sql, doc/diagrams/samizdat_database.dia, doc/diagrams/samizdat_message_classes.dia, doc/migration/upgrade_from_v0.6.2.sql, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/tag.rb, lib/samizdat/plugins/image.rb, po/be.po, po/ru.po: * dropped unused Tag.type field * updated database schema and message classes diagrams * usability fixes * Belarusian and Russian translations updated 2009-03-30 19:32 angdraug * data/samizdat/defaults.yaml, lib/samizdat/controllers/message_controller.rb: make number of parts file fields configurable, increase default to 10 2009-03-30 16:37 angdraug * lib/samizdat/components/resource.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/helpers/resource_helper.rb, po/be.po, po/ru.po: minor resource rendering improvements; Belarusian and Russian translations updated 2009-03-30 14:12 angdraug * doc/migration/upgrade_from_v0.6.2.sql: actualized DB migration script 2009-03-30 11:35 angdraug * README, TODO, data/samizdat/config.yaml, data/samizdat/defaults.yaml, data/samizdat/rdf.yaml, data/samizdat/xhtml.yaml, data/samizdat/css/default.css, data/samizdat/css/indy.css, data/samizdat/css/nihon.css, data/samizdat/css/savannah.css, data/samizdat/css/sky.css, data/samizdat/css/torun.css, data/samizdat/css/venezuela-centro.css, data/samizdat/database/create-pgsql.sql, data/samizdat/database/grant-pgsql.sql, data/samizdat/database/triggers-pgsql.sql, data/samizdat/rdf/focus.n3, data/samizdat/rdf/schema.n3, data/samizdat/rdf/tag.n3, data/samizdat/templates/frontpage_index.rhtml, doc/concepts.txt, doc/design-goals.txt, doc/install.txt, doc/notes.txt, doc/rdf-storage.txt, doc/references.txt, doc/diagrams/samizdat_message_classes.dia, doc/migration/upgrade_from_v0.6.2.sql, lib/samizdat/engine.rb, lib/samizdat/sanitize.rb, lib/samizdat/storage.rb, lib/samizdat/components/list.rb, lib/samizdat/components/resource.rb, lib/samizdat/controllers/event_controller.rb, lib/samizdat/controllers/foci_controller.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/item_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/controllers/query_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/controllers/tags_controller.rb, lib/samizdat/engine/controller.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/dispatcher.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/plugins.rb, lib/samizdat/engine/preferences.rb, lib/samizdat/engine/request.rb, lib/samizdat/engine/session.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/event_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/helpers/resource_helper.rb, lib/samizdat/models/content.rb, lib/samizdat/models/event.rb, lib/samizdat/models/focus.rb, lib/samizdat/models/member.rb, lib/samizdat/models/message.rb, lib/samizdat/models/moderation.rb, lib/samizdat/models/tag.rb, lib/samizdat/plugins/access.rb, lib/samizdat/plugins/content_inline.rb, lib/samizdat/plugins/file_default.rb, lib/samizdat/plugins/flash.rb, lib/samizdat/plugins/flowplayer.rb, lib/samizdat/plugins/image.rb, lib/samizdat/plugins/loader.rb, lib/samizdat/plugins/occupation.rb, lib/samizdat/plugins/profile.rb, lib/samizdat/plugins/role.rb, lib/samizdat/plugins/route.rb, lib/samizdat/plugins/tag.rb, lib/samizdat/plugins/tag_default.rb, lib/samizdat/plugins/virtual_tag.rb, po/be.po, po/ru.po, test/mock.rb, test/tc_application_helper.rb, test/tc_message_helper.rb, test/tc_robot.rb, test/tc_storage.rb: * RDF sub-properties, transitive closures, must-not-bind sub-patterns * focuses renamed back to tags * sub-tags may be defined by moderators * replies, versions, translations, sub-tags and other parts are generalized as transitive sub-properties of dct:isPartOf * back to PostgreSQL-only until new triggers are ported * new plugin APIs: tag, route * global API-wide plugin options * plugin dependencies * upload queue (fixes Savannah bug #20710) * upload message and its multimedia parts in one go * record original_filename * pass a block to Sanitize to programmatically filter out or rewrite HTML attribute values * manual cut-off mark for short message display * edit title of a multimedia message without re-uploading the file (fixes Savannah bug #20402) * lock message to prevent further replies * allow to recover accounts blocked due to lost confirmation email, show list of blocked accounts to moderators * login automatically on email confirmation * require old password to change password * generalized dynamic page cache out of FrontpageController * CSRF protection moved from ApplicationHelper to Request, allowing multiple secure forms per page * allow custom strings inside generated forms * use Message#load_from_rdf * ResourcesList component * frontpage template extracted from the controller * do not display redundant reply titles * do not display a setting if only one option is available * separate limit on number of tags in a list * cookie-based flash notices * calendar (incomplete) 2009-02-12 12:14 angdraug * doc/install.txt: installation instructions updated for Samizdat 0.6.2 2009-02-12 11:31 angdraug * NEWS: Samizdat 0.6.2 release documented 2009-02-11 19:31 angdraug * README, TODO, bin/samizdat-create-database, bin/samizdat-drb-server, bin/samizdat-import-feeds, bin/update-indymedia-cities, cgi-bin/dispatch.rb, data/samizdat/defaults.yaml, data/samizdat/css/default.css, data/samizdat/css/savannah.css, data/samizdat/database/create-mysql.sql, data/samizdat/database/create-pgsql.sql, data/samizdat/database/create-sqlite3.sql, data/samizdat/database/grant-mysql.sql, data/samizdat/database/grant-pgsql.sql, data/samizdat/database/triggers-mysql.sql, data/samizdat/database/triggers-pgsql.sql, data/samizdat/database/triggers-sqlite3.sql, data/samizdat/js/flashembed.js, data/samizdat/rdf/focus.n3, data/samizdat/rdf/items.n3, data/samizdat/rdf/schema.n3, doc/examples/apache.conf, doc/examples/lighttpd.conf, lib/samizdat/antispam.rb, lib/samizdat/cache.rb, lib/samizdat/engine.rb, lib/samizdat/sanitize.rb, lib/samizdat/storage.rb, lib/samizdat/components/resource.rb, lib/samizdat/controllers/diff_controller.rb, lib/samizdat/controllers/foci_controller.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/history_controller.rb, lib/samizdat/controllers/item_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/controllers/query_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/controller.rb, lib/samizdat/engine/dataset.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/dispatcher.rb, lib/samizdat/engine/exceptions.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/password.rb, lib/samizdat/engine/preferences.rb, lib/samizdat/engine/request.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/view.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/diff_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/helpers/resource_helper.rb, lib/samizdat/helpers/syndication_helper.rb, lib/samizdat/models/content.rb, lib/samizdat/models/focus.rb, lib/samizdat/models/member.rb, lib/samizdat/models/message.rb, lib/samizdat/models/moderation.rb, lib/samizdat/plugins/access.rb, lib/samizdat/plugins/content_file.rb, lib/samizdat/plugins/content_inline.rb, lib/samizdat/plugins/file_default.rb, lib/samizdat/plugins/flash.rb, lib/samizdat/plugins/flowplayer.rb, lib/samizdat/plugins/html.rb, lib/samizdat/plugins/image.rb, lib/samizdat/plugins/inline_default.rb, lib/samizdat/plugins/loader.rb, lib/samizdat/plugins/occupation.rb, lib/samizdat/plugins/plain_text.rb, lib/samizdat/plugins/profile.rb, lib/samizdat/plugins/role.rb, lib/samizdat/plugins/squish.rb, lib/samizdat/plugins/textile.rb, test/mock.rb, test/tc_application_helper.rb, test/tc_cache.rb, test/tc_message_helper.rb, test/tc_password.rb, test/tc_robot.rb, test/tc_storage.rb, test/tc_version.rb, test/ts_samizdat.rb, test/util.rb: added several missing CGI.escapeHTML for message title and member full name (CVS-2009-0359); escape single quote as ' for compatibility with IE; improved handling of REXML and Tidy errors in Sanitize; password encryption upgraded from MD5 to salted SHA-512; documentation, unit tests, copyright notices updated; Flowplayer integration updated for Flowplayer 3, flowplayer aliases removed from example web server configs; don't redirect back to login page on successful login; sort moderation log by descending date for consistency with all other lists 2008-12-15 00:31 boud * po/pl.po: again minor 2008-12-15 00:28 boud * po/pl.po: another minor change 2008-12-14 22:59 boud * po/pl.po: minor: flash-related translation corrections 2008-10-28 18:49 angdraug * lib/samizdat/plugins/textile.rb: make RedCloth monkey fix forward-compatible with RedCloth4 2008-10-28 18:48 angdraug * lib/samizdat/: controllers/member_controller.rb, engine/request.rb: forced HTTPS forms fixes: handle return to frontpage as a special case (blank relative location unsets the cookie), enforce HTTPS on account creation, not only login 2008-10-25 20:33 angdraug * data/samizdat/defaults.yaml, data/samizdat/flowplayer/FlowPlayerDark.swf, lib/samizdat/plugins/flowplayer.rb: removed Flowplayer from Samizdat source code, documented where to download it from and how to configure flowplayer plugin to use it, added configuration options to change Flowplayer location and background color 2008-10-25 19:35 angdraug * data/samizdat/defaults.yaml, lib/samizdat/antispam.rb: fix for Savannah bug #24361: remove antispam sleep, it doesn't stop spambots and only uses up system resources 2008-10-25 18:46 angdraug * data/samizdat/defaults.yaml: don't link to an external URL in the default antispam configuration, default setup should be self-contained 2008-10-25 17:27 angdraug * data/samizdat/config.yaml, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/engine/request.rb: make sure session cookie secure flag is set when sending over HTTPS; allow to force encrypted login when HTTPS is available 2008-10-22 16:51 angdraug * lib/samizdat/engine/dataset.rb: fix for Savannah bug #24091: RdfDataSet fails to use optional parameter hash in cache key 2008-10-22 16:36 angdraug * lib/samizdat/sanitize.rb: fix for Savannah bug #23848: on ruby 1.8.5 (Debian/etch), NameError is raised instead 2008-09-28 19:28 angdraug * lib/samizdat/sanitize.rb: suppress extra messages from tidy_pipe 2008-09-28 19:27 angdraug * lib/samizdat/models/content.rb: bugfix: pass StringIO uploads directly to Mahoro#buffer() 2008-09-28 19:27 angdraug * lib/samizdat/controllers/member_controller.rb: fix for Savannah bug #24185: sensible default redirect for /member/index 2008-09-28 19:27 angdraug * lib/samizdat/: engine.rb, engine/helpers.rb: make date/time handling compatible with Ruby/DBI 0.4.0 2008-09-21 13:44 angdraug * lib/samizdat/sanitize.rb: don't require tidy if we're using binary 2008-09-21 13:26 angdraug * lib/samizdat/sanitize.rb: due to Tidy/Ruby being broken by Ruby 1.8.7-p72 DL taint fixes, Sanitize now prefers to use tidy binary via pipe over tidy.so via DL 2008-08-31 17:59 angdraug * data/samizdat/js/flashembed.js: flashembed updated to version 0.31 2008-08-31 17:08 angdraug * data/samizdat/flowplayer/FlowPlayerDark.swf: Flowplayer updated to version 2.2.2 2008-08-31 16:50 angdraug * lib/samizdat/: components/resource.rb, controllers/frontpage_controller.rb, controllers/query_controller.rb, controllers/resource_controller.rb, helpers/application_helper.rb: RSS feeds fixed: Resource#rss is really uncacheable; ApplicationHelper#render_rss extracted to render a set of resources as RSS and cache the result 2008-08-30 22:48 boud * doc/translations.txt, po/es.po, po/fr.po, po/ja.po, po/pl.po: minor translation changes: fr + pl updated, es partially updated, ja updated to include msgid prompts and fuzzy guesses, trivial language corrections to translations.txt 2008-08-30 00:09 boud * data/samizdat/css/: nihon.css, venezuela-centro.css: two css files - nihon.css has outset button style for user action links 2008-08-11 08:25 angdraug * lib/samizdat/components/resource.rb: followup to the account creation bugfix: fix display of accounts with unset full name 2008-08-07 16:17 angdraug * data/samizdat/database/create-mysql.sql, data/samizdat/database/create-pgsql.sql, data/samizdat/database/create-sqlite3.sql, lib/samizdat/controllers/member_controller.rb, lib/samizdat/engine/session.rb, lib/samizdat/models/member.rb: bugfix: it is now possible to create account without full name, login is used as default substitute; removed code duplication between Member and Session 2008-08-07 16:16 angdraug * data/samizdat/defaults.yaml, lib/samizdat/controllers/message_controller.rb: map both x-ms-wmv and x-ms-asf to wmv extension, add support for realmedia files 2008-08-07 16:16 angdraug * doc/diagrams/samizdat_database.dia: fixed Role.role field name in the DB diagram 2008-07-19 23:20 boud * data/samizdat/defaults.yaml: improving explanation to sysadmin in defaults.yaml, so that we can close the bug https://savannah.nongnu.org/bugs/?21243 2008-07-15 01:22 boud * doc/examples/apache.conf: Closing patch #5930 - fixing ambiguous language in apache.conf comments. The two interpretations of the old version are: # Replace the first "/samizdat" here with (your site location for all aliases) vs # (Replace the first "/samizdat" here with your site location) for all aliases See the replacement. With this, we can close patch #5930 IMHO. 2008-07-03 18:15 angdraug * test/tc_message_helper.rb: update unit tests for message_content == nil bug 2008-07-03 14:48 boud * data/samizdat/defaults.yaml, po/ja.po, po/pl.po: ja corrected by a native speaker and should be acceptable in default.yaml, ja also includes msgids and some msgstrs for recent patches, one line correction in pl, these have not yet been updated for post-070818 2008-07-03 14:16 angdraug * data/samizdat/flowplayer/FlowPlayerDark.swf: Flowplayer updated to version 2.2.1 2008-07-03 14:15 angdraug * doc/: diagrams/samizdat_database.dia, diagrams/samizdat_deployment.dia, diagrams/samizdat_message_classes.dia, diagrams/samizdat_mvc.dia, slides/lvee2008_samizdat.xml: added Dia diagrams and LVEE-2008 slides 2008-07-03 14:14 angdraug * lib/samizdat/components/resource.rb: fixed VoteComponent that was broken by role-based access control changes 2008-07-03 14:14 angdraug * lib/samizdat/storage.rb: make sure mutually referencing records are inserted in the right order during RDF#assert 2008-07-03 14:13 angdraug * lib/samizdat/: helpers/message_helper.rb, models/content.rb: fix message_content == nil bug 2008-07-03 14:13 angdraug * data/samizdat/defaults.yaml, lib/samizdat/plugins/flowplayer.rb: fix flv mime type to match what Mahoro returns 2008-05-25 15:50 angdraug * lib/samizdat/models/member.rb: fixed a missing title in MemberController; localize action names in access denied error 2008-05-25 15:49 angdraug * doc/install.txt, lib/samizdat/models/content.rb: don't trust content_type coming with the request, use Mahoro library (libmagic) to detect file type instead 2008-05-25 15:48 angdraug * lib/samizdat/models/message.rb: prepend 'Message' to 404 error when raised from Message 2008-05-25 15:46 angdraug * lib/samizdat/storage.rb: added minor comment to Storage 2008-05-25 15:46 angdraug * lib/samizdat/plugins/role.rb: removed debug output 2008-05-25 15:45 angdraug * lib/samizdat/controllers/member_controller.rb, po/be.po, po/ru.po: fixed a missing title in MemberController; localize action names in access denied error 2008-05-13 09:14 boud * po/ja.po: wrong translation for 'translation' corrected in ja.po 2008-05-10 17:06 angdraug * data/samizdat/flowplayer/FlowPlayerDark.swf: Flowplayer binary included in Samizdat source, see flowplayer.org for source code 2008-05-10 17:04 angdraug * COPYING, README, bin/samizdat-create-database, bin/samizdat-drb-server, bin/samizdat-import-feeds, bin/update-indymedia-cities, cgi-bin/dispatch.rb, data/samizdat/config.yaml, data/samizdat/defaults.yaml, data/samizdat/css/default.css, data/samizdat/css/savannah.css, data/samizdat/css/sky.css, data/samizdat/database/create-mysql.sql, data/samizdat/database/create-pgsql.sql, data/samizdat/database/create-sqlite3.sql, data/samizdat/database/grant-mysql.sql, data/samizdat/database/grant-pgsql.sql, data/samizdat/database/triggers-mysql.sql, data/samizdat/database/triggers-pgsql.sql, data/samizdat/database/triggers-sqlite3.sql, data/samizdat/js/flashembed.js, data/samizdat/rdf/focus.n3, data/samizdat/rdf/items.n3, data/samizdat/rdf/schema.n3, data/samizdat/templates/page_layout.rhtml, doc/examples/apache.conf, doc/examples/lighttpd.conf, doc/man/samizdat-create-database.1, doc/man/samizdat-drb-server.1, doc/man/samizdat-import-feeds.1, doc/man/update-indymedia-cities.1, lib/samizdat/antispam.rb, lib/samizdat/cache.rb, lib/samizdat/engine.rb, lib/samizdat/sanitize.rb, lib/samizdat/storage.rb, lib/samizdat/components/resource.rb, lib/samizdat/controllers/diff_controller.rb, lib/samizdat/controllers/foci_controller.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/history_controller.rb, lib/samizdat/controllers/item_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/controllers/query_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/controller.rb, lib/samizdat/engine/dataset.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/dispatcher.rb, lib/samizdat/engine/exceptions.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/preferences.rb, lib/samizdat/engine/request.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/view.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/diff_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/helpers/resource_helper.rb, lib/samizdat/helpers/syndication_helper.rb, lib/samizdat/models/content.rb, lib/samizdat/models/focus.rb, lib/samizdat/models/member.rb, lib/samizdat/models/message.rb, lib/samizdat/models/moderation.rb, lib/samizdat/plugins/access.rb, lib/samizdat/plugins/content_file.rb, lib/samizdat/plugins/content_inline.rb, lib/samizdat/plugins/file_default.rb, lib/samizdat/plugins/flash.rb, lib/samizdat/plugins/flowplayer.rb, lib/samizdat/plugins/html.rb, lib/samizdat/plugins/image.rb, lib/samizdat/plugins/inline_default.rb, lib/samizdat/plugins/loader.rb, lib/samizdat/plugins/occupation.rb, lib/samizdat/plugins/plain_text.rb, lib/samizdat/plugins/profile.rb, lib/samizdat/plugins/role.rb, lib/samizdat/plugins/squish.rb, lib/samizdat/plugins/textile.rb, po/be.po, po/eo.po, po/pl.po, po/ru.po, po/ua.po, test/mock.rb, test/tc_application_helper.rb, test/tc_cache.rb, test/tc_message_helper.rb, test/tc_robot.rb, test/tc_storage.rb, test/tc_version.rb, test/ts_samizdat.rb, test/util.rb: license upgraded to GPL 3; Flowplayer flash video player integrated (flv and mp4 files supported); member settings split into profile, account, and UI settings pages, implemented flash notices in Request; role-based access control plugin: list of moderators is now stored in db instead of config; minor UI fixes and improvements; Belarusian and Russian translations updated 2008-04-11 21:14 angdraug * lib/samizdat/: controllers/frontpage_controller.rb, controllers/member_controller.rb, engine/deployment.rb, engine/request.rb, engine/view.rb, models/content.rb, plugins/image.rb, plugins/loader.rb: untaint trusted configs 2008-04-11 21:13 angdraug * cgi-bin/dispatch.rb: make sure SAFE level is at least 1 2008-04-06 22:36 angdraug * lib/samizdat/: models/content.rb, plugins/loader.rb: several mod_ruby-specific security errors fixed 2008-04-06 21:25 angdraug * TODO, doc/design-goals.txt, po/be.po, po/ru.po: documentation, Belarusian and Russian translations updated 2008-04-06 21:14 angdraug * bin/samizdat-import-feeds, data/samizdat/defaults.yaml, data/samizdat/css/default.css, data/samizdat/css/indy.css, data/samizdat/css/savannah.css, data/samizdat/css/sky.css, lib/samizdat/engine.rb, lib/samizdat/components/resource.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/query_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/request.rb, lib/samizdat/helpers/diff_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/content.rb, lib/samizdat/models/message.rb, lib/samizdat/plugins/content_file.rb, lib/samizdat/plugins/content_inline.rb, lib/samizdat/plugins/file_default.rb, lib/samizdat/plugins/html.rb, lib/samizdat/plugins/image.rb, lib/samizdat/plugins/inline_default.rb, lib/samizdat/plugins/loader.rb, lib/samizdat/plugins/plain_text.rb, lib/samizdat/plugins/squish.rb, lib/samizdat/plugins/textile.rb, test/mock.rb, test/tc_message_helper.rb, test/tc_robot.rb, test/tc_storage.rb, test/util.rb: introduced plugins system; extracted content rendering into plugins; image plugin generates and displays reduced versions of images; Message.replace! now removes old file if it exists; extracted Resource#rss from Message and QueryController; replaced samizdat_site_name global with samizdat_current_request 2008-03-22 14:38 angdraug * doc/install.txt, lib/samizdat/storage.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/helpers/message_helper.rb: documentation and error handling fixes 2008-03-22 14:37 angdraug * lib/samizdat/models/message.rb: based on patch by mend0za: include description in RSS feeds 2008-03-20 21:06 mend0za * lib/samizdat/engine/: deployment.rb, helpers.rb: configuration handling: fix for directories not tailing by / 2008-03-09 11:08 angdraug * po/be.po: fixed incorrect email for Hleb Valoshka 2008-03-04 13:51 angdraug * lib/samizdat/engine.rb: update 'all classes equal' hack for Ruby/GetText 1.90 2008-03-04 13:04 angdraug * lib/samizdat/engine.rb, test/tc_version.rb: update version to 0.6.1 2008-03-04 12:37 angdraug * NEWS, README, doc/concepts.txt, doc/design-goals.txt, doc/references.txt: documentation updated for Samizdat 0.6.1 release 2008-02-25 14:55 angdraug * lib/samizdat/: storage.rb, components/resource.rb, controllers/message_controller.rb, controllers/query_controller.rb, engine/exceptions.rb: replace remnants of 'skip' parameter with 'page', untie Storage from Samizdat engine so that it can be used stand-alone 2008-02-24 10:39 angdraug * data/samizdat/database/create-mysql.sql, data/samizdat/database/create-pgsql.sql, data/samizdat/database/create-sqlite3.sql, lib/samizdat/storage.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/helpers/syndication_helper.rb, lib/samizdat/models/message.rb: fixes: more resiliense against malformed configs (from patch #5881), cripple links and images in hidden messages (patch #6372); optimizations: index on Resource (uriref), load core message parameters using single SQL query 2008-02-22 23:37 angdraug * lib/samizdat/antispam.rb, lib/samizdat/components/resource.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/dataset.rb, lib/samizdat/engine/request.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/moderation.rb, po/be.po, po/ru.po: multiple resource rendering improvements: separate :full and :page modes, use :full instead of :short where full non-translated message should be displayed, use :short instead of :list_item for messages on member page, include link to votes in statement page; bugfixes: no moderation log when previewing a new message, better fix for bug #21490; Belarusian and Russian translations updated 2008-02-22 23:33 angdraug * TODO: defined todo items for release 0.6.2 2008-02-22 23:33 angdraug * bin/samizdat-import-feeds: fail-safe feed parsing 2008-02-22 00:51 boud * po/zh_CN.po: initial rough, partial version of zh_CN.po, samizdat-0.6.0.070818-1 seems to require installing the .mo file in zh/ and using zh in the config.yaml file instead of zh_CN/ and zh_CN respectively 2008-02-14 19:56 angdraug * lib/samizdat/helpers/application_helper.rb: don't << to a localized string, GetText doesn't like that 2008-02-14 18:15 angdraug * TODO, data/samizdat/database/grant-pgsql.sql, doc/rdf-storage.txt, lib/samizdat/cache.rb, lib/samizdat/engine.rb, lib/samizdat/sanitize.rb, lib/samizdat/storage.rb, lib/samizdat/components/resource.rb, lib/samizdat/controllers/foci_controller.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/history_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/controllers/query_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/dataset.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/moderation.rb, po/be.po, po/ru.po, test/tc_storage.rb: major update of RDF storage: OPTIONAL sub-patterns (in SELECT only for now), per-statement FILTERs; new DataSet based pagination system; show pending moderation requests to everyone, force lowercase login names, use REXML::Formatters in Sanitize when available, documentation updated 2008-01-20 16:02 angdraug * README, TODO, doc/slides/barcampsheffield2007_samizdat.xml, lib/samizdat/engine.rb, lib/samizdat/components/resource.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/engine/exceptions.rb, lib/samizdat/engine/request.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/message.rb, lib/samizdat/models/moderation.rb, po/be.po, po/ru.po, test/tc_message_helper.rb: notify moderator functionality added; Moderation model introduced; bugfixes: #20678 (redirect_when_done cookie is used to always redirect back to where login process was started from), always default to parent's title, don't append new lines to the end of message body; API changes: Request#redirect now requires '' to redirect to site base, Request#set_cookie 'expires' parameter defaults to non-persistent (session) cookie, #forever value now must be passed explicitly; Belarusian and Russian translations updated; documentation updated, Barcamp Sheffield 2007 slides added 2007-11-12 00:12 angdraug * TODO, bin/samizdat-drb-server, doc/install.txt, doc/examples/apache.conf, lib/samizdat/cache.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/content.rb, po/be.po, po/ru.po: show non-inline message file size; rate-limit cache.flush; inform guest users that they can't edit even open-for-all messages; Belarusian and Russian translations updated; minor documentation updates 2007-11-04 23:39 angdraug * lib/samizdat/controllers/moderation_controller.rb: bugfix: models/moderation never came to be 2007-11-04 21:00 angdraug * test/: mock.rb, tc_application_helper.rb: unit tests updated 2007-11-04 20:45 angdraug * data/samizdat/config.yaml, data/samizdat/defaults.yaml, data/samizdat/database/create-mysql.sql, data/samizdat/database/create-pgsql.sql, data/samizdat/database/create-sqlite3.sql, doc/install.txt, lib/samizdat/components/resource.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/request.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/message.rb, po/be.po, po/ru.po: reverted back to not swapping message with its preferred translation in full mode; per-resource moderation logs; more DB indexes; RSS import documented; Belarusian and Russian translations updated; store Antispam object in persistent cache; fixes for bugs #21286, #20932, #21490, #21242, setting focus during publishing of new message, pagination when mixing replies and translations 2007-11-01 14:27 boud * po/: es.po, fr.po: es+fr translation strings for a few patches 2007-09-09 10:14 boud * lib/samizdat/antispam.rb, po/pl.po: pl.po: multipublish patch, antispam.rb typo correction (/'delay'/,"'delay_limit'") 2007-08-25 21:03 boud * po/ja.po: a few strings used in patches are added here 2007-08-25 04:45 boud * po/ja.po: a few spaces 2007-08-24 02:39 boud * po/pl.po: two strings for multipublish patch 0.4 2007-08-20 22:42 boud * po/: es.po, fr.po, ja.po, pl.po: es/fr/ja/pl translations of 'Alternatively, upload a file ... ' 2007-08-19 15:55 angdraug * lib/samizdat/: components/resource.rb, controllers/message_controller.rb: fixed setting focus during publishing of new message 2007-08-18 17:18 angdraug * doc/man/samizdat-import-feeds.1: man page for samizdat-import-feeds 2007-08-18 16:51 angdraug * TODO, bin/samizdat-import-feeds, data/samizdat/config.yaml, data/samizdat/defaults.yaml, data/samizdat/css/default.css, data/samizdat/css/indy.css, data/samizdat/css/savannah.css, data/samizdat/css/sky.css, lib/samizdat/antispam.rb, lib/samizdat/cache.rb, lib/samizdat/engine.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/engine/antispam.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/request.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/syndication_helper.rb, lib/samizdat/models/content.rb, po/be.po, po/ru.po: import feeds patch by Boud refactored and integrated; Cache expiry made more flexible, persistent cross-site cache added; Antipam module unbundled from engine into standalone library; bugs fixed: #19830 (upload file message), #20303 (basic interface fixed and expanded), #20305 (don't display focus option without vote acess), #20678 (don't redirect to referer on login/logout), #20491 (fixed inconsistent handling of form action location by CSRF protection); documentation updated; minor refactorings and cleanups 2007-08-07 22:22 boud * doc/install.txt: clarifications: apache.conf is a samizdat file; importance of .yaml config files 2007-07-06 00:30 boud * doc/install.txt: trivial: s/default.yaml/defaults.yaml/ 2007-07-01 00:11 boud * po/pl.po: minor pl language correction while waiting for fix to bug #19830 2007-06-23 22:34 boud * po/pl.po: minor: typo, antispam message 2007-06-20 00:46 boud * po/: es.po, fr.po, pl.po: minor {es/fr/pl}.po: removed disabling 'fuzzy' comments 2007-06-18 21:59 boud * po/pl.po: minor pl replace of replacement string for replace action ;) 2007-06-18 19:51 angdraug * lib/samizdat/: components/resource.rb, helpers/message_helper.rb, models/focus.rb, models/message.rb: translations overhaul inspired by separate translations patch by Boud: swap preferred translation and original, don't show translations in the list of replies, don't allow to post reply to a translation 2007-06-18 11:04 angdraug * lib/samizdat/controllers/message_controller.rb: more faulty logic in message editing 2007-06-17 17:55 angdraug * data/samizdat/defaults.yaml, lib/samizdat/cache.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/engine/antispam.rb, lib/samizdat/engine/controller.rb, lib/samizdat/engine/exceptions.rb, lib/samizdat/engine/helpers.rb: antispam module (by Boud with some refactoring); log_exception helper extracted from ErrorController; clarified that Cache#fetch_or_add is the preferred method; fixed fix for #20134 2007-06-16 11:21 angdraug * lib/samizdat/controllers/message_controller.rb: bug #20134: wrong edit message permission check 2007-06-03 22:37 boud * data/samizdat/config.yaml: ja: japanese header added for default installation 2007-06-02 01:42 boud * po/ja.po: experimental version of ja.po; deliberately not yet added to config.yaml 2007-05-20 22:11 boud * po/: es.po, fr.po, pl.po: es + fr + pl updates after major 20070501 revision; Plural-Forms definitions corrected 2007-05-20 13:32 angdraug * lib/samizdat/controllers/message_controller.rb: set creator in message/edit (can be different from original when open-for-all) 2007-05-19 12:54 angdraug * lib/samizdat/components/resource.rb: don't cache MessageComponent#info 2007-05-19 12:36 angdraug * data/samizdat/config.yaml, doc/examples/apache.conf: merged in config file comments clarifications by Boud 2007-05-19 12:25 angdraug * lib/samizdat/components/resource.rb: fixed mutual recursion between MessageComponent and Focus (bug #19903) 2007-05-19 12:25 angdraug * lib/samizdat/cache.rb: monkey fixes for bugs in sync.rb 2007-05-12 20:28 boud * doc/examples/apache.conf: less ambiguity in comments in suggested apache.conf file 2007-05-09 20:50 angdraug * AUTHORS: translators list updated 2007-05-09 20:21 angdraug * lib/samizdat/: cache.rb, controllers/frontpage_controller.rb, engine/deployment.rb, helpers/application_helper.rb: Cache rewritten for better deadlock avoidance, FIFO replaced with flexible replacement policy defaulting to LRU, debugging to syslog added, has_key? removed 2007-05-06 11:55 angdraug * lib/samizdat/: engine/request.rb, helpers/application_helper.rb: use cache instead of database for CSRF protection; input validation improvement in Request 2007-05-05 13:18 angdraug * lib/samizdat/: controllers/diff_controller.rb, controllers/frontpage_controller.rb, controllers/member_controller.rb, controllers/query_controller.rb, controllers/resource_controller.rb, helpers/application_helper.rb, models/message.rb: language list restored (Boud); account creation fixed; several RSS fixes; input validation improvements in DiffController and QueryController 2007-05-04 00:12 boud * lib/samizdat/engine/controller.rb, po/be.po, po/ru.po: corrected spelling error visible to users: s/priviledge/privilege/ 2007-05-01 20:31 angdraug * lib/samizdat/helpers/message_helper.rb, po/be.po, test/mock.rb, test/tc_application_helper.rb, test/tc_message_helper.rb, test/tc_template.rb, test/ts_samizdat.rb, test/util.rb: Belarusian translation updated, unit tests updated for application and message helpers 2007-04-25 21:04 angdraug * TODO, doc/examples/lighttpd.conf, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/preferences.rb, lib/samizdat/engine/request.rb, lib/samizdat/engine/session.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/models/content.rb, po/ru.po, test/tc_robot.rb: CSRF protection for message, resource, and member controllers; translation of actions in moderation log; cache sites map configuration, ignore trailing slashes in URI prefixes; RequestSingleton reduced to ; upload location handling moved from Content to Request 2007-04-22 14:05 angdraug * data/samizdat/templates/page_layout.rhtml, doc/examples/apache.conf, doc/examples/lighttpd.conf, lib/samizdat/components/resource.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/controllers/query_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/dispatcher.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/request.rb, lib/samizdat/models/content.rb, test/tc_robot.rb, test/ts_samizdat.rb, test/util.rb: unit tests fixed (except tc_template); lighttpd support added, route handling straightened (Apache config also changed) 2007-04-18 19:55 angdraug * po/: be.po, ru.po: Russian and Belarusian translations updated 2007-04-17 21:08 angdraug * data/samizdat/css/default.css, data/samizdat/css/indy.css, data/samizdat/css/savannah.css, data/samizdat/css/sky.css, doc/translations.txt, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/helpers/resource_helper.rb: link to foci moved to top focuses as 'more'; stylesheets updated for action links; show message preview for hide/unhide; translation instructions updated for new code layout 2007-04-17 17:48 angdraug * cgi-bin/dispatch.rb, cgi-bin/foci.rb, cgi-bin/history.rb, cgi-bin/index.rb, cgi-bin/item.rb, cgi-bin/login.rb, cgi-bin/logout.rb, cgi-bin/member.rb, cgi-bin/message.rb, cgi-bin/moderation.rb, cgi-bin/query.rb, cgi-bin/resource.rb, data/samizdat/config.yaml, data/samizdat/defaults.yaml, data/samizdat/database/create-mysql.sql, data/samizdat/database/create-pgsql.sql, data/samizdat/database/create-sqlite3.sql, data/samizdat/templates/page_layout.rhtml, doc/examples/apache.conf, lib/samizdat/cache.rb, lib/samizdat/engine.rb, lib/samizdat/storage.rb, lib/samizdat/components/resource.rb, lib/samizdat/controllers/diff_controller.rb, lib/samizdat/controllers/foci_controller.rb, lib/samizdat/controllers/frontpage_controller.rb, lib/samizdat/controllers/history_controller.rb, lib/samizdat/controllers/item_controller.rb, lib/samizdat/controllers/member_controller.rb, lib/samizdat/controllers/message_controller.rb, lib/samizdat/controllers/moderation_controller.rb, lib/samizdat/controllers/query_controller.rb, lib/samizdat/controllers/resource_controller.rb, lib/samizdat/engine/controller.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/dispatcher.rb, lib/samizdat/engine/focus.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/preferences.rb, lib/samizdat/engine/request.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb, lib/samizdat/engine/view.rb, lib/samizdat/helpers/application_helper.rb, lib/samizdat/helpers/diff_helper.rb, lib/samizdat/helpers/message_helper.rb, lib/samizdat/helpers/resource_helper.rb, lib/samizdat/models/content.rb, lib/samizdat/models/focus.rb, lib/samizdat/models/member.rb, lib/samizdat/models/message.rb: MVC refactoring (Apache config change required, todo: css, po, test); passwd renamed to password (DB change required); digest() updated for Ruby 1.8.5; diff now includes images and file links 2007-02-26 03:13 angdraug * cgi-bin/history.rb, cgi-bin/index.rb, cgi-bin/member.rb, cgi-bin/moderation.rb, cgi-bin/query.rb, cgi-bin/resource.rb, doc/install.txt, lib/samizdat/cache.rb, lib/samizdat/engine/focus.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb, po/be.po, po/de.po, po/eo.po, po/es.po, po/fr.po, po/pl.po, po/ru.po, po/ua.po, test/tc_robot.rb, test/ts_samizdat.rb: Resource refactored: render*() replaced by polymorphic resource controllers; smarter locking in Samizdat::Cache to make fetch_or_add() re-enterable; option to show hidden messages removed; set defaults for environment variables required by the tests 2007-02-23 23:46 boud * data/samizdat/config.yaml: (es) front page default header - (headers in be/ru/eo/ua still missing) 2007-02-18 17:57 angdraug * TODO, cgi-bin/history.rb, data/samizdat/xhtml.yaml, doc/install.txt, lib/samizdat/engine/message.rb, lib/samizdat/engine/template.rb, po/be.po, po/ru.po: documentation update (new bug, recommended modules); inherit hidden status from current message version, reflect hidden status in a diff; fix absolute image paths starting with //; ASCII-encode ellipsis (Boud); fix to let rgettext pick up Front Page, Belarusian and Russian translations updated 2007-02-14 00:51 boud * po/: es.po, fr.po, pl.po: pl.po - several small corrections; pl+es+fr Front Page in template.rb 2007-02-12 20:21 boud * po/pl.po: minor grammatical corrections in pl.po 2007-02-02 21:52 angdraug * cgi-bin/resource.rb, lib/samizdat/engine/focus.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/template.rb: revert Focus#rating= refactoring, it requires too many fixes 2007-02-02 20:33 angdraug * TODO, cgi-bin/foci.rb, cgi-bin/history.rb, cgi-bin/index.rb, cgi-bin/item.rb, cgi-bin/login.rb, cgi-bin/logout.rb, cgi-bin/member.rb, cgi-bin/message.rb, cgi-bin/moderation.rb, cgi-bin/query.rb, cgi-bin/resource.rb, data/samizdat/css/common.css, doc/translations.txt, lib/samizdat/storage.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/focus.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb, po/be.po, po/ru.po: apply line-through style to hidden messages; Focus#rating= refactored to Focus#vote(); request() renamed to each_request(); documentation and copyrights updated 2007-02-01 23:49 boud * data/samizdat/config.yaml: config.yaml header section in (de) 2007-01-31 22:23 boud * data/samizdat/config.yaml, doc/translations.txt: example site-specific header l10n: config.yaml: +fr, +pl, request in translations.txt 2007-01-31 20:03 boud * data/samizdat/defaults.yaml, po/de.po, po/es.po, po/fr.po, po/pl.po: adding German translation; putting Project-Id-Version to 0.6.0 in de/es/fr/pl 2007-01-28 00:23 boud * po/es.po: fixed minor formatting errors in es.po - this time msgfmt should work :) 2007-01-27 16:18 boud * data/samizdat/defaults.yaml: add castellano (es) to language list in defaults.yaml config file 2007-01-27 04:34 boud * po/es.po: castellano (a.k.a. espanol or spanish) - thanks to a local spanish-speaker :) 2007-01-27 04:26 boud * po/: fr.po, pl.po: translations for "replace" instead of "displace"; "full name" better translated 2007-01-20 12:30 angdraug * TODO, data/samizdat/database/create-mysql.sql, data/samizdat/database/create-sqlite3.sql, data/samizdat/database/grant-mysql.sql, data/samizdat/database/triggers-mysql.sql, lib/samizdat/storage.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb, po/be.po, po/eo.po, po/fr.po, po/pl.po, po/ru.po, po/ua.po: added MySQL and improved SQLite3 support (documentation will follow), minor deployment fixes, renamed 'displace' to 'replace' as suggested by Boud, posting comment to a long thread now redirects to the right page, major improvement to error reporting: full stack trace is written to error log and referred by a hash supplied to the user 2006-12-07 21:40 angdraug * doc/examples/apache.conf, lib/samizdat/engine/message.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/template.rb: refactoring: new MessageContent class (still more refactoring needed for things like RSS import); sort replies by id, to avoid confusion when comments are edited; send Apache error.log to /dev/null as a safe default for IP address logging prevention 2006-12-04 16:35 angdraug * data/samizdat/xhtml.yaml: Sanitize: allow ':' in URI (RFC 2396) if it's absolute and with legit scheme 2006-11-29 17:38 angdraug * bin/samizdat-drb-server, cgi-bin/foci.rb, cgi-bin/history.rb, cgi-bin/index.rb, cgi-bin/login.rb, cgi-bin/member.rb, cgi-bin/message.rb, cgi-bin/query.rb, cgi-bin/resource.rb, lib/samizdat/cache.rb, lib/samizdat/sanitize.rb, lib/samizdat/storage.rb, lib/samizdat/engine/focus.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb, test/tc_robot.rb, test/tc_storage.rb, test/tc_template.rb, test/tc_version.rb, test/util.rb: updated copyrights 2006-11-29 17:16 angdraug * lib/samizdat/engine.rb, test/tc_version.rb: SAMIZDAT_VERSION = '0.6.0' 2006-11-29 16:07 angdraug * NEWS, TODO, doc/design-goals.txt, lib/samizdat/engine/template.rb, po/fr.po: auto-url in default message format; French translation update; documentation update 2006-11-28 17:35 angdraug * README, TODO, doc/concepts.txt, doc/design-goals.txt, doc/notes.txt: documentation update 2006-11-28 14:54 angdraug * TODO, test/tc_robot.rb, test/tc_template.rb: unit tests updated, functional test now works with focuses 2006-11-27 08:28 angdraug * bin/samizdat-create-database, doc/man/samizdat-create-database.1, doc/man/samizdat-drb-server.1, doc/man/update-indymedia-cities.1: written minimal manpages for samizdat-drb-server, samizdat-create-database, and update-indymedia-cities, print usage updated for samizdat-create-database 2006-11-26 15:46 angdraug * bin/cities.rb, bin/update-indymedia-cities, cgi-bin/query.rb, data/samizdat/defaults.yaml, lib/samizdat/storage.rb, po/fr.po, po/pl.po: login timeout increased to 4 hours; cities.rb renamed to update-indymedia-cities; fixed query UI bug with unsubstituted literals 2006-11-16 04:02 angdraug * TODO, bin/cities.rb, cgi-bin/history.rb, cgi-bin/index.rb, cgi-bin/query.rb, cgi-bin/resource.rb, doc/translations.txt, lib/samizdat/engine/template.rb, po/be.po, po/ru.po: fixed ampersand in URLs again, added cities.rb utility script, instructions on translations added, Belarusian and Russian translations updated 2006-11-14 23:49 angdraug * TODO, doc/install.txt: documentation update 2006-10-29 10:58 angdraug * cgi-bin/index.rb, data/samizdat/defaults.yaml, data/samizdat/css/default.css, data/samizdat/css/indy.css, data/samizdat/css/savannah.css, data/samizdat/css/sky.css, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb: HTML diff, view source for Textile and HTML; PublishMessage cleanup; CGIEnvironment renamed to RequestSingleton and expanded to keep host and site name globals; limit:cache option removed 2006-10-24 00:33 angdraug * cgi-bin/index.rb: add uri_prefix to fragment cache key (atm relevant only for index.rb) 2006-10-23 21:03 angdraug * lib/samizdat/: sanitize.rb, engine/message.rb: fix for memory leak in Tidy.path=(), introduced Message.regenerate_html(id) to regenerate only one message 2006-10-08 14:31 angdraug * AUTHORS, cgi-bin/message.rb, data/samizdat/sites.yaml, lib/samizdat/engine.rb, lib/samizdat/engine/session.rb, po/fr.po: GetText and sites.yaml fixes by Boud, requires cleanup 2006-09-24 13:34 angdraug * AUTHORS, TODO, cgi-bin/index.rb, data/samizdat/config.yaml, data/samizdat/defaults.yaml, data/samizdat/sites.yaml, lib/samizdat/engine.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb, po/fr.po: deployment fixes (upload should now work everywhere), upload_enabled? moved to PublishMessage, SiteConfig#content_location introduced, documentation updated, default message size limit increased to 1M, French translation and version-independent GetText wrapper (thanks Boud) 2006-09-20 21:24 angdraug * README, bin/samizdat-create-database, cgi-bin/login.rb, cgi-bin/member.rb, data/samizdat/config.yaml, data/samizdat/defaults.yaml, doc/install.txt, doc/examples/apache.conf, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/session.rb, test/tc_robot.rb, test/tc_template.rb, test/util.rb: deployment cleanup: shorter default login timouts for tighter security, SiteConfig#email_enabled? and #upload_enabled? checks, restored support for single-directory installation, updated documentation and unit tests 2006-09-16 21:19 angdraug * doc/examples/apache.conf: move cgi-bin scripts to Debian policy compliant location under /usr/share 2006-09-16 18:45 angdraug * bin/samizdat-create-database, data/samizdat/database/create-pgsql.sql, data/samizdat/database/create-sqlite3.sql, data/samizdat/database/create.sql, data/samizdat/database/grant-pgsql.sql, data/samizdat/database/triggers-pgsql.sql, data/samizdat/database/triggers-sqlite3.sql, data/samizdat/database/triggers.sql, lib/samizdat/engine.rb, lib/samizdat/storage.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/session.rb, test/tc_robot.rb: database generation script; experimental SQLite3 support 2006-09-14 12:26 angdraug * data/samizdat/xhtml.yaml, lib/samizdat/engine.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/session.rb: now works with new libgettext-ruby; cross-site images in xhtml.yaml (replace path with uri to unblock); add environment variables allowing to access Samiz dat classes from command line 2006-09-13 01:35 angdraug * bin/samizdat-site, bin/samizdat-webrick-server, cgi-bin/index.rb, data/samizdat/config.yaml, data/samizdat/defaults.yaml, data/samizdat/rdf.yaml, data/samizdat/sites.yaml, data/samizdat/xhtml.yaml, data/samizdat/css/sky.css, doc/examples/apache.conf, lib/samizdat/engine.rb, lib/samizdat/engine/deployment.rb, lib/samizdat/engine/exceptions.rb, lib/samizdat/engine/helpers.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb, po/eo.po, test/tc_robot.rb, test/tc_storage.rb, test/tc_template.rb: deployment refactored: get configuration from /etc/samizdat/* instead of environment variables; common options loaded from shared config file; FastCGI now works correctly with multi-site setups; configs now allow to use method names instead of hash keys; universal example of Apache site config provided; first attempt to update for new libgettext-ruby; Esperanto translation updated; unit and functional tests updated; new theme from Indymedia Ukraine 2006-04-17 12:54 angdraug * cgi-bin/index.rb, lib/samizdat/cache.rb, lib/samizdat/engine.rb, lib/samizdat/engine/message.rb, po/be.po, po/eo.po, po/pl.po, po/ru.po, po/ua.po: fixed cross-site config cache corruption, selective flush implemented, only cache of the current site is flushed on updates, added 'All Replies' to Links section on the front page, updated translations 2006-04-16 11:14 angdraug * bin/samizdat-drb-server, lib/samizdat/cache.rb, lib/samizdat/engine.rb, lib/samizdat/storage.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb: many improvements in code safety and security: synchronized Cache, $SAFE = 1 in samizdat-drb-server, more HTML escaping; fixed RSS/DRbUnknown bug by rearranging requires 2006-04-09 19:02 angdraug * cgi-bin/resource.rb: fixed: previous uriref focus fix broke normal focuses 2006-04-07 10:01 angdraug * cgi-bin/resource.rb, doc/install.txt, lib/samizdat/engine/focus.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/template.rb: fixed NULL new message language bug; fixed virtual uriref focus again; stricter focus uriref validation; links update from Kirill Shutemov 2006-02-28 15:36 angdraug * cgi-bin/index.rb, cgi-bin/resource.rb, lib/samizdat/engine/focus.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb, po/be.po, po/eo.po, po/pl.po, po/ru.po, po/ua.po: butchered the l10n in the code to work with rgettext, updated and cleaned up all translations with rgettext, updated Belarusian and Russian translations 2006-02-21 17:40 angdraug * cgi-bin/resource.rb: fixed brown paper bug with 'add new focus' menu 2006-02-21 15:55 angdraug * .cvsignore: unmess changelog 2006-02-21 15:46 angdraug * TODO, cgi-bin/foci.rb, cgi-bin/history.rb, cgi-bin/index.rb, cgi-bin/member.rb, cgi-bin/message.rb, cgi-bin/pingback.rb, cgi-bin/query.rb, cgi-bin/resource.rb, data/samizdat/config.yaml, doc/install.txt, lib/samizdat/engine.rb, lib/samizdat/sanitize.rb, lib/samizdat/storage.rb, lib/samizdat/engine/focus.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/template.rb, test/tc_robot.rb, test/tc_template.rb: new focus management interface, massive RDF update (parametrized queries, RDF#assert returns ids of new resources and should be wrapped inside transaction, PRESET NS is optional), better input validation (thanks Alster), Pingback support removed, intuitive page titles, modularized moderation logging, restored replies to focuses until Translations are done via dct:isPartOf 2006-02-21 11:43 angdraug * .cvsignore, doc/install.txt: typo in install.txt, directory structure housekeeping 2006-01-17 12:23 angdraug * lib/samizdat/sanitize.rb: make previous Sanitize fix compatible with older REXML versions 2006-01-17 11:53 angdraug * data/samizdat/xhtml.yaml, lib/samizdat/sanitize.rb, lib/samizdat/engine/template.rb: 3 XSS vulnerabilities fixed: regexp, non-whitelisted tag removal, HTML-escaping message title 2006-01-11 11:51 mend0za * .cvsignore: add tags file 2006-01-09 02:01 mend0za * doc/install.txt: Add hint for missing SetEnv directive 2006-01-09 01:39 mend0za * .cvsignore: move sample installation in single place 2006-01-09 00:59 mend0za * .cvsignore: add some ignored files for apache tuning over CVS working directory 2005-12-19 14:03 angdraug * cgi-bin/index.rb, data/samizdat/css/default.css, data/samizdat/css/indy.css, data/samizdat/css/savannah.css, doc/install.txt, lib/samizdat/engine/message.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/template.rb, po/be.po, po/pl.po, po/ru.po: set language and format in edit form from previous message version; place buttons after comments, don't offer to post replies to focuses; count only positively rated relations in Message#nreplies; moderation log link on the front page; Polish translation updated; installation manual updated 2005-12-02 15:28 angdraug * po/pl.po: typo in Polish translation 2005-12-02 11:14 angdraug * AUTHORS, data/samizdat/config.yaml, po/pl.po: Polish translation added 2005-11-10 19:32 angdraug * lib/samizdat/sanitize.rb, lib/samizdat/engine/focus.rb, test/tc_robot.rb, test/tc_storage.rb, test/tc_template.rb, test/tc_version.rb, test/util.rb: updated unit tests 2005-11-10 19:28 angdraug * cgi-bin/index.rb, cgi-bin/query.rb, cgi-bin/resource.rb, lib/samizdat/engine/resource.rb: RSS feed of RDF query results implemented; show just messages when paginating replies, latest messages or query results 2005-11-10 19:26 angdraug * lib/samizdat/cache.rb, test/tc_cache.rb, test/ts_samizdat.rb: better fix for Cache issues; unit test for Cache added 2005-11-10 19:24 angdraug * lib/samizdat/engine/template.rb: updated links to GPL and to Samizdat engine site in page footer; replaced absolute xhtml path in Template.format_inline_content with a lookup 2005-11-10 19:22 angdraug * po/: be.po, ru.po, ua.po: Belarusian, Russian, Ukrainian translations updated 2005-11-10 19:18 angdraug * AUTHORS, README, doc/design-goals.txt, doc/install.txt: minor documentation update 2005-10-27 18:38 angdraug * COPYING: FSF address is changed in GPL 2005-10-27 18:21 angdraug * AUTHORS, NEWS, README, TODO, config.yaml, foci.rb, history.rb, index.rb, item.rb, login.rb, logout.rb, member.rb, message.rb, moderation.rb, pingback.rb, query.rb, resource.rb, samizdat.rb, setup.rb, xhtml.yaml, bin/samizdat-drb-server, bin/samizdat-site, bin/samizdat-webrick-server, cgi-bin/foci.rb, cgi-bin/history.rb, cgi-bin/index.rb, cgi-bin/item.rb, cgi-bin/login.rb, cgi-bin/logout.rb, cgi-bin/member.rb, cgi-bin/message.rb, cgi-bin/moderation.rb, cgi-bin/pingback.rb, cgi-bin/query.rb, cgi-bin/resource.rb, data/samizdat/config.yaml, data/samizdat/xhtml.yaml, data/samizdat/css/common.css, data/samizdat/css/default.css, data/samizdat/css/indy.css, data/samizdat/css/savannah.css, data/samizdat/database/create.sql, data/samizdat/database/triggers.sql, data/samizdat/rdf/focus.n3, data/samizdat/rdf/items.n3, data/samizdat/rdf/schema.n3, doc/about.txt, doc/concepts.txt, doc/design-goals.txt, doc/install.txt, doc/notes.txt, lib/samizdat/cache.rb, lib/samizdat/engine.rb, lib/samizdat/sanitize.rb, lib/samizdat/storage.rb, lib/samizdat/engine/focus.rb, lib/samizdat/engine/message.rb, lib/samizdat/engine/resource.rb, lib/samizdat/engine/session.rb, lib/samizdat/engine/template.rb, po/be.po, po/eo.po, po/ru.po, po/ua.po: update from 5-month long development in private Monotone tree. source code restructured for Minero Aoki's setup.rb, Cache, Sanitize, and Storage are separated from core engine modules, samizdat-drb-server added to the tree; hidden messages are implemented; CSS validation is implemented; major documentation update, added verbose comments to config.yaml (cookie_prefix option moved to site section along the way); Ukrainian translation added, other translations updated; minor fixes: Cache entry deletion fixed, NOT in RDF literal expressions fixed, removed from RedCloth markup, flush cache when member full name is changed, Sanitized updated for Ruby Tidy 1.1.x, several RSS improvements, html_short cache corruption fixed 2005-05-23 13:32 angdraug * po/: be.po, eo.po, ru.po: fixed s:openForAll and added url parsing to reparent 2005-05-23 09:51 angdraug * config.yaml, index.rb, pingback.rb, query.rb, resource.rb, samizdat.rb, doc/install.txt: multi-site configuration fixes: SAMIZDAT_CONFIG replaced with SAMIZDAT_BASE, full path to xhtml.yaml is used, honor HTTP_X_FORWARDED_HOST when set, cleared out cross-site singletons and globals, optional dRuby cross-process cache; Cache, Sanitize, and Storage moved to Samizdat namespace and untied from Samizdat core; minor fixes and improvements 2005-05-16 10:06 angdraug * config.yaml, history.rb, index.rb, member.rb, message.rb, moderation.rb, resource.rb, samizdat.rb, doc/install.txt, po/be.po, po/eo.po, po/ru.po, test/tc_robot.rb, test/tc_template.rb: message handling severely re-organized; database cache of sanitized html rendition of inline messages is implemented; message reparent implemented; moved language selection to the front page; moderation log rendering implemented; static header and footer are now translateable; new SamizdatRDF#get_property method; Pingback disabled by default; many rendering fixes and code clean-ups 2005-05-05 14:35 angdraug * xhtml.yaml: add rss link to html head where applicable 2005-05-05 14:35 angdraug * message.rb: structured message publishing into Message class in message.rb 2005-04-28 14:54 angdraug * po/eo.po: Esperanto translation update from Antono Vasiljev 2005-04-28 14:54 angdraug * config.yaml: add .torrent to supported formats 2005-04-28 14:53 angdraug * message.rb: message parameter validation is refactored into methods; migrated from ftools to FileUtils in upload handling 2005-04-28 14:52 angdraug * test/tc_template.rb: updated unit test for new