package.xml0000644000175000007640000011706412235777226013215 0ustar slusarzslusarz Horde_Perms pear.horde.org Perms Horde Permissions System The Perms package provides an interface to the Horde permissions system. Chuck Hagenbuch chuck chuck@horde.org yes Jan Schneider jan jan@horde.org yes 2013-11-04 2.1.2 2.1.0 stable stable LGPL-2.1 * [mms] Need to expire SQL cache for all sub-permissions when deleting a parent permission. 5.3.0 1.7.0 Horde_Db pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Exception pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Group pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Util pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Translation pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Test pear.horde.org 2.1.0 3.0.0alpha1 3.0.0alpha1 Horde_Tree pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 0.0.1 0.0.1 alpha alpha 2003-07-05 LGPL-2.1 Initial release as a PEAR package 0.0.2 0.0.2 alpha alpha 2006-05-08 LGPL-2.1 Converted to package.xml 2.0 for pear.horde.org 0.1.0 0.1.0 beta beta 2008-08-20 LGPL-2.1 * Cache permissions with Horde_Cache (duck@obala.net). * Fixed special permissions with more than one user or group (Bug #2058). * Added a getParent() call instead of accessing the _datatree member directly. (duck@obala.net, Request #6150). * Added beta SQL Permissions driver (duck@obala.net, Request #6150). * Automatically expand the node of the currently open permission. * Only show Add Permission icons if there are sub-permissions to add. * Make sure Horde_Array is available. * Handle and display errors if they occur in the Perms backend. 0.2.0 0.2.0 beta beta 2011-02-04 LGPL-2.1 * Eliminated horde/Core dependency. * Initial Horde 4 package. 1.0.0alpha1 1.0.0 alpha alpha 2011-03-08 LGPL-2.1 * First alpha release for Horde 4. 1.0.0beta1 1.0.0 beta beta 2011-03-16 LGPL-2.1 * Remove Horde-specific functionality. * Restructure class layout. 1.0.0RC1 1.0.0 beta beta 2011-03-22 LGPL-2.1 * First release candidate for Horde 4. 1.0.0RC2 1.0.0 beta beta 2011-03-29 LGPL-2.1 * Second release candidate for Horde 4. 1.0.0 1.0.0 stable stable 2011-04-06 LGPL-2.1 * First stable release for Horde 4. 1.0.1 1.0.0 stable stable 2011-05-18 LGPL-2.1 * [jan] Fix setting cache in DataTree driver. 1.0.2 1.0.0 stable stable 2011-07-27 LGPL-2.1 * [jan] Update Latvian translation. 1.0.3 1.0.0 stable stable 2011-07-29 LGPL-2.1 * [jan] Correctly aggregate all non-guest permissions. 1.0.4 1.0.0 stable stable 2011-09-20 LGPL-2.1 * [gwr] Accept either d or t IMAP ACL as deletion right. 1.0.5 1.0.0 stable stable 2011-11-02 LGPL-2.1 * [jan] Don't allow to create sub permissions of non-existant parent permissions (Bug #10688). 1.0.6 1.0.0 stable stable 2011-12-06 LGPL-2.1 * [jan] Update Japanese translation (Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>). 1.0.7 1.0.0 stable stable 2012-04-10 LGPL-2.1 * [jan] Update translations. 1.0.8 1.0.0 stable stable 2012-04-10 LGPL-2.1 * 2012-07-05 2.0.0alpha1 1.0.0 alpha stable LGPL-2.1 * First alpha release for Horde 5. * [jan] Use new Horde_Tree API. 2.0.0beta1 1.0.0 beta stable 2012-07-19 LGPL-2.1 * First beta release for Horde 5. * [jan] Remove DataTree driver. 2.0.0beta2 1.0.0 beta stable 2012-07-21 LGPL-2.1 * [jan] Remove optional dependency on Horde_DataTree. 2.0.0RC1 1.0.0 beta stable 2012-10-26 LGPL-2.1 * [mms] Don't log permission not exists errors. 2.0.0 1.0.0 stable stable 2012-10-30 LGPL-2.1 * First stable release for Horde 5. 2.0.1 1.0.0 stable stable 2012-11-06 LGPL-2.1 * [jan] Update Dutch translation (Arjen de Korte <build+horde@de-korte.org>). 2.0.2 1.0.0 stable stable 2013-01-09 LGPL-2.1 * [jan] Update Basque translation (Ibon Igartua <ibon.igartua@ehu.es>). * [jan] Remove creator permission mapping from Kolab backend (Bug #11713). 2.0.3 1.0.0 stable stable 2013-01-29 LGPL-2.1 * [jan] Update French translation (Paul De Vlieger <paul.de_vlieger@moniut.univ-bpclermont.fr>). 2.1.0 2.1.0 stable stable 2013-03-05 LGPL-2.1 * [jan] Add Horde_Perms_Permission_Kolab#getOwnerPermissions(). 2.1.1 2.1.0 stable stable 2013-08-27 LGPL-2.1 * [jan] Fix unserialization notices in SQL driver. 2.1.2 2.1.0 stable stable 2013-11-04 LGPL-2.1 * [mms] Need to expire SQL cache for all sub-permissions when deleting a parent permission. Horde_Perms-2.1.2/doc/Horde/Perms/COPYING0000644000175000007640000005764612235777226017705 0ustar slusarzslusarz GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser 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 Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Acl/Anonymous.php0000644000175000007640000000212012235777226025204 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Kolab_Storage anonymous ACL element to the Horde permission * system. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_Acl_Anonymous extends Horde_Perms_Permission_Kolab_Acl { /** * Converts the ACL string to a Horde_Perms mask and stores it in the * provided data array. * * @param array &$data The horde permission data. */ public function toHorde(array &$data) { $data['guest'] = $this->convertAclToMask(); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Acl/Anyone.php0000644000175000007640000000212012235777226024445 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Kolab_Storage known user ACL element to the Horde permission * system. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_Acl_Anyone extends Horde_Perms_Permission_Kolab_Acl { /** * Converts the ACL string to a Horde_Perms mask and stores it in the * provided data array. * * @param array &$data The horde permission data. */ public function toHorde(array &$data) { $data['default'] = $this->convertAclToMask(); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Acl/Group.php0000644000175000007640000000267412235777226024326 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Kolab_Storage group ACL element to the Horde permission system. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_Acl_Group extends Horde_Perms_Permission_Kolab_Acl { /** * The group id. * * @var string */ protected $_id; /** * Constructor. * * @param string $acl The folder ACL element as provided by the driver. * @param string $id The group id. */ public function __construct($acl, $id) { $this->_id = $id; parent::__construct($acl); } /** * Converts the ACL string to a Horde_Perms mask and stores it in the * provided data array. * * @param array &$data The horde permission data. */ public function toHorde(array &$data) { $data['groups'][$this->_id] = $this->convertAclToMask(); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Acl/User.php0000644000175000007640000000266712235777226024152 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Kolab_Storage user ACL element to the Horde permission system. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_Acl_User extends Horde_Perms_Permission_Kolab_Acl { /** * The user id. * * @var string */ protected $_id; /** * Constructor. * * @param string $acl The folder ACL element as provided by the driver. * @param string $id The user id. */ public function __construct($acl, $id) { $this->_id = $id; parent::__construct($acl); } /** * Converts the ACL string to a Horde_Perms mask and stores it in the * provided data array. * * @param array &$data The horde permission data. */ public function toHorde(array &$data) { $data['users'][$this->_id] = $this->convertAclToMask(); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Element/Default.php0000644000175000007640000000231712235777226025502 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Horde default permission element to a Kolab_Storage ACL. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_Element_Default extends Horde_Perms_Permission_Kolab_Element { /** * Get the Kolab_Storage ACL id for this permission. * * @return string The ACL string. */ public function getId() { return 'anyone'; } /** * Unset the element in the provided permission array. * * @param array &$current The current permission array. */ public function unsetInCurrent(&$current) { unset($current['default']); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Element/Group.php0000644000175000007640000000364212235777226025214 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Horde group permission element to a Kolab_Storage ACL. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_Element_Group extends Horde_Perms_Permission_Kolab_Element { /** * The Horde group id. * * @var string */ protected $_horde_id; /** * The Kolab group id. * * @var string */ protected $_kolab_id; /** * Constructor. * * @param integer $permission The folder permission as provided by * Horde. * @param string $id The group id. * @param Horde_Group_Base $groups The horde group handler. */ public function __construct($permission, $id, Horde_Group_Base $groups) { $this->_horde_id = $id; $this->_kolab_id = 'group:' . $groups->getName($id); parent::__construct($permission); } /** * Get the Kolab_Storage ACL id for this permission. * * @return string The ACL string. */ public function getId() { return $this->_kolab_id; } /** * Unset the element in the provided permission array. * * @param array &$current The current permission array. */ public function unsetInCurrent(&$current) { unset($current['groups'][$this->_horde_id]); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Element/Guest.php0000644000175000007640000000231412235777226025202 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Horde guest permission element to a Kolab_Storage ACL. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_Element_Guest extends Horde_Perms_Permission_Kolab_Element { /** * Get the Kolab_Storage ACL id for this permission. * * @return string The ACL string. */ public function getId() { return 'anonymous'; } /** * Unset the element in the provided permission array. * * @param array &$current The current permission array. */ public function unsetInCurrent(&$current) { unset($current['guest']); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Element/User.php0000644000175000007640000000312612235777226025033 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Horde user permission element to a Kolab_Storage ACL. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_Element_User extends Horde_Perms_Permission_Kolab_Element { /** * The group id. * * @var string */ protected $_id; /** * Constructor. * * @param int $permission The folder permission as provided by Horde. * @param string $id The user id. */ public function __construct($permission, $id) { $this->_id = $id; parent::__construct($permission); } /** * Get the Kolab_Storage ACL id for this permission. * * @return string The ACL string. */ public function getId() { return $this->_id; } /** * Unset the element in the provided permission array. * * @param array &$current The current permission array. */ public function unsetInCurrent(&$current) { unset($current['users'][$this->getId()]); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Acl.php0000644000175000007640000000403112235777226023217 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Kolab_Storage ACL element to the Horde permission system. * * Copyright 2006-2013 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL). If you * did not receive this file, see http://www.horde.org/licenses/lgpl21. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ abstract class Horde_Perms_Permission_Kolab_Acl { /** * The ACL. * * @var string */ private $_acl; /** * Constructor. * * @param string $acl The folder ACL element as provided by the driver. */ public function __construct($acl) { $this->_acl = $acl; } /** * Convert the Acl string to a Horde_Perms:: mask and store it in the * provided data array. * * @param array &$data The horde permission data. * * @return NULL */ abstract public function toHorde(array &$data); /** * Convert the Acl string to a Horde_Perms:: mask. * * @return int The permission mask */ protected function convertAclToMask() { $result = 0; if (strpos($this->_acl, 'l') !== false) { $result |= Horde_Perms::SHOW; } if (strpos($this->_acl, 'r') !== false) { $result |= Horde_Perms::READ; } if (strpos($this->_acl, 'i') !== false) { $result |= Horde_Perms::EDIT; } if (strpos($this->_acl, 'd') !== false || strpos($this->_acl, 't') !== false) { $result |= Horde_Perms::DELETE; } return $result; } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/AclIterator.php0000644000175000007640000000336512235777226024742 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps Kolab_Storage ACL to the Horde permission system. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_AclIterator implements IteratorAggregate { /** * The ACL elements. * * @var array */ protected $_acl = array(); /** * Constructor. * * @param array $acl The folder ACL as provided by the driver. */ public function __construct(array $acl) { foreach ($acl as $user => $rights) { if (substr($user, 0, 6) == 'group:') { $this->_acl[] = new Horde_Perms_Permission_Kolab_Acl_Group( $rights, substr($user, 6) ); } elseif ($user == 'anyone' || $user == 'anonymous'){ $class = 'Horde_Perms_Permission_Kolab_Acl_' . ucfirst($user); $this->_acl[] = new $class( $rights ); } else { $this->_acl[] = new Horde_Perms_Permission_Kolab_Acl_User( $rights, $user ); } } } public function getIterator() { return new ArrayIterator($this->_acl); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Element.php0000644000175000007640000000424212235777226024115 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps a single Horde permission element to a Kolab_Storage ACL. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ abstract class Horde_Perms_Permission_Kolab_Element { /** * The permission. * * @var int */ protected $_permission; /** * Constructor. * * @param int $permission The folder permission as provided by Horde. */ public function __construct($permission) { $this->_permission = $permission; } /** * Convert the Horde_Perms:: mask to a Acl string. * * @return string The ACL string. */ public function fromHorde() { return $this->convertMaskToAcl(); } /** * Get the Kolab_Storage ACL id for this permission. * * @return string The ACL string. */ abstract public function getId(); /** * Unset the element in the provided permission array. * * @param array &$current The current permission array. */ abstract public function unsetInCurrent(&$current); /** * Convert the a Horde_Perms:: mask to a Acl string. * * @return string The ACL */ protected function convertMaskToAcl() { $result = ''; if ($this->_permission & Horde_Perms::SHOW) { $result .= 'l'; } if ($this->_permission & Horde_Perms::READ) { $result .= 'r'; } if ($this->_permission & Horde_Perms::EDIT) { $result .= 'iswc'; } if ($this->_permission & Horde_Perms::DELETE) { $result .= 'd'; } return $result; } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/ElementIterator.php0000644000175000007640000000451412235777226025631 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps Horde permission elements into Kolab_Storage ACL. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab_ElementIterator implements IteratorAggregate { /** * The Horde permission elements. * * @var array */ protected $_elements = array(); /** * Constructor. * * @param array $permissions The folder permissions as provided by * Horde. * @param Horde_Group_Base $groups The group handler. */ public function __construct(array $permissions, Horde_Group_Base $groups) { foreach ($permissions as $user => $user_perms) { switch ($user) { case 'default': $this->_elements[] = new Horde_Perms_Permission_Kolab_Element_Default( $user_perms ); break; case 'guest': $this->_elements[] = new Horde_Perms_Permission_Kolab_Element_Guest( $user_perms ); break; case 'groups': foreach ($user_perms as $user_entry => $perms) { $this->_elements[] = new Horde_Perms_Permission_Kolab_Element_Group( $perms, $user_entry, $groups ); } break; case 'users': foreach ($user_perms as $user_entry => $perms) { $this->_elements[] = new Horde_Perms_Permission_Kolab_Element_User( $perms, $user_entry ); } break; } } } public function getIterator() { return new ArrayIterator($this->_elements); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab/Storage.php0000644000175000007640000000317512235777226024134 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Defines a Kolab storage object that supports permission handling. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ interface Horde_Perms_Permission_Kolab_Storage { /** * Return the ID of this storage object. * * @return string The ID. */ public function getPermissionId(); /** * Return the owner of this storage object. * * @return string The owner. */ public function getOwner(); /** * Retrieve the Kolab specific access rights for this storage object. * * @return An array of rights. */ public function getAcl(); /** * Set the Kolab specific access rights for this storage object. * * @param string $user The user to set the ACL for. * @param string $acl The ACL. * * @return NULL */ public function setAcl($user, $acl); /** * Delete Kolab specific access rights for this storage object. * * @param string $user The user to delete the ACL for * * @return NULL */ public function deleteAcl($user); }Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Kolab.php0000644000175000007640000001115612235777226022526 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Maps folder permissions into the Horde_Permission system. * * @category Horde * @package Perms * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_Permission_Kolab extends Horde_Perms_Permission { /** * Kolab ACL speak for all permissions on a shared object. */ const ALL = 'lrid'; /** * The Kolab Folder these permissions belong to. * * @var Horde_Perms_Permission_Kolab_Storage */ protected $_storage; /** * The group handler. * * @var Horde_Group_Base */ protected $_groups; /** * A cache for the folder acl settings. The cache holds the permissions * in horde compatible format, not in the IMAP permission format. * * @var string */ public $data; /** * Constructor. * * @param Horde_Perms_Permission_Kolab_Storage $storage The storage object * represented by this * permission instance. * * @param Horde_Group_Base $groups The group handler. */ public function __construct(Horde_Perms_Permission_Kolab_Storage $storage, Horde_Group_Base $groups) { parent::__construct(__CLASS__ . '::' . $storage->getPermissionId()); $this->_storage = $storage; $this->_groups = $groups; $this->data = $this->getCurrentPermissions(); } /** * Returns the permissions of the owner on this object. * * @since Horde_Perms 2.1.0 * * @return integer All owner permissions for this object. */ public function getOwnerPermissions() { $users = parent::getUserPermissions(); return $users[$this->_storage->getOwner()]; } /** * Returns an array of all user permissions on this object. * * @param integer $perm List only users with this permission level. * Defaults to all users. * * @return array All user permissions for this object, indexed by user. */ public function getUserPermissions($perm = null) { $users = parent::getUserPermissions($perm); unset($users[$this->_storage->getOwner()]); return $users; } /** * Returns the current permission of the folder and stores the values in * the cache. */ public function getCurrentPermissions() { $data = array(); /* @todo: Can we lazy load $this->data so that we restrict to using * MYRIGHTS only when that is all we need and use the full GETACL just * when required. */ $acl = new Horde_Perms_Permission_Kolab_AclIterator( $this->_storage->getAcl() ); foreach ($acl as $element) { $element->toHorde($data); } $data['type'] = 'matrix'; return $data; } /** * Saves the current permission values from the cache to the IMAP folder. */ public function save() { /* @todo: If somebody else accessed the folder before us, we will * overwrite the change here. */ $current = $this->getCurrentPermissions(); $owner = $this->_storage->getOwner(); $elements = new Horde_Perms_Permission_Kolab_ElementIterator( $this->data, $this->_groups ); foreach ($elements as $element) { if ($owner == $element->getId()) { continue; } $this->_storage->setAcl($element->getId(), $element->fromHorde()); $element->unsetInCurrent($current); } // Delete ACLs that have been removed $elements = new Horde_Perms_Permission_Kolab_ElementIterator( $current, $this->_groups ); foreach ($elements as $element) { if ($owner == $element->getId()) { continue; } $this->_storage->deleteAcl($element->getId()); } // Load the permission from the folder again $this->data = $this->getCurrentPermissions(); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission/Sql.php0000644000175000007640000000507612235777226022241 0ustar slusarzslusarz * @category Horde * @package Perms */ class Horde_Perms_Permission_Sql extends Horde_Perms_Permission { /** * The string permission id. * * @var string */ protected $_id; /** * Cache object. * * @var Horde_Cache */ protected $_cache; /** * Database handle for saving changes. * * @var Horde_Db_Adapter */ protected $_db; /** * Tasks to run on serialize(). * * @return array Parameters that are stored. */ public function __sleep() { return array_diff(array_keys(get_class_vars(__CLASS__)), array('_cache', '_db')); } /** * Sets the helper functions within the object. * * @param Horde_Cache $cache The cache object. * @param Horde_Db_Adapter $db The database object. */ public function setObs(Horde_Cache $cache, Horde_Db_Adapter $db) { $this->_cache = $cache; $this->_db = $db; } /** * Get permission ID. * * @return TODO */ public function getId() { return $this->_id; } /** * Set permission id. * * @param string $id Permission ID. */ public function setId($id) { $this->_id = $id; } /** * Saves any changes to this object to the backend permanently. New * objects are added instead. * * @throws Horde_Perms_Exception */ public function save() { if (!isset($this->_db)) { throw new Horde_Perms_Exception('Cannot save because the DB instances has not been set in this object.'); } $name = $this->getName(); if (empty($name)) { throw new Horde_Perms_Exception('Permission names must be non-empty'); } $query = 'UPDATE horde_perms SET perm_data = ? WHERE perm_id = ?'; $params = array(serialize($this->data), $this->getId()); try { $this->_db->update($query, $params); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } $this->_cache->expire('perm_sql_' . $this->_cacheVersion . $name); $this->_cache->expire('perm_sql_exists_' . $this->_cacheVersion . $name); } } Horde_Perms-2.1.2/lib/Horde/Perms/Base.php0000644000175000007640000002131512235777226020216 0ustar slusarzslusarz * @author Jan Schneider * @category Horde * @package Perms */ abstract class Horde_Perms_Base { /** * Cache object. * * @var Horde_Cache */ protected $_cache; /** * Logger. * * @var Horde_Log_Logger */ protected $_logger; /** * Constructor. * * @param array $params Configuration parameters: *
     * 'cache' - (Horde_Cache) The object to use to cache perms.
     * 'logger' - (Horde_Log_Logger) A logger object.
     * 
* * @throws Horde_Perms_Exception */ public function __construct($params = array()) { if (isset($params['cache'])) { $this->_cache = $params['cache']; } if (isset($params['logger'])) { $this->_logger = $params['logger']; } } /** * Returns the short name of an object, the last portion of the full name. * * @param string $name The name of the object. * * @return string The object's short name. */ public function getShortName($name) { /* If there are several components to the name, explode and * get the last one, otherwise just return the name. */ if (strpos($name, ':') !== false) { $tmp = explode(':', $name); return array_pop($tmp); } return $name; } /** * Returns a new permissions object. * * @param string $name The permission's name. * @param string $type The permission type. * @param array $params The permission parameters. * * @return Horde_Perms_Permission A new permissions object. * @throws Horde_Perms_Exception */ abstract public function newPermission($name, $type = 'matrix', $params = null); /** * Returns an object corresponding to the named permission, with the users * and other data retrieved appropriately. * * @param string $name The name of the permission to retrieve. * * @return Horde_Perms_Permission A permissions object. * @throws Horde_Perms_Exception */ abstract public function getPermission($name); /** * Returns an object corresponding to the given unique ID, with the users * and other data retrieved appropriately. * * @param integer $cid The unique ID of the permission to retrieve. * * @return Horde_Perms_Permission A permissions object. * @throws Horde_Perms_Exception */ abstract public function getPermissionById($cid); /** * Adds a permission to the permissions system. The permission must first * be created with newPermission(), and have any initial users added to * it, before this function is called. * * @param Horde_Perms_Permission $perm The permissions object. * * @throws Horde_Perms_Exception */ abstract public function addPermission(Horde_Perms_Permission $perm); /** * Removes a permission from the permissions system permanently. * * @param Horde_Perms_Permission $perm The permission to remove. * @param boolean $force Force to remove every child. * * @throws Horde_Perms_Exception */ abstract public function removePermission(Horde_Perms_Permission $perm, $force = false); /** * Finds out what rights the given user has to this object. * * @param mixed $permission The full permission name of the object to * check the permissions of, or the * Horde_Permissions object. * @param string $user The user to check for. * @param string $creator The user who created the event. * * @return mixed A bitmask of permissions the user has, false if there * are none. */ public function getPermissions($permission, $user, $creator = null) { if (is_string($permission)) { try { $permission = $this->getPermission($permission); } catch (Horde_Perms_Exception $e) { /* Ignore not exists errors. */ if ($this->_logger && ($e->getCode() != Horde_Perms_Exception::NOT_EXIST)) { $this->_logger->log($e, 'DEBUG'); } return false; } } // If this is a guest user, only check guest permissions. if (empty($user)) { return $permission->getGuestPermissions(); } // Combine all other applicable permissions. $type = $permission->get('type'); $composite_perm = ($type == 'matrix') ? 0 : array(); // If $creator was specified, check creator permissions. // If the user is the creator of the event see if there are creator // permissions. if (!is_null($creator) && strlen($user) && ($user === $creator) && (($perms = $permission->getCreatorPermissions()) !== null)) { if ($type == 'matrix') { $composite_perm |= $perms; } else { $composite_perm[] = $perms; } } // Check user-level permissions. $userperms = $permission->getUserPermissions(); if (isset($userperms[$user])) { if ($type == 'matrix') { $composite_perm |= $userperms[$user]; } else { $composite_perm[] = $userperms[$user]; } } // If no user permissions are found, try group permissions. if (isset($permission->data['groups']) && is_array($permission->data['groups']) && count($permission->data['groups'])) { $groups = $GLOBALS['injector'] ->getInstance('Horde_Group') ->listGroups($user); foreach ($permission->data['groups'] as $group => $perms) { if (isset($groups[$group])) { if ($type == 'matrix') { $composite_perm |= $perms; } else { $composite_perm[] = $perms; } } } } // If there are default permissions, return them. if (($perms = $permission->getDefaultPermissions()) !== null) { if ($type == 'matrix') { $composite_perm |= $perms; } else { $composite_perm[] = $perms; } } // Return composed permissions. if ($composite_perm) { return $composite_perm; } // Otherwise, deny all permissions to the object. return false; } /** * Returns the unique identifier of this permission. * * @param Horde_Perms_Permission $permission The permission object to get * the ID of. * * @return integer The unique id. * @throws Horde_Perms_Exception */ abstract public function getPermissionId($permission); /** * Finds out if the user has the specified rights to the given object. * * @param string $permission The permission to check. * @param string $user The user to check for. * @param integer $perm The permission level that needs to be checked * for. * @param string $creator The creator of the event * * @return boolean Whether the user has the specified permissions. */ public function hasPermission($permission, $user, $perm, $creator = null) { return (bool)($this->getPermissions($permission, $user, $creator) & $perm); } /** * Checks if a permission exists in the system. * * @param string $permission The permission to check. * * @return boolean True if the permission exists. */ abstract public function exists($permission); /** * Returns a list of parent permissions. * * @param string $child The name of the child to retrieve parents for. * * @return array A hash with all parents in a tree format. * @throws Horde_Perms_Exception */ abstract public function getParents($child); /** * Returns all permissions of the system in a tree format. * * @return array A hash with all permissions in a tree format. */ abstract public function getTree(); } Horde_Perms-2.1.2/lib/Horde/Perms/Exception.php0000644000175000007640000000070212235777226021277 0ustar slusarzslusarz * @category Horde * @package Perms */ class Horde_Perms_Exception extends Horde_Exception_Wrapped { const NOT_EXIST = 1; } Horde_Perms-2.1.2/lib/Horde/Perms/Null.php0000644000175000007640000000737512235777226020270 0ustar slusarzslusarz * @category Horde * @package Perms */ class Horde_Perms_Null extends Horde_Perms_Base { /** * Returns a new permissions object. * * @param string $name The permission's name. * @param string $type The permission type. * @param array $params The permission parameters. * * @return Horde_Perms_Permission A new permissions object. * @throws Horde_Perms_Exception */ public function newPermission($name, $type = 'matrix', $params = null) { throw new Horde_Perms_Exception(); } /** * Returns an object corresponding to the named permission, with the users * and other data retrieved appropriately. * * @param string $name The name of the permission to retrieve. * * @return Horde_Perms_Permission A permissions object. * @throws Horde_Perms_Exception */ public function getPermission($name) { throw new Horde_Perms_Exception(); } /** * Returns an object corresponding to the given unique ID, with the users * and other data retrieved appropriately. * * @param integer $cid The unique ID of the permission to retrieve. * * @return Horde_Perms_Permission A permissions object. * @throws Horde_Perms_Exception */ public function getPermissionById($cid) { throw new Horde_Perms_Exception(); } /** * Adds a permission to the permissions system. The permission must first * be created with newPermission(), and have any initial users added to * it, before this function is called. * * @param Horde_Perms_Permission $perm The permissions object. * * @throws Horde_Perms_Exception */ public function addPermission(Horde_Perms_Permission $perm) { throw new Horde_Perms_Exception(); } /** * Removes a permission from the permissions system permanently. * * @param Horde_Perms_Permission $perm The permission to remove. * @param boolean $force Force to remove every child. * * @throws Horde_Perms_Exception */ public function removePermission(Horde_Perms_Permission $perm, $force = false) { throw new Horde_Perms_Exception(); } /** * Returns the unique identifier of this permission. * * @param Horde_Perms_Permission $permission The permission object to get * the ID of. * * @return integer The unique id. * @throws Horde_Perms_Exception */ public function getPermissionId($permission) { throw new Horde_Perms_Exception(); } /** * Checks if a permission exists in the system. * * @param string $permission The permission to check. * * @return boolean True if the permission exists. */ public function exists($permission) { return false; } /** * Returns a list of parent permissions. * * @param string $child The name of the child to retrieve parents for. * * @return array A hash with all parents in a tree format. * @throws Horde_Perms_Exception */ public function getParents($child) { throw new Horde_Perms_Exception(); } /** * Returns all permissions of the system in a tree format. * * @return array A hash with all permissions in a tree format. */ public function getTree() { return array(); } } Horde_Perms-2.1.2/lib/Horde/Perms/Permission.php0000644000175000007640000004460112235777226021477 0ustar slusarzslusarz * @author Jan Schneider * @category Horde * @package Perms */ class Horde_Perms_Permission { /** * TODO */ public $data; /** * TODO */ public $name; /** * Incrementing version number if cached classes change. * * @var integer */ protected $_cacheVersion; /** * Constructor. * * @param string $name The name of the perm. * @param integer $cacheVersion The revision number of the class. * @param string $type The permission type. * @param array $params A hash with any parameters that the * permission type needs. */ public function __construct($name, $cacheVersion = null, $type = 'matrix', $params = null) { $this->setName($name); $this->setCacheVersion($cacheVersion); $this->data['type'] = $type; if (is_array($params)) { $this->data['params'] = $params; } } /** * Sets the revision number of the class. * * @param integer $cacheVersion The revision number of the class. */ public function setCacheVersion($cacheVersion) { $this->_cacheVersion = $cacheVersion; } /** * Gets one of the attributes of the object, or null if it isn't defined. * * @param string $attribute The attribute to get. * * @return mixed The value of the attribute, or null. */ public function get($attribute) { if (isset($this->data[$attribute])) { return $this->data[$attribute]; } return ($attribute == 'type') ? 'matrix' : null; } /** * Get permission name. * * @return string Permission name. */ public function getName() { return $this->name; } /** * Set permission name * * @param string $name Permission name. */ public function setName($name) { $this->name = $name; } /** * Get permission details. * * @return array Permission details. */ public function getData() { return $this->data; } /** * Set permission details. * * @param string $data Permission details. */ public function setData($data) { $this->data = $data; } /** * Updates the permissions based on data passed in the array. * * @param array $perms An array containing the permissions which are to * be updated. */ public function updatePermissions($perms) { $type = $this->get('type'); if ($type == 'matrix') { /* Array of permission types to iterate through. */ $perm_types = Horde_Perms::getPermsArray(); } foreach ($perms as $perm_class => $perm_values) { switch ($perm_class) { case 'default': case 'guest': case 'creator': if ($type == 'matrix') { foreach ($perm_types as $val => $label) { if (!empty($perm_values[$val])) { $this->setPerm($perm_class, $val, false); } else { $this->unsetPerm($perm_class, $val, false); } } } elseif (!empty($perm_values)) { $this->setPerm($perm_class, $perm_values, false); } else { $this->unsetPerm($perm_class, null, false); } break; case 'u': case 'g': $permId = array('class' => $perm_class == 'u' ? 'users' : 'groups'); /* Figure out what names that are stored in this permission * class have not been submitted for an update, ie. have been * removed entirely. */ $current_names = isset($this->data[$permId['class']]) ? array_keys($this->data[$permId['class']]) : array(); $updated_names = array_keys($perm_values); $removed_names = array_diff($current_names, $updated_names); /* Remove any names that have been completely unset. */ foreach ($removed_names as $name) { unset($this->data[$permId['class']][$name]); } /* If nothing to actually update finish with this case. */ if (is_null($perm_values)) { continue; } /* Loop through the names and update permissions for each. */ foreach ($perm_values as $name => $name_values) { $permId['name'] = $name; if ($type == 'matrix') { foreach ($perm_types as $val => $label) { if (!empty($name_values[$val])) { $this->setPerm($permId, $val, false); } else { $this->unsetPerm($permId, $val, false); } } } elseif (!empty($name_values)) { $this->setPerm($permId, $name_values, false); } else { $this->unsetPerm($permId, null, false); } } break; } } } /** * TODO */ public function setPerm($permId, $permission, $update = true) { if (is_array($permId)) { if (empty($permId['name'])) { return; } if ($this->get('type') == 'matrix' && isset($this->data[$permId['class']][$permId['name']])) { $this->data[$permId['class']][$permId['name']] |= $permission; } else { $this->data[$permId['class']][$permId['name']] = $permission; } } else { if ($this->get('type') == 'matrix' && isset($this->data[$permId])) { $this->data[$permId] |= $permission; } else { $this->data[$permId] = $permission; } } if ($update) { $this->save(); } } /** * TODO */ public function unsetPerm($permId, $permission, $update = true) { if (is_array($permId)) { if (empty($permId['name'])) { return; } if ($this->get('type') == 'matrix') { if (isset($this->data[$permId['class']][$permId['name']])) { $this->data[$permId['class']][$permId['name']] &= ~$permission; if (empty($this->data[$permId['class']][$permId['name']])) { unset($this->data[$permId['class']][$permId['name']]); } } else { $update = false; } } else { unset($this->data[$permId['class']][$permId['name']]); } } else { if ($this->get('type') == 'matrix') { if (isset($this->data[$permId])) { $this->data[$permId] &= ~$permission; } else { $update = false; } } else { unset($this->data[$permId]); } } if ($update) { $this->save(); } } /** * Grants a user additional permissions to this object. * * @param string $uer The user to grant additional permissions * to. * @param integer $permission The permission (DELETE, etc.) to add. * @param boolean $update Whether to automatically update the * backend. */ public function addUserPermission($user, $permission, $update = true) { if (empty($user)) { return; } if ($this->get('type') == 'matrix' && isset($this->data['users'][$user])) { $this->data['users'][$user] |= $permission; } else { $this->data['users'][$user] = $permission; } if ($update) { $this->save(); } } /** * Grants guests additional permissions to this object. * * @param integer $permission The permission (DELETE, etc.) to add. * @param boolean $update Whether to automatically update the * backend. */ public function addGuestPermission($permission, $update = true) { if ($this->get('type') == 'matrix' && isset($this->data['guest'])) { $this->data['guest'] |= $permission; } else { $this->data['guest'] = $permission; } if ($update) { $this->save(); } } /** * Grants creators additional permissions to this object. * * @param integer $permission The permission (DELETE, etc.) to add. * @param boolean $update Whether to automatically update the * backend. */ public function addCreatorPermission($permission, $update = true) { if ($this->get('type') == 'matrix' && isset($this->data['creator'])) { $this->data['creator'] |= $permission; } else { $this->data['creator'] = $permission; } if ($update) { $this->save(); } } /** * Grants additional default permissions to this object. * * @param integer $permission The permission (DELETE, etc.) to add. * @param boolean $update Whether to automatically update the * backend. */ public function addDefaultPermission($permission, $update = true) { if ($this->get('type') == 'matrix' && isset($this->data['default'])) { $this->data['default'] |= $permission; } else { $this->data['default'] = $permission; } if ($update) { $this->save(); } } /** * Grants a group additional permissions to this object. * * @param integer $groupId The id of the group to grant additional * permissions to. * @param integer $permission The permission (DELETE, etc.) to add. * @param boolean $update Whether to automatically update the * backend. */ public function addGroupPermission($groupId, $permission, $update = true) { if (empty($groupId)) { return; } if ($this->get('type') == 'matrix' && isset($this->data['groups'][$groupId])) { $this->data['groups'][$groupId] |= $permission; } else { $this->data['groups'][$groupId] = $permission; } if ($update) { $this->save(); } } /** * Removes a permission that a user currently has on this object. * * @param string $user The user to remove the permission from. * Defaults to all users. * @param integer $permission The permission (DELETE, etc.) to * remove. Defaults to all permissions. * @param boolean $update Whether to automatically update the * backend. */ public function removeUserPermission($user = null, $permission = null, $update = true) { if (is_null($user)) { $this->data['users'] = array(); } else { if (!isset($this->data['users'][$user])) { return; } if ($permission && $this->get('type') == 'matrix') { $this->data['users'][$user] &= ~$permission; if (empty($this->data['users'][$user])) { unset($this->data['users'][$user]); } } else { unset($this->data['users'][$user]); } } if ($update) { $this->save(); } } /** * Removes a permission that guests currently have on this object. * * @param integer $permission The permission (DELETE, etc.) to * remove. Defaults to all permissions. * @param boolean $update Whether to automatically update the * backend. */ public function removeGuestPermission($permission = null, $update = true) { if (!isset($this->data['guest'])) { return; } if ($permission && $this->get('type') == 'matrix') { $this->data['guest'] &= ~$permission; } else { unset($this->data['guest']); } if ($update) { $this->save(); } } /** * Removes a permission that creators currently have on this object. * * @param integer $permission The permission (DELETE, etc.) to * remove. Defaults to all permissions. * @param boolean $update Whether to automatically update the * backend. */ public function removeCreatorPermission($permission = null, $update = true) { if (!isset($this->data['creator'])) { return; } if ($permission && $this->get('type') == 'matrix') { $this->data['creator'] &= ~$permission; } else { unset($this->data['creator']); } if ($update) { $this->save(); } } /** * Removes a default permission on this object. * * @param integer $permission The permission (DELETE, etc.) to * remove. Defaults to all permissions. * @param boolean $update Whether to automatically update the * backend. */ public function removeDefaultPermission($permission = null, $update = true) { if (!isset($this->data['default'])) { return; } if ($permission && $this->get('type') == 'matrix') { $this->data['default'] &= ~$permission; } else { unset($this->data['default']); } if ($update) { $this->save(); } } /** * Removes a permission that a group currently has on this object. * * @param integer $groupId The id of the group to remove the * permission from. Defaults to all groups. * @param integer $permission The permission (DELETE, etc.) to * remove. Defaults to all permissions. * @param boolean $update Whether to automatically update the * backend. */ public function removeGroupPermission($groupId = null, $permission = null, $update = true) { if (is_null($groupId)) { $this->data['groups'] = array(); } else { if (!isset($this->data['groups'][$groupId])) { return; } if ($permission && $this->get('type') == 'matrix') { $this->data['groups'][$groupId] &= ~$permission; if (empty($this->data['groups'][$groupId])) { unset($this->data['groups'][$groupId]); } } else { unset($this->data['groups'][$groupId]); } } if ($update) { $this->save(); } } /** * Returns an array of all user permissions on this object. * * @param integer $perm List only users with this permission level. * Defaults to all users. * * @return array All user permissions for this object, indexed by user. */ public function getUserPermissions($perm = null) { if (!isset($this->data['users']) || !is_array($this->data['users'])) { return array(); } elseif (!$perm) { return $this->data['users']; } $users = array(); foreach ($this->data['users'] as $user => $uperm) { if ($uperm & $perm) { $users[$user] = $uperm; } } return $users; } /** * Returns the guest permissions on this object. * * @return integer The guest permissions on this object. */ public function getGuestPermissions() { return empty($this->data['guest']) ? null : $this->data['guest']; } /** * Returns the creator permissions on this object. * * @return integer The creator permissions on this object. */ public function getCreatorPermissions() { return empty($this->data['creator']) ? null : $this->data['creator']; } /** * Returns the default permissions on this object. * * @return integer The default permissions on this object. */ public function getDefaultPermissions() { return empty($this->data['default']) ? null : $this->data['default']; } /** * Returns an array of all group permissions on this object. * * @param integer $perm List only users with this permission level. * Defaults to all users. * * @return array All group permissions for this object, indexed by group. */ public function getGroupPermissions($perm = null) { if (!isset($this->data['groups']) || !is_array($this->data['groups'])) { return array(); } elseif (!$perm) { return $this->data['groups']; } $groups = array(); foreach ($this->data['groups'] as $group => $gperm) { if ($gperm & $perm) { $groups[$group] = $gperm; } } return $groups; } /** * TODO */ public function save() { } } Horde_Perms-2.1.2/lib/Horde/Perms/Sql.php0000644000175000007640000003211312235777226020101 0ustar slusarzslusarz * @category Horde * @package Perms */ class Horde_Perms_Sql extends Horde_Perms_Base { /** * Configuration parameters. * * @var array */ protected $_params = array(); /** * Handle for the current database connection. * * @var Horde_Db_Adapter */ protected $_db; /** * Incrementing version number if cached classes change. * * @var integer */ private $_cacheVersion = 2; /** * Cache of previously retrieved permissions. * * @var array */ protected $_permsCache = array(); /** * Constructor. * * @param array $params Configuration parameters (in addition to base * Horde_Perms parameters): *
     * 'db' - (Horde_Db_Adapter) [REQUIRED] The DB instance.
     * 'table' - (string) The name of the perms table.
     *           DEFAULT: 'horde_perms'
     * 
* * @throws Horde_Perms_Exception */ public function __construct($params = array()) { if (!isset($params['db'])) { throw new Horde_Perms_Exception('Missing db parameter.'); } $this->_db = $params['db']; unset($params['db']); $this->_params = array_merge(array( 'table' => 'horde_perms' ), $this->_params, $params); parent::__construct($params); } /** * Returns a new permissions object. * * @param string $name The permission's name. * @param string $type The permission type. * @param array $params The permission parameters. * * @return Horde_Perms_Permission_Sql A new permissions object. */ public function newPermission($name, $type = 'matrix', $params = null) { $ob = new Horde_Perms_Permission_Sql($name, $this->_cacheVersion, $type, $params); $ob->setObs($this->_cache, $this->_db); return $ob; } /** * Returns an object corresponding to the named permission, with the * users and other data retrieved appropriately. * * @param string $name The name of the permission to retrieve. * * @return Horde_Perms_Permission_Sql TODO * @throw Horde_Perms_Exception */ public function getPermission($name) { if (isset($this->_permsCache[$name])) { return $this->_permsCache[$name]; } $perm = $this->_cache->get('perm_sql_' . $this->_cacheVersion . $name, $GLOBALS['conf']['cache']['default_lifetime']); if (!empty($perm)) { $this->_permsCache[$name] = unserialize($perm); } if (empty($this->_permsCache[$name])) { $query = 'SELECT perm_id, perm_data FROM ' . $this->_params['table'] . ' WHERE perm_name = ?'; try { $result = $this->_db->selectOne($query, array($name)); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } if (empty($result)) { throw new Horde_Perms_Exception('Does not exist', Horde_Perms_Exception::NOT_EXIST); } $object = new Horde_Perms_Permission_Sql($name, $this->_cacheVersion); $object->setId($result['perm_id']); $object->setData(unserialize($result['perm_data'])); $this->_cache->set('perm_sql_' . $this->_cacheVersion . $name, serialize($object)); $this->_permsCache[$name] = $object; } $this->_permsCache[$name]->setObs($this->_cache, $this->_db); return $this->_permsCache[$name]; } /** * Returns a permission object corresponding to the given unique ID, * with the users and other data retrieved appropriately. * * @param integer $id The unique ID of the permission to retrieve. * * @return Horde_Perms_Permission_Sql TODO * @throws Horde_Perms_Exception */ public function getPermissionById($id) { if ($id == Horde_Perms::ROOT || empty($id)) { $object = $this->newPermission(Horde_Perms::ROOT); } else { $query = 'SELECT perm_name, perm_data FROM ' . $this->_params['table'] . ' WHERE perm_id = ?'; try { $result = $this->_db->selectOne($query, array($id)); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } if (empty($result)) { throw new Horde_Perms_Exception('Does not exist', Horde_Perms_Exception::NOT_EXIST); } $object = new Horde_Perms_Permission_Sql($result['perm_name'], $this->_cacheVersion); $object->setId($id); $object->setData(unserialize($result['perm_data'])); $object->setObs($this->_cache, $this->_db); } return $object; } /** * Adds a permission to the permissions system. The permission must first * be created with newPermission(), and have any initial users added to * it, before this function is called. * * @param Horde_Perms_Permission_Sql $perm The perm object. * * @return integer Permission ID in the database. * @throws Horde_Perms_Exception */ public function addPermission(Horde_Perms_Permission $perm) { $name = $perm->getName(); if (empty($name)) { throw new Horde_Perms_Exception('Permission name must be non-empty.'); } $this->_cache->expire('perm_sql_' . $this->_cacheVersion . $name); $this->_cache->expire('perm_sql_exists_' . $this->_cacheVersion . $name); // remove root from the name $root = Horde_Perms::ROOT . ':'; if (substr($name, 0, strlen($root)) == ($root)) { $name = substr($name, strlen($root)); } // build parents $parents = ''; if (($pos = strrpos($name, ':')) !== false) { $parent_name = substr($name, 0, $pos); $query = 'SELECT perm_id, perm_parents FROM ' . $this->_params['table'] . ' WHERE perm_name = ?'; $result = $this->_db->selectOne($query, array($parent_name)); if (empty($result)) { throw new Horde_Perms_Exception(Horde_Perms_Translation::t("Trying to create sub permission of non-existent parent permission. Create parent permission(s) first.")); } $parents = $result['perm_parents'] . ':' . $result['perm_id']; } $query = 'INSERT INTO ' . $this->_params['table'] . ' (perm_name, perm_parents) VALUES (?, ?)'; try { $id = $this->_db->insert($query, array($name, $parents)); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } $perm->setId($id); $perm->save(); return $id; } /** * Removes a permission from the permissions system permanently. * * @param Horde_Perms_Permission_Sql $perm The permission to * remove. * @param boolean $force Force to remove every * child. * * @return boolean True if permission was deleted. * @throws Horde_Perms_Exception */ public function removePermission(Horde_Perms_Permission $perm, $force = false) { $name = $perm->getName(); $this->_cache->expire('perm_sql_' . $this->_cacheVersion . $name); $this->_cache->expire('perm_sql_exists_' . $this->_cacheVersion . $name); $query = 'DELETE FROM ' . $this->_params['table'] . ' WHERE perm_name = ?'; try { $result = $this->_db->delete($query, array($name)); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } if (!$force) { return (bool)$result; } /* Need to expire cache for all sub-permissions. */ try { $sub = $this->_db->selectValues( 'SELECT perm_name FROM ' . $this->_params['table'] . ' WHERE perm_name LIKE ?', array($name . ':%') ); foreach ($sub as $val) { $this->_cache->expire('perm_sql_' . $this->_cacheVersion . $val); $this->_cache->expire('perm_sql_exists_' . $this->_cacheVersion . $val); } } catch (Horde_Db_Exception $e) {} $query = 'DELETE FROM ' . $this->_params['table'] . ' WHERE perm_name LIKE ?'; try { return (bool)$this->_db->delete($query, array($name . ':%')); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } } /** * Returns the unique identifier of this permission. * * @param Horde_Perms_Permission_Sql $perm The permission object to * get the ID of. * * @return integer The unique id. * @throws Horde_Perms_Exception */ public function getPermissionId($permission) { if ($permission->getName() == Horde_Perms::ROOT) { return Horde_Perms::ROOT; } $query = 'SELECT perm_id FROM ' . $this->_params['table'] . ' WHERE perm_name = ?'; try { return $this->_db->selectValue($query, array($permission->getName())); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } } /** * Checks if a permission exists in the system. * * @param string $permission The permission to check. * * @return boolean True if the permission exists. * @throws Horde_Perms_Exception */ public function exists($permission) { $key = 'perm_sql_exists_' . $this->_cacheVersion . $permission; $exists = $this->_cache->get($key, $GLOBALS['conf']['cache']['default_lifetime']); if ($exists === false) { $query = 'SELECT COUNT(*) FROM ' . $this->_params['table'] . ' WHERE perm_name = ?'; try { $exists = $this->_db->selectValue($query, array($permission)); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } $this->_cache->set($key, (string)$exists); } return (bool)$exists; } /** * Returns a child's direct parent ID. * * @param mixed $child The object name for which to look up the parent's * ID. * * @return integer The unique ID of the parent. * @throws Horde_Perms_Exception */ public function getParent($child) { $query = 'SELECT perm_parents FROM ' . $this->_params['table'] . ' WHERE perm_name = ?'; try { $parents = $this->_db->selectValue($query, array($child)); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } if (empty($parents)) { return Horde_Perms::ROOT; } $parents = explode(':', $parents); return array_pop($parents); } /** * Returns a list of parent permissions. * * @param string $child The name of the child to retrieve parents for. * * @return array A hash with all parents in a tree format. * @throws Horde_Perms_Exception */ public function getParents($child) { $query = 'SELECT perm_parents FROM ' . $this->_params['table'] . ' WHERE perm_name = ?'; try { $result = $this->_db->selectValue($query, array($child)); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } if (empty($result)) { throw new Horde_Perms_Exception('Does not exist', Horde_Perms_Exception::NOT_EXIST); } return $this->_getParents($result); } /** * TODO */ protected function _getParents($parents) { if (empty($parents)) { return array(Horde_Perms::ROOT => true); } $pname = $parents; $parents = substr($parents, 0, strrpos($parents, ':')); return array($pname => $this->_getParents($parents)); } /** * Returns all permissions of the system in a tree format. * * @return array A hash with all permissions in a tree format. * @throws Horde_Perms_Exception */ public function getTree() { $query = 'SELECT perm_id, perm_name FROM ' . $this->_params['table'] . ' ORDER BY perm_name ASC'; try { $tree = $this->_db->selectAssoc($query); } catch (Horde_Db_Exception $e) { throw new Horde_Perms_Exception($e); } $tree[Horde_Perms::ROOT] = Horde_Perms::ROOT; return $tree; } } Horde_Perms-2.1.2/lib/Horde/Perms/Translation.php0000644000175000007640000000321212235777226021636 0ustar slusarzslusarz * @package Perms */ class Horde_Perms_Translation extends Horde_Translation { /** * Returns the translation of a message. * * @var string $message The string to translate. * * @return string The string translation, or the original string if no * translation exists. */ static public function t($message) { self::$_domain = 'Horde_Perms'; self::$_directory = '@data_dir@' == '@'.'data_dir'.'@' ? __DIR__ . '/../../../locale' : '@data_dir@/Horde_Perms/locale'; return parent::t($message); } /** * Returns the plural translation of a message. * * @param string $singular The singular version to translate. * @param string $plural The plural version to translate. * @param integer $number The number that determines singular vs. plural. * * @return string The string translation, or the original string if no * translation exists. */ static public function ngettext($singular, $plural, $number) { self::$_domain = 'Horde_Perms'; self::$_directory = '@data_dir@' == '@'.'data_dir'.'@' ? __DIR__ . '/../../../locale' : '@data_dir@/Horde_Perms/locale'; return parent::ngettext($singular, $plural, $number); } } Horde_Perms-2.1.2/lib/Horde/Perms.php0000644000175000007640000000462112235777226017345 0ustar slusarzslusarz * @author Jan Schneider * @category Horde * @package Perms */ class Horde_Perms { /** * Existence of object is known - object is shown to user. */ const SHOW = 2; /** * Contents of the object can be read. */ const READ = 4; /** * Contents of the object can be edited. */ const EDIT = 8; /** * The object can be deleted. */ const DELETE = 16; /** * A bitmask of all possible permission values. * * Useful for removeXxxPermission(), unsetPerm(), etc. * 30 = SHOW | READ | EDIT | DELETE */ const ALL = 30; /** * The root permission. */ const ROOT = -1; /** * Cache for integerToArray(). * * @var array */ static protected $_itaCache = array(); /** * Returns an hash of the available permissions. * * @return array The available permissions as a hash. */ static public function getPermsArray() { return array( self::SHOW => Horde_Perms_Translation::t("Show"), self::READ => Horde_Perms_Translation::t("Read"), self::EDIT => Horde_Perms_Translation::t("Edit"), self::DELETE => Horde_Perms_Translation::t("Delete") ); } /** * Given an integer value of permissions returns an array representation * of the integer. * * @param integer $int The integer representation of permissions. * * @return TODO */ static public function integerToArray($int) { if (isset(self::$_itaCache[$int])) { return self::$_itaCache[$int]; } self::$_itaCache[$int] = array(); /* Get the available perms array. */ $perms = self::getPermsArray(); /* Loop through each perm and check if its value is included in the * integer representation. */ foreach ($perms as $val => $label) { if ($int & $val) { self::$_itaCache[$int][$val] = true; } } return self::$_itaCache[$int]; } } Horde_Perms-2.1.2/locale/ar/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000057412235777226022134 0ustar slusarzslusarz$,8B9Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Horde_Perms-2.1.2/locale/ar/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000153312235777226022133 0ustar slusarzslusarz# Arabic translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "" Horde_Perms-2.1.2/locale/bg/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000115012235777226022111 0ustar slusarzslusarzL |B *7 HUAll PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Всички праваИзтрийРедакцияЧетенеПоказванеHorde_Perms-2.1.2/locale/bg/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000165712235777226022130 0ustar slusarzslusarz# Bulgarian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Всички права" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Изтрий" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Редакция" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Четене" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Показване" Horde_Perms-2.1.2/locale/bs/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000073712235777226022137 0ustar slusarzslusarz<\pqx}BDeleteEditShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ObrišiIzmijeniPrikažiHorde_Perms-2.1.2/locale/bs/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000163212235777226022135 0ustar slusarzslusarz# Bosnian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 #, fuzzy msgid "All Permissions" msgstr "_Dozvole" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Obriši" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Izmijeni" #: lib/Horde/Perms.php:525 #, fuzzy msgid "Read" msgstr "Ne pročitane" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Prikaži" Horde_Perms-2.1.2/locale/ca/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000110112235777226022100 0ustar slusarzslusarzL |B$-3:All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tots els permisosSuprimirEditaLlegiuMostraHorde_Perms-2.1.2/locale/ca/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000160612235777226022115 0ustar slusarzslusarz# Catalan translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Tots els permisos" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Suprimir" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Edita" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Llegiu" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Mostra" Horde_Perms-2.1.2/locale/cs/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000122612235777226022132 0ustar slusarzslusarzL |Xv}All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; Všechna uživatelská právaSmazatUpravitČtecíZobrazitHorde_Perms-2.1.2/locale/cs/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000173512235777226022142 0ustar slusarzslusarz# Czech translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Všechna uživatelská práva" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Smazat" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Upravit" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Čtecí" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Zobrazit" Horde_Perms-2.1.2/locale/da/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000114412235777226022110 0ustar slusarzslusarzL |m=NS[`All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Alle tilladelserSletRedigerLæsVisHorde_Perms-2.1.2/locale/da/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000165412235777226022121 0ustar slusarzslusarz# Danish translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Alle tilladelser" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Slet" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Rediger" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Læs" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Vis" Horde_Perms-2.1.2/locale/de/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000144312235777226022116 0ustar slusarzslusarzL |ex% cDeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2013-05-07 14:14+0200 PO-Revision-Date: 2011-11-01 11:28+0100 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); LöschenBearbeitenLesenZeigenVersuch Unterrechte von nicht vorhanden Überrechten anzulegen. Erstellen Sie erst die Überrechte.Horde_Perms-2.1.2/locale/de/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000217312235777226022122 0ustar slusarzslusarz# German translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2013-05-07 14:14+0200\n" "PO-Revision-Date: 2011-11-01 11:28+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Löschen" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Bearbeiten" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Lesen" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Zeigen" #: lib/Horde/Perms/Sql.php:206 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "Versuch Unterrechte von nicht vorhanden Überrechten anzulegen. Erstellen Sie " "erst die Überrechte." Horde_Perms-2.1.2/locale/el/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000125012235777226022122 0ustar slusarzslusarzL |m =^oAll PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Ολα τα δικαιώματαΔιαγραφήΕπεξεργασίαΑνάγνωσηΕμφάνισηHorde_Perms-2.1.2/locale/el/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000175712235777226022141 0ustar slusarzslusarz# Greek translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Ολα τα δικαιώματα" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Διαγραφή" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Επεξεργασία" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Ανάγνωση" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Εμφάνιση" Horde_Perms-2.1.2/locale/en/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000114312235777226022125 0ustar slusarzslusarzL |m=MTY^All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=ASCII Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); All PermissionsDeleteEditReadShowHorde_Perms-2.1.2/locale/en/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000165412235777226022137 0ustar slusarzslusarz# English translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ASCII\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "All Permissions" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Delete" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Edit" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Read" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Show" Horde_Perms-2.1.2/locale/es/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000153612235777226022140 0ustar slusarzslusarzL |e% nDeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2013-05-07 14:14+0200 PO-Revision-Date: 2013-06-11 20:26+0200 Last-Translator: Manuel P. Ayala , Juan C. Blanco Language-Team: i18n@lists.horde.org Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); EliminarModificarLeerMostrarIntentando crear subpermiso de permiso ascendiente inexistente. Cree primero el/los permiso(s) ascendiente(s).Horde_Perms-2.1.2/locale/es/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000227312235777226022142 0ustar slusarzslusarz# Spanish translations for Horde_Perms package. # Copyright (C) 2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms package. # Automatically generated, 2013. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms \n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2013-05-07 14:14+0200\n" "PO-Revision-Date: 2013-06-11 20:26+0200\n" "Last-Translator: Manuel P. Ayala , Juan C. Blanco " "\n" "Language-Team: i18n@lists.horde.org\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Eliminar" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Modificar" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Leer" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Mostrar" #: lib/Horde/Perms/Sql.php:206 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "Intentando crear subpermiso de permiso ascendiente inexistente. Cree primero " "el/los permiso(s) ascendiente(s)." Horde_Perms-2.1.2/locale/et/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000114512235777226022135 0ustar slusarzslusarzL |m=LTZ^All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Kõik õigusedKustutaMuudaLoeNäitaHorde_Perms-2.1.2/locale/et/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000165712235777226022150 0ustar slusarzslusarz# Estonian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Kõik õigused" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Kustuta" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Muuda" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Loe" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Näita" Horde_Perms-2.1.2/locale/eu/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000154212235777226022137 0ustar slusarzslusarzL |e%`DeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2012-01-17 12:38+0100 PO-Revision-Date: 2013-01-16 14:08+0100 Last-Translator: Ibon Igartua Language-Team: Euskal Herriko Unibertsitatea Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Poedit-Language: Basque EzabatuEditatuIrakurriErakutsiGuraso baimenik ez duen azpi-baimena sortzen ari zara. Guraso baimena sortu behar duzu lehenago.Horde_Perms-2.1.2/locale/eu/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000227612235777226022147 0ustar slusarzslusarz# Basque translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2012-01-17 12:38+0100\n" "PO-Revision-Date: 2013-01-16 14:08+0100\n" "Last-Translator: Ibon Igartua \n" "Language-Team: Euskal Herriko Unibertsitatea \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Basque\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Ezabatu" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Editatu" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Irakurri" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Erakutsi" #: lib/Horde/Perms/Sql.php:205 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "Guraso baimenik ez duen azpi-baimena sortzen ari zara. Guraso baimena sortu " "behar duzu lehenago." Horde_Perms-2.1.2/locale/fa/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000112512235777226022111 0ustar slusarzslusarzL |B) 0 = JAll PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit همه مجوز‌هاحذفویرایشخواندننمایشHorde_Perms-2.1.2/locale/fa/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000163212235777226022117 0ustar slusarzslusarz# Persian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "همه مجوز‌ها" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "حذف" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "ویرایش" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "خواندن" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "نمایش" Horde_Perms-2.1.2/locale/fi/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000144312235777226022124 0ustar slusarzslusarzL |e%VDeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2012-01-17 12:38+0100 PO-Revision-Date: 2012-03-07 19:36:28+0200 Last-Translator: Leena Heino Language-Team: Finnish Language: fi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); PoistaMuokkaaLukuNäytäYrität luoda alitason oikeutta olemattomalle ylitasolle. Luo ensin ylitason oikeudet.Horde_Perms-2.1.2/locale/fi/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000220412235777226022123 0ustar slusarzslusarz# Finnish translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Leena Heino , 2010-2012. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2012-01-17 12:38+0100\n" "PO-Revision-Date: 2012-03-07 19:36:28+0200\n" "Last-Translator: Leena Heino \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Poista" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Muokkaa" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Luku" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Näytä" #: lib/Horde/Perms/Sql.php:205 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "Yrität luoda alitason oikeutta olemattomalle ylitasolle. Luo ensin ylitason " "oikeudet." Horde_Perms-2.1.2/locale/fr/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000155112235777226022135 0ustar slusarzslusarzL |e% `DeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2012-01-17 12:38+0100 PO-Revision-Date: 2013-01-16 17:33+0100 Last-Translator: Paul De Vlieger Language-Team: French Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Lokalize 1.4 SupprimerModifierLireAfficherTentative de création d'une sous-permissions alors que les permissions parentes n'existent pas.Horde_Perms-2.1.2/locale/fr/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000241212235777226022135 0ustar slusarzslusarz# French translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # Paul De Vlieger , 2013 msgid "" msgstr "" "Project-Id-Version: Horde_Perms \n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2012-01-17 12:38+0100\n" "PO-Revision-Date: 2013-01-16 17:33+0100\n" "Last-Translator: Paul De Vlieger \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 1.4\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Supprimer" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Modifier" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Lire" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Afficher" #: lib/Horde/Perms/Sql.php:205 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "Tentative de création d'une sous-permissions alors que les permissions " "parentes n'existent pas." Horde_Perms-2.1.2/locale/gl/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000057412235777226022134 0ustar slusarzslusarz$,8B9Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Horde_Perms-2.1.2/locale/gl/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000153512235777226022135 0ustar slusarzslusarz# Galician translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "" Horde_Perms-2.1.2/locale/he/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000064712235777226022127 0ustar slusarzslusarz$,8m9Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Horde_Perms-2.1.2/locale/he/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000161212235777226022123 0ustar slusarzslusarz# Hebrew translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "" Horde_Perms-2.1.2/locale/hr/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000160112235777226022133 0ustar slusarzslusarzL |e% bDeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2011-11-01 11:27+0100 PO-Revision-Date: 2011-11-08 16:49+0200 Last-Translator: Valentin Vidic Language-Team: i18n@lists.horde.org Language: hr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); IzbrišiUrediPročitajPrikažiPokušaj dodavanja podovlasti u nepostojeću roditeljsku ovlast. Prvo dodajte roditeljske ovlasti.Horde_Perms-2.1.2/locale/hr/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000236012235777226022141 0ustar slusarzslusarz# Croatian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Valentin Vidic , 2011. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2011-11-01 11:27+0100\n" "PO-Revision-Date: 2011-11-08 16:49+0200\n" "Last-Translator: Valentin Vidic \n" "Language-Team: i18n@lists.horde.org\n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Izbriši" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Uredi" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Pročitaj" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Prikaži" #: lib/Horde/Perms/Sql.php:205 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "Pokušaj dodavanja podovlasti u nepostojeću roditeljsku ovlast. Prvo dodajte " "roditeljske ovlasti." Horde_Perms-2.1.2/locale/hu/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000116612235777226022144 0ustar slusarzslusarzL |m =H Q^gAll PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Minden jogTörlésMódosításOlvasásMegjelenítésHorde_Perms-2.1.2/locale/hu/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000170112235777226022142 0ustar slusarzslusarz# Hungarian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Minden jog" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Törlés" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Módosítás" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Olvasás" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Megjelenítés" Horde_Perms-2.1.2/locale/id/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000077412235777226022130 0ustar slusarzslusarzDlB DeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=ASCII Content-Transfer-Encoding: 8bit HapusUbahBacaTampilkanHorde_Perms-2.1.2/locale/id/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000160212235777226022122 0ustar slusarzslusarz# Indonesian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ASCII\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 #, fuzzy msgid "All Permissions" msgstr "Izin" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Hapus" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Ubah" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Baca" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Tampilkan" Horde_Perms-2.1.2/locale/is/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000067512235777226022147 0ustar slusarzslusarz4L`ahBmDeleteEditProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit EyðaBreytaHorde_Perms-2.1.2/locale/is/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000161712235777226022147 0ustar slusarzslusarz# Icelandic translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 #, fuzzy msgid "All Permissions" msgstr "Persónulegt" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Eyða" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Breyta" #: lib/Horde/Perms.php:525 #, fuzzy msgid "Read" msgstr "Ólesið" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "" Horde_Perms-2.1.2/locale/it/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000115512235777226022142 0ustar slusarzslusarzL |m=NW`fAll PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Tutti i PermessiCancellaModificaLeggiMostraHorde_Perms-2.1.2/locale/it/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000166612235777226022154 0ustar slusarzslusarz# Italian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Tutti i Permessi" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Cancella" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Modifica" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Leggi" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Mostra" Horde_Perms-2.1.2/locale/ja/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000153712235777226022124 0ustar slusarzslusarzL |e%~DeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2013-05-07 14:14+0200 PO-Revision-Date: 2013-05-23 20:42+0900 Last-Translator: Hiromi Kimura Language-Team: i18n@lists.horde.org Language: ja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 1.5.4 削除編集読出表示存在しない権限のサブ権限を作成しようとしています。親となる権限を先に作成して下さい。Horde_Perms-2.1.2/locale/ja/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000226412235777226022125 0ustar slusarzslusarz# Japanese translation for Horde. # Copyright 2004-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde package. # Hiromi Kimura # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2013-05-07 14:14+0200\n" "PO-Revision-Date: 2013-05-23 20:42+0900\n" "Last-Translator: Hiromi Kimura \n" "Language-Team: i18n@lists.horde.org\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.5.4\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "削除" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "編集" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "読出" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "表示" #: lib/Horde/Perms/Sql.php:206 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "存在しない権限のサブ権限を作成しようとしています。親となる権限を先に作成して" "下さい。" Horde_Perms-2.1.2/locale/km/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000105012235777226022127 0ustar slusarzslusarzDlB  DeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit លុប​កែ​សម្រួលអានបង្ហាញHorde_Perms-2.1.2/locale/km/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000166712235777226022150 0ustar slusarzslusarz# Khmer translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 #, fuzzy msgid "All Permissions" msgstr "សិទ្ធិ" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "លុប​" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "កែ​សម្រួល" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "អាន" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "បង្ហាញ" Horde_Perms-2.1.2/locale/ko/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000074212235777226022140 0ustar slusarzslusarz4L`ahfmDeleteEditProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; 삭제수정Horde_Perms-2.1.2/locale/ko/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000167312235777226022147 0ustar slusarzslusarz# Korean translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: lib/Horde/Perms.php:181 #, fuzzy msgid "All Permissions" msgstr "토론" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "삭제" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "수정" #: lib/Horde/Perms.php:525 #, fuzzy msgid "Read" msgstr "읽지 않은 메일" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "" Horde_Perms-2.1.2/locale/lt/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000117312235777226022145 0ustar slusarzslusarzDl ZdktDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2011-05-28 01:09+0300 PO-Revision-Date: 2011-06-28 00:59+0300 Last-Translator: Vilius Šumskas Language-Team: Lithuanian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2); IštrintiKeistiSkaitytiRodytiHorde_Perms-2.1.2/locale/lt/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000170112235777226022145 0ustar slusarzslusarz# Lithuanian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Vilius Šumskas , 2011. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2011-05-28 01:09+0300\n" "PO-Revision-Date: 2011-06-28 00:59+0300\n" "Last-Translator: Vilius Šumskas \n" "Language-Team: Lithuanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" "%100<10 || n%100>=20) ? 1 : 2);\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Ištrinti" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Keisti" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Skaityti" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Rodyti" Horde_Perms-2.1.2/locale/lv/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000113112235777226022141 0ustar slusarzslusarzDl=DJQDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2011-03-15 13:27+0100 PO-Revision-Date: 2011-10-16 15:22+0300 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org Language: lv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2); DzēstLabotLasītRādītHorde_Perms-2.1.2/locale/lv/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000221212235777226022145 0ustar slusarzslusarz# Latvian translations for Horde_Perms package. # Copyright 2011-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms package. # Automatically generated, 2011. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2011-03-15 13:27+0100\n" "PO-Revision-Date: 2011-10-16 15:22+0300\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Dzēst" # #-#-#-#-# horde.po (Horde 2.1) #-#-#-#-# # #-#-#-#-# lv_LV.po (Mnemo 2.1.2) #-#-#-#-# # # #-#-#-#-# lv_LV.po (Gollem 1.0.3) #-#-#-#-# # #-#-#-#-# lv_LV.po (Mnemo 2.1.2) #-#-#-#-# # # #-#-#-#-# mnemo.po (Mnemo 2.1.2) #-#-#-#-# # #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Labot" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Lasīt" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Rādīt" Horde_Perms-2.1.2/locale/mk/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000065212235777226022136 0ustar slusarzslusarz,<PQBXDeleteProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ИзбришиHorde_Perms-2.1.2/locale/mk/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000155512235777226022144 0ustar slusarzslusarz# Macedonian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Избриши" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "" Horde_Perms-2.1.2/locale/nb/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000114412235777226022123 0ustar slusarzslusarzL |m=NT\`All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Alle reddigheterSlettRedigerLesVisHorde_Perms-2.1.2/locale/nb/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000166612235777226022137 0ustar slusarzslusarz# Norwegian Bokmal translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Alle reddigheter" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Slett" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Rediger" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Les" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Vis" Horde_Perms-2.1.2/locale/nl/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000156712235777226022146 0ustar slusarzslusarzL |e%  }DeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2012-01-17 12:38+0100 PO-Revision-Date: 2012-11-02 23:16+0100 Last-Translator: Arjen de Korte Language-Team: Dutch Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Lokalize 1.4 VerwijderenBewerkenLezenWeergevenPoging om een onderliggend recht aan te maken van een niet bestaand bovenliggendrecht. Maak bovenliggend recht(en) eerst aan.Horde_Perms-2.1.2/locale/nl/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000234412235777226022143 0ustar slusarzslusarz# Dutch translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # # Arjen de Korte , 2012. msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2012-01-17 12:38+0100\n" "PO-Revision-Date: 2012-11-02 23:16+0100\n" "Last-Translator: Arjen de Korte \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.4\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Verwijderen" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Bewerken" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Lezen" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Weergeven" #: lib/Horde/Perms/Sql.php:205 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "Poging om een onderliggend recht aan te maken van een niet bestaand " "bovenliggendrecht. Maak bovenliggend recht(en) eerst aan." Horde_Perms-2.1.2/locale/nn/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000104212235777226022134 0ustar slusarzslusarzDlm DeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); SletteEndreLesVisHorde_Perms-2.1.2/locale/nn/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000166612235777226022153 0ustar slusarzslusarz# Norwegian Nynorsk translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 #, fuzzy msgid "All Permissions" msgstr "Tilgang" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Slette" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Endre" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Les" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Vis" Horde_Perms-2.1.2/locale/pl/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000117412235777226022142 0ustar slusarzslusarzDlRhnuAll PermissionsDeleteEditShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Wszystkie uprawnieniaUsuńEdycjaPokażHorde_Perms-2.1.2/locale/pl/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000200012235777226022132 0ustar slusarzslusarz# Polish translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Wszystkie uprawnienia" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Usuń" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Edycja" #: lib/Horde/Perms.php:525 #, fuzzy msgid "Read" msgstr "Przeczytaj" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Pokaż" Horde_Perms-2.1.2/locale/pt/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000115512235777226022151 0ustar slusarzslusarzL |m=RZaeAll PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Todas as PermissõesRemoverEditarLerMostrarHorde_Perms-2.1.2/locale/pt/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000167112235777226022157 0ustar slusarzslusarz# Portuguese translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Todas as Permissões" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Remover" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Editar" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Ler" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Mostrar" Horde_Perms-2.1.2/locale/pt_BR/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000150312235777226022531 0ustar slusarzslusarzL |e%rDeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2013-05-07 14:14+0200 PO-Revision-Date: 2012-03-27 22:47-0300 Last-Translator: Luis Felipe Marzagao Language-Team: i18n@lists.horde.org Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); ExcluirEditarLerMostrarTentanto criar subpermissão de permissão mãe não existente. Primeiro crie a(s) permissão(ões) mãe primeiro.Horde_Perms-2.1.2/locale/pt_BR/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000223712235777226022541 0ustar slusarzslusarz# Portuguese translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2013-05-07 14:14+0200\n" "PO-Revision-Date: 2012-03-27 22:47-0300\n" "Last-Translator: Luis Felipe Marzagao \n" "Language-Team: i18n@lists.horde.org\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Excluir" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Editar" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Ler" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Mostrar" #: lib/Horde/Perms/Sql.php:206 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "Tentanto criar subpermissão de permissão mãe não existente. Primeiro crie a" "(s) permissão(ões) mãe primeiro." Horde_Perms-2.1.2/locale/ro/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000072512235777226022150 0ustar slusarzslusarz$,89Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=ASCII Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2; Horde_Perms-2.1.2/locale/ro/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000167512235777226022160 0ustar slusarzslusarz# Romanian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ASCII\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2;\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "" Horde_Perms-2.1.2/locale/ru/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000134312235777226022153 0ustar slusarzslusarzL | All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Все праваУдалитьРедактированиеЧитатьПоказатьHorde_Perms-2.1.2/locale/ru/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000210712235777226022155 0ustar slusarzslusarz# Russian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" # fuzzy #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Все права" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Удалить" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Редактирование" # fuzzy #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Читать" # fuzzy #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Показать" Horde_Perms-2.1.2/locale/sk/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000156212235777226022145 0ustar slusarzslusarzL |e% DeleteEditReadShowTrying to create sub permission of non-existant parent permission. Create parent permission(s) first.Project-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2012-01-17 12:38+0100 PO-Revision-Date: 2012-12-30 17:54+0200 Last-Translator: Jozef Sudolsky Language-Team: i18n@lists.horde.org Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; VymazaťUpraviťČítaťZobraziťPokúšate sa vytvoriť podradené oprávnenie pre neexistujúce nadradené oprávnenie. Vytvorte najskôr nadradené oprávnenie.Horde_Perms-2.1.2/locale/sk/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000245112235777226022146 0ustar slusarzslusarz# Slovak translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # Martin Matuška , 2008 # Jozef Sudolský , 2012 # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2012-01-17 12:38+0100\n" "PO-Revision-Date: 2012-12-30 17:54+0200\n" "Last-Translator: Jozef Sudolsky \n" "Language-Team: i18n@lists.horde.org\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "Vymazať" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "Upraviť" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "Čítať" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "Zobraziť" #: lib/Horde/Perms/Sql.php:205 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" "Pokúšate sa vytvoriť podradené oprávnenie pre neexistujúce nadradené " "oprávnenie. Vytvorte najskôr nadradené oprávnenie." Horde_Perms-2.1.2/locale/sl/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000123312235777226022141 0ustar slusarzslusarzL |qAll PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3); Vsa dovoljenjaZbrišiUrediBeriPokažiHorde_Perms-2.1.2/locale/sl/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000175112235777226022151 0ustar slusarzslusarz# Slovenian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" "%100==4 ? 2 : 3);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Vsa dovoljenja" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Zbriši" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Uredi" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Beri" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Pokaži" Horde_Perms-2.1.2/locale/sv/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000115012235777226022151 0ustar slusarzslusarzL |m=PW^cAll PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Alla behörigheterRaderaÄndraLäsVisaHorde_Perms-2.1.2/locale/sv/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000166112235777226022163 0ustar slusarzslusarz# Swedish translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Alla behörigheter" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Radera" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Ändra" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Läs" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Visa" Horde_Perms-2.1.2/locale/tr/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000113712235777226022153 0ustar slusarzslusarzL |f 6DHQWAll PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; Tüm İzinlerSilDüzenleOkumaGösterHorde_Perms-2.1.2/locale/tr/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000165012235777226022156 0ustar slusarzslusarz# Turkish translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Tüm İzinler" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Sil" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Düzenle" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Okuma" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Göster" Horde_Perms-2.1.2/locale/uk/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000133312235777226022143 0ustar slusarzslusarzL | All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Всі ПраваВитертиРедагуватиЧитатиПоказатиHorde_Perms-2.1.2/locale/uk/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000205112235777226022144 0ustar slusarzslusarz# Ukrainian translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "Всі Права" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "Витерти" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "Редагувати" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "Читати" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "Показати" Horde_Perms-2.1.2/locale/zh_CN/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000107312235777226022526 0ustar slusarzslusarzL |B &-4All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 所有权限删除编辑读取显示Horde_Perms-2.1.2/locale/zh_CN/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000160012235777226022525 0ustar slusarzslusarz# Chinese translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "所有权限" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "删除" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "编辑" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "读取" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "显示" Horde_Perms-2.1.2/locale/zh_TW/LC_MESSAGES/Horde_Perms.mo0000644000175000007640000000107312235777226022560 0ustar slusarzslusarzL |B &-4All PermissionsDeleteEditReadShowProject-Id-Version: Horde_Perms Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2010-10-13 01:27+0200 PO-Revision-Date: 2010-10-13 01:27+0200 Last-Translator: Automatically generated Language-Team: i18n@lists.horde.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 所有權限刪除編輯讀取顯示Horde_Perms-2.1.2/locale/zh_TW/LC_MESSAGES/Horde_Perms.po0000644000175000007640000000160012235777226022557 0ustar slusarzslusarz# Chinese translations for Horde_Perms module. # Copyright 2010-2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms module. # Automatically generated, 2010. # msgid "" msgstr "" "Project-Id-Version: Horde_Perms\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2010-10-13 01:27+0200\n" "PO-Revision-Date: 2010-10-13 01:27+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: i18n@lists.horde.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:181 msgid "All Permissions" msgstr "所有權限" #: lib/Horde/Perms.php:527 msgid "Delete" msgstr "刪除" #: lib/Horde/Perms.php:526 msgid "Edit" msgstr "編輯" #: lib/Horde/Perms.php:525 msgid "Read" msgstr "讀取" #: lib/Horde/Perms.php:524 msgid "Show" msgstr "顯示" Horde_Perms-2.1.2/locale/Horde_Perms.pot0000644000175000007640000000170512235777226020131 0ustar slusarzslusarz# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Perms package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Horde_Perms \n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2013-05-07 14:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Perms.php:69 msgid "Delete" msgstr "" #: lib/Horde/Perms.php:68 msgid "Edit" msgstr "" #: lib/Horde/Perms.php:67 msgid "Read" msgstr "" #: lib/Horde/Perms.php:66 msgid "Show" msgstr "" #: lib/Horde/Perms/Sql.php:206 msgid "" "Trying to create sub permission of non-existant parent permission. Create " "parent permission(s) first." msgstr "" Horde_Perms-2.1.2/migration/Horde/Perms/1_horde_perms_base_tables.php0000644000175000007640000000136512235777226025645 0ustar slusarzslusarztables())) { $t = $this->createTable('horde_perms', array('autoincrementKey' => array('perm_id'))); $t->column('perm_id', 'integer', array('null' => false)); $t->column('perm_name', 'string', array('limit' => 255, 'null' => false)); $t->column('perm_parents', 'string', array('limit' => 255, 'null' => false)); $t->column('perm_data', 'text'); $t->end(); $this->addIndex('horde_perms', array('perm_name'), array('unique' => true)); } } public function down() { $this->dropTable('horde_perms'); } } Horde_Perms-2.1.2/migration/Horde/Perms/2_horde_perms_upgrade_autoincrement.php0000644000175000007640000000066312235777226027766 0ustar slusarzslusarzchangeColumn('horde_perms', 'perm_id', 'autoincrementKey'); try { $this->dropTable('horde_perms_seq'); } catch (Horde_Db_Exception $e) { } } public function down() { $this->changeColumn('horde_perms', 'perm_id', 'integer', array('null' => false)); } }Horde_Perms-2.1.2/test/Horde/Perms/AllTests.php0000644000175000007640000000013212235777226021302 0ustar slusarzslusarzrun(); Horde_Perms-2.1.2/test/Horde/Perms/bootstrap.php0000644000175000007640000000014312235777226021566 0ustar slusarzslusarz * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ /** * Test the Kolab permission handler. * * Copyright 2008-2013 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL). If you * did not receive this file, see http://www.horde.org/licenses/lgpl21. * * @category Horde * @package Perms * @subpackage UnitTests * @author Gunnar Wrobel * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @link http://pear.horde.org/index.php?package=Perms */ class Horde_Perms_KolabTest extends PHPUnit_Framework_TestCase { public function setUp() { $this->storage = $this->getMock('Horde_Perms_Permission_Kolab_Storage'); $this->storage->expects($this->once()) ->method('getPermissionId') ->will($this->returnValue('test')); $this->groups = $this->getMock('Horde_Group_Base', array(), array(), '', false, false); $this->perms = new Horde_Perms_Null(); } public function testConstruct() { $this->storage->expects($this->once()) ->method('getAcl') ->will($this->returnValue(array('test' => 'l'))); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $this->assertEquals('matrix', $permission->get('type')); } public function testImapListAclResultsInShowPermission() { $this->storage->expects($this->once()) ->method('getAcl') ->will($this->returnValue(array('test' => 'l'))); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $this->assertTrue((bool) $this->perms->hasPermission($permission, 'test', Horde_Perms::SHOW)); } public function testImapReadAclResultsInReadPermission() { $this->storage->expects($this->once()) ->method('getAcl') ->will($this->returnValue(array('test' => 'r'))); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $this->assertTrue((bool) $this->perms->hasPermission($permission, 'test', Horde_Perms::READ)); } public function testImapEditAclResultsInEditPermission() { $this->storage->expects($this->once()) ->method('getAcl') ->will($this->returnValue(array('test' => 'i'))); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $this->assertTrue((bool) $this->perms->hasPermission($permission, 'test', Horde_Perms::EDIT)); } public function testImapDeleteAclResultsInDeletePermission() { $this->storage->expects($this->once()) ->method('getAcl') ->will($this->returnValue(array('test' => 'd'))); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $this->assertTrue((bool) $this->perms->hasPermission($permission, 'test', Horde_Perms::DELETE)); } public function testImapTAclResultsInDeletePermission() { $this->storage->expects($this->once()) ->method('getAcl') ->will($this->returnValue(array('test' => 't'))); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $this->assertTrue((bool) $this->perms->hasPermission($permission, 'test', Horde_Perms::DELETE)); } public function testImapAnonymousUserMapsToGuestUsers() { $this->storage->expects($this->once()) ->method('getAcl') ->will($this->returnValue(array('anonymous' => 'lrid'))); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $this->assertEquals(Horde_Perms::ALL, $permission->getGuestPermissions()); } public function testImapAnyoneUserMapsToDefaultUsers() { $this->storage->expects($this->once()) ->method('getAcl') ->will($this->returnValue(array('anyone' => 'lrid'))); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $this->assertEquals(Horde_Perms::ALL, $permission->getDefaultPermissions()); } public function testImapGroupMapsToHordeGroup() { $this->storage->expects($this->once()) ->method('getAcl') ->will($this->returnValue(array('group:test' => 'lrid'))); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $this->assertEquals(array('test' => Horde_Perms::ALL), $permission->getGroupPermissions()); } public function testShowPermissionResultsInImapListAcl() { $this->storage->expects($this->exactly(3)) ->method('getAcl') ->will($this->returnValue(array())); $this->storage->expects($this->once()) ->method('setAcl') ->with('test', 'l'); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $permission->addUserPermission('test', Horde_Perms::SHOW); } public function testReadPermissionResultsInImapReadAcl() { $this->storage->expects($this->exactly(3)) ->method('getAcl') ->will($this->returnValue(array())); $this->storage->expects($this->once()) ->method('setAcl') ->with('test', 'r'); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $permission->addUserPermission('test', Horde_Perms::READ, true); } public function testEditPermissionResultsInImapEditAcl() { $this->storage->expects($this->exactly(3)) ->method('getAcl') ->will($this->returnValue(array())); $this->storage->expects($this->once()) ->method('setAcl') ->with('test', 'iswc'); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $permission->addUserPermission('test', Horde_Perms::EDIT, true); } public function testDeletePermissionResultsInImapDeleteAcl() { $this->storage->expects($this->exactly(3)) ->method('getAcl') ->will($this->returnValue(array())); $this->storage->expects($this->once()) ->method('setAcl') ->with('test', 'd'); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $permission->addUserPermission('test', Horde_Perms::DELETE, true); } public function testGuestUsersMapsToImapAnonymousUser() { $this->storage->expects($this->exactly(3)) ->method('getAcl') ->will($this->returnValue(array())); $this->storage->expects($this->once()) ->method('setAcl') ->with('anonymous', 'lriswcd'); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $permission->addGuestPermission(Horde_Perms::ALL, true); } public function testDefaultUsersMapsToImapAnyoneUser() { $this->storage->expects($this->exactly(3)) ->method('getAcl') ->will($this->returnValue(array())); $this->storage->expects($this->once()) ->method('setAcl') ->with('anyone', 'lriswcd'); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $permission->addDefaultPermission(Horde_Perms::ALL, true); } public function testHordeGroupMapsToImapGroup() { $this->groups->expects($this->once()) ->method('getName') ->with('horde_test') ->will($this->returnValue('test')); $this->storage->expects($this->exactly(3)) ->method('getAcl') ->will($this->returnValue(array())); $this->storage->expects($this->once()) ->method('setAcl') ->with('group:test', 'lriswcd'); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); $permission->addGroupPermission('horde_test', Horde_Perms::ALL, true); } public function testGetType() { $this->assertEquals( 'matrix', $this->_getComplexPermissions()->get('type') ); } public function testGetName() { $this->assertEquals( 'Horde_Perms_Permission_Kolab::test', $this->_getComplexPermissions()->getName() ); } public function testSetName() { $permission = $this->_getComplexPermissions(); $permission->setName('DUMMY'); $this->assertEquals('DUMMY', $permission->getName()); } public function testDoNotRemoveGuestPermissions() { $this->storage->expects($this->any()) ->method('getOwner') ->will($this->returnValue('test')); $this->storage->expects($this->exactly(1)) ->method('getAcl') ->will($this->returnValue(array('anonymous' => 'lrid'))); $this->storage->expects($this->never()) ->method('deleteAcl'); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); } public function testDoNotRemoveDefaultPermissions() { $this->storage->expects($this->any()) ->method('getOwner') ->will($this->returnValue('test')); $this->storage->expects($this->exactly(1)) ->method('getAcl') ->will($this->returnValue(array('anyone' => 'lrid'))); $this->storage->expects($this->never()) ->method('deleteAcl'); $permission = new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); } private function _getComplexPermissions() { $this->storage->expects($this->any()) ->method('getAcl') ->will( $this->returnValue( array( 'wrobel' => 'lrid', 'reader' => 'lr', 'viewer' => 'l', 'editor' => 'lre', 'anyone' => 'l', 'anonymous' => '', 'group:editors' => 'lre' ) ) ); return new Horde_Perms_Permission_Kolab( $this->storage, $this->groups ); } } Horde_Perms-2.1.2/test/Horde/Perms/phpunit.xml0000644000175000007640000000030612235777226021252 0ustar slusarzslusarz ../../../lib