diff --git a/CVSROOT/checkoutlist b/CVSROOT/checkoutlist deleted file mode 100644 index b04b3501..00000000 --- a/CVSROOT/checkoutlist +++ /dev/null @@ -1,13 +0,0 @@ -# The "checkoutlist" file is used to support additional version controlled -# administrative files in $CVSROOT/CVSROOT, such as template files. -# -# The first entry on a line is a filename which will be checked out from -# the corresponding RCS file in the $CVSROOT/CVSROOT directory. -# The remainder of the line is an error message to use if the file cannot -# be checked out. -# -# File format: -# -# [] -# -# comment lines begin with '#' diff --git a/CVSROOT/commitinfo b/CVSROOT/commitinfo deleted file mode 100644 index b19e7b7a..00000000 --- a/CVSROOT/commitinfo +++ /dev/null @@ -1,15 +0,0 @@ -# The "commitinfo" file is used to control pre-commit checks. -# The filter on the right is invoked with the repository and a list -# of files to check. A non-zero exit of the filter program will -# cause the commit to be aborted. -# -# The first entry on a line is a regular expression which is tested -# against the directory that the change is being committed to, relative -# to the $CVSROOT. For the first match that is found, then the remainder -# of the line is the name of the filter to run. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name "ALL" appears as a regular expression it is always used -# in addition to the first matching regex or "DEFAULT". diff --git a/CVSROOT/config b/CVSROOT/config deleted file mode 100644 index ff43ec00..00000000 --- a/CVSROOT/config +++ /dev/null @@ -1,14 +0,0 @@ -# Set this to "no" if pserver shouldn't check system users/passwords -#SystemAuth=no - -# Put CVS lock files in this directory rather than directly in the repository. -#LockDir=/var/lock/cvs - -# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top -# level of the new working directory when using the `cvs checkout' -# command. -#TopLevelAdmin=no - -# Set `LogHistory' to `all' or `TOFEWGCMAR' to log all transactions to the -# history file, or a subset as needed (ie `TMAR' logs all write operations) -#LogHistory=TOFEWGCMAR diff --git a/CVSROOT/cvswrappers b/CVSROOT/cvswrappers deleted file mode 100644 index 0accaf1b..00000000 --- a/CVSROOT/cvswrappers +++ /dev/null @@ -1,23 +0,0 @@ -# This file affects handling of files based on their names. -# -# The -t/-f options allow one to treat directories of files -# as a single file, or to transform a file in other ways on -# its way in and out of CVS. -# -# The -m option specifies whether CVS attempts to merge files. -# -# The -k option specifies keyword expansion (e.g. -kb for binary). -# -# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers) -# -# wildcard [option value][option value]... -# -# where option is one of -# -f from cvs filter value: path to filter -# -t to cvs filter value: path to filter -# -m update methodology value: MERGE or COPY -# -k expansion mode value: b, o, kkv, &c -# -# and value is a single-quote delimited value. -# For example: -#*.gif -k 'b' diff --git a/CVSROOT/editinfo b/CVSROOT/editinfo deleted file mode 100644 index d78886c1..00000000 --- a/CVSROOT/editinfo +++ /dev/null @@ -1,21 +0,0 @@ -# The "editinfo" file is used to allow verification of logging -# information. It works best when a template (as specified in the -# rcsinfo file) is provided for the logging procedure. Given a -# template with locations for, a bug-id number, a list of people who -# reviewed the code before it can be checked in, and an external -# process to catalog the differences that were code reviewed, the -# following test can be applied to the code: -# -# Making sure that the entered bug-id number is correct. -# Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review -# number to identify this particular code set.). -# -# If any of the above test failed, then the commit would be aborted. -# -# Actions such as mailing a copy of the report to each reviewer are -# better handled by an entry in the loginfo file. -# -# One thing that should be noted is the the ALL keyword is not -# supported. There can be only one entry that matches a given -# repository. diff --git a/CVSROOT/loginfo b/CVSROOT/loginfo deleted file mode 100644 index 278ca2c8..00000000 --- a/CVSROOT/loginfo +++ /dev/null @@ -1,29 +0,0 @@ -# The "loginfo" file controls where "cvs commit" log information -# is sent. The first entry on a line is a regular expression which must match -# the directory that the change is being made to, relative to the -# $CVSROOT. If a match is found, then the remainder of the line is a filter -# program that should expect log information on its standard input. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name ALL appears as a regular expression it is always used -# in addition to the first matching regex or DEFAULT. -# -# You may specify a format string as part of the -# filter. The string is composed of a `%' followed -# by a single format character, or followed by a set of format -# characters surrounded by `{' and `}' as separators. The format -# characters are: -# -# s = file name -# V = old version number (pre-checkin) -# v = new version number (post-checkin) -# -# For example: -#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog -# or -#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog -# -# commit messages for lam-cvs -DEFAULT /cvsroot/sitedocs/CVSROOT/cvstools/syncmail %{sVv} lam-cvs@lists.sourceforge.net \ No newline at end of file diff --git a/CVSROOT/modules b/CVSROOT/modules deleted file mode 100644 index cb9e9efc..00000000 --- a/CVSROOT/modules +++ /dev/null @@ -1,26 +0,0 @@ -# Three different line formats are valid: -# key -a aliases... -# key [options] directory -# key [options] directory files... -# -# Where "options" are composed of: -# -i prog Run "prog" on "cvs commit" from top-level of module. -# -o prog Run "prog" on "cvs checkout" of module. -# -e prog Run "prog" on "cvs export" of module. -# -t prog Run "prog" on "cvs rtag" of module. -# -u prog Run "prog" on "cvs update" of module. -# -d dir Place module in directory "dir" instead of module name. -# -l Top-level directory only -- do not recurse. -# -# NOTE: If you change any of the "Run" options above, you'll have to -# release and re-checkout any working directories of these modules. -# -# And "directory" is a path to a directory relative to $CVSROOT. -# -# The "-a" option specifies an alias. An alias is interpreted as if -# everything on the right of the "-a" had been typed on the command line. -# -# You can encode a module within a module by using the special '&' -# character to interpose another module into the current module. This -# can be useful for creating a module that consists of many directories -# spread out over the entire source repository. diff --git a/CVSROOT/notify b/CVSROOT/notify deleted file mode 100644 index 34f0bc28..00000000 --- a/CVSROOT/notify +++ /dev/null @@ -1,12 +0,0 @@ -# The "notify" file controls where notifications from watches set by -# "cvs watch add" or "cvs edit" are sent. The first entry on a line is -# a regular expression which is tested against the directory that the -# change is being made to, relative to the $CVSROOT. If it matches, -# then the remainder of the line is a filter program that should contain -# one occurrence of %s for the user to notify, and information on its -# standard input. -# -# "ALL" or "DEFAULT" can be used in place of the regular expression. -# -# For example: -#ALL mail %s -s "CVS notification" diff --git a/CVSROOT/rcsinfo b/CVSROOT/rcsinfo deleted file mode 100644 index 49e59f4d..00000000 --- a/CVSROOT/rcsinfo +++ /dev/null @@ -1,13 +0,0 @@ -# The "rcsinfo" file is used to control templates with which the editor -# is invoked on commit and import. -# -# The first entry on a line is a regular expression which is tested -# against the directory that the change is being made to, relative to the -# $CVSROOT. For the first match that is found, then the remainder of the -# line is the name of the file that contains the template. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name "ALL" appears as a regular expression it is always used -# in addition to the first matching regex or "DEFAULT". diff --git a/CVSROOT/taginfo b/CVSROOT/taginfo deleted file mode 100644 index 274a46dd..00000000 --- a/CVSROOT/taginfo +++ /dev/null @@ -1,20 +0,0 @@ -# The "taginfo" file is used to control pre-tag checks. -# The filter on the right is invoked with the following arguments: -# -# $1 -- tagname -# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d -# $3 -- repository -# $4-> file revision [file revision ...] -# -# A non-zero exit of the filter program will cause the tag to be aborted. -# -# The first entry on a line is a regular expression which is tested -# against the directory that the change is being committed to, relative -# to the $CVSROOT. For the first match that is found, then the remainder -# of the line is the name of the filter to run. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name "ALL" appears as a regular expression it is always used -# in addition to the first matching regex or "DEFAULT". diff --git a/CVSROOT/verifymsg b/CVSROOT/verifymsg deleted file mode 100644 index 86f747ce..00000000 --- a/CVSROOT/verifymsg +++ /dev/null @@ -1,21 +0,0 @@ -# The "verifymsg" file is used to allow verification of logging -# information. It works best when a template (as specified in the -# rcsinfo file) is provided for the logging procedure. Given a -# template with locations for, a bug-id number, a list of people who -# reviewed the code before it can be checked in, and an external -# process to catalog the differences that were code reviewed, the -# following test can be applied to the code: -# -# Making sure that the entered bug-id number is correct. -# Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review -# number to identify this particular code set.). -# -# If any of the above test failed, then the commit would be aborted. -# -# Actions such as mailing a copy of the report to each reviewer are -# better handled by an entry in the loginfo file. -# -# One thing that should be noted is the the ALL keyword is not -# supported. There can be only one entry that matches a given -# repository. diff --git a/lam/COPYING b/lam/COPYING deleted file mode 100644 index 5b6e7c66..00000000 --- a/lam/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -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 Program or any portion -of it, thus forming a work based on the Program, 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) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -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 Program, 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 Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) 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; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, 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 executable. However, as a -special exception, the source code 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. - -If distribution of executable or 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 counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program 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. - - 5. 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 Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program 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 to -this License. - - 7. 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 Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program 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 Program. - -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. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program 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. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies 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 Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, 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 - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. 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 PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/lam/HISTORY b/lam/HISTORY deleted file mode 100644 index 55a6c56b..00000000 --- a/lam/HISTORY +++ /dev/null @@ -1,108 +0,0 @@ -??? 0.5-alpha1 - - new modular architecture - -> possibility to create Unix-only accounts - -> plugins for more objectClasses planned - -> enhanced PDF output - -> enhanced file upload - -> enhanced editor for account profiles - -> dynamic configuration options (based on modules) - - all pages in UTF-8 - - added developer documentation - - PHPDoc formated comments - - - fixed bugs: - fixed doctype of main frame - removed syntax check for LDAP suffixes - fixed IE bug at login - - -26.05.2004 0.4.6 - - fixed bugs: - password hashes were not disabled correctly - street was copied to postal code on modify (938502) - underscore was not allowed for host names (934445) - deleting postal address or facsimile number failed (948616) - TLS error handling (958497) - smaller fixes on personal settings page - - -21.03.2004 0.4.5 - - added French translation - - fixed bugs: - StatusMessages with additional variables did not work - Samba hosts had unnecessary objectClass shadowAccount (910084) - Samba host passwords were still wrong - LAM had problems with non-standard spelled object classes (907636) - Perl scripts did not work if Perl is not installed in /usr/bin/perl (913554) - problems when cn!=uid (915041) - home directories were not deleted by lamdaemon.pl (913552) - - -29.02.2004 0.4.4 (stable) - - fixed bugs: - plain posix groups could not be used as Samba 3 primary group - if magic_quotes_gpc in php.ini is was set to "Off", several pages did not work - some smaller bugs in mass upload - Samba hash values for hosts were not correct - Unix passwords could be disabled but not reenabled - fixed problem with eval() in status.inc (894433) - - -08.02.2004 0.4.3 - - new login layout - - added Hungarian and Japanese translations - - fixed bugs: - Samba paswords were sometimes empty for new users (892272) - links in list views may not work with web servers other than Apache - - -21.01.2004 0.4.2 - - added config wizard - - MHash is only needed for PHP < 4.3 - - use Blowfish for encryption instead of MCrypt - - -29.12.2003 0.4.1 - - - better error handling at login - - support spaces in DNs - - PDF text for users - - create missing OUs recursivly - - fixed bugs: - SMD5 passwords were wrong - primaryGroupSID wrong if SID has no relation to Algorithmic RID Base - Samba 2 accounts could not be created - - -29.10.2003 0.4 (Beta1) - - - improved design - - improved documentation - - Fixed possible error which could delete entries if objectclass didn't fit - - Fixed many samba 3.0 related bugs, most related to SIDs - - edit group members directly - - support for several password hashes (CRYPT/SHA/SSHA/MD5/SMD5/PLAIN) - - PDF output for groups and hosts - - -31.08.2003 0.3 (Alpha 3) - - - Samba 3 support - - manage Samba 3 domains - - multiple configuration files - - PDF output - - better mass creation - - -04.07.2003 0.2 (Alpha 2) - - - support for multiple OUs + OU-Editor - - account creation via file upload - - profile editor - - experimental Samba 3 support - - fixed a lot of bugs - - -23.05.2003 0.1 (Alpha 1) - - Initial release diff --git a/lam/INSTALL b/lam/INSTALL deleted file mode 100644 index ab0a5a2b..00000000 --- a/lam/INSTALL +++ /dev/null @@ -1,52 +0,0 @@ - -Installation Instructions for LAM ---------------------------------- - - -1. Requirements - - - Apache webserver (SSL optional) with installed PHP-Module (PHP-Module with - ldap, gettext, mcrypt+mhash optional) - - Perl (optional, needed only for lamdaemon) - - OpenLDAP (>2.0) - - A web browser :-) - - MHash is only needed if you use PHP < 4.3 and want to use SHA or SSHA - for password hashes. - MCrypt will be used if available, otherwise Blowfish will be used - to store your LDAP password in the session file. - - Getting mcrypt and mhash for Suse/RedHat: - - Either you compile PHP4 yourself or you use some unofficial packages: - - - Suse: ftp://ftp.suse.com/pub/people/poeml/mod_php4 - - RedHat: http://ftp.horde.org/pub/RPMS - - -2. Installation - - * Extract package with: - tar xzf ldap-account-manager_.tar.gz - - * Copy files into the html-file scope of the webserver. For example - /apache/htdocs. - - * Set appropriate file permissions: - - lam/sess: write permission for apache user - - lam/tmp: write permission for apache user - - lam/config (with subdirectories): write permission for apache user - - lam/lib: lamdaemon.pl must be set executable (See also - docs/readme.lamdeamon.txt) - - * Configure config.cfg and create a configuration profile. - Copy config.cfg_sample to config.cfg and set the master password and default - profile. - - - With web browser: - Follow the link "Configuration Login" from the start page (lam/index.html). - (The default password to edit the options is "lam") - - - Manually: - A default config file can be found in /lam/config/lam.conf_sample. - Change the necessary entries and rename it to /lam/config/lam.conf. diff --git a/lam/README b/lam/README deleted file mode 100644 index 28c89def..00000000 --- a/lam/README +++ /dev/null @@ -1,81 +0,0 @@ - -LAM - Readme -============ - - A set of PHP-scripts to administrate Unix and Samba accounts in a LDAP server. - LAM runs on any webserver with PHP4 support and connects to your LDAP server - unencrypted or via SSL. - The application manages accounts for users, groups and Samba hosts in - multiple organizational units. LAM supports the Samba 2.x schema and the - Samba 3 schema. - - http://sourceforge.net/projects/lam/ - - Copyright (C) 2003 - 2004 Michael Duergner - Roland Gruber - Tilo Lutz - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Requirements: - PHP4 - Openldap (2.0 or greater) - A web-browser that supports CSS (Netscape 4.x is not recommended) - - Summary: - With LAM you can easily manage user, group and machine accounts stored in - a LDAP server over a web interface. At the moment it supports: - - - displaying the user/group/host/domain entries - - deleting entries - - adding new entries - - editing entries - - filtering and sorting - - account profiles - - access management - - multiple configuration profiles - - OU Editor - - account creation via file upload - - Samba 2 and 3 schema support - - Important: - The standard password to edit the configuration options is "lam". - - Download: - You can get the newest version at http://sourceforge.net/projects/lam/ - - Installation: - Please see the INSTALL file. - - Documentation: - Basic documentation is available in the directory "docs". - - Internationalization: - If you want to use a translated version of LAM be sure to install the - needed locales. See locale/ for a list of supported locales and languages. - Debian users can add locales with "dpkg-reconfigure locales". - - Security: - It is strongly recommended to use a SSL connection to your web server. - - LAM needs to store your LDAP username + password in the session. The session - files are saved in sess/ and are accessible only by the web server. To increase - security username and password are encrypted with MCrypt/AES or Blowfish. - The key and IV are generated at random when you log in. They are stored in two - cookies. - - - Have fun! - The LAM devel team diff --git a/lam/TODO b/lam/TODO deleted file mode 100644 index 05778cfd..00000000 --- a/lam/TODO +++ /dev/null @@ -1,9 +0,0 @@ -stable - -??? - - -0.5 - -- check security -- module structure \ No newline at end of file diff --git a/lam/config/.htaccess b/lam/config/.htaccess deleted file mode 100644 index 11c59d17..00000000 --- a/lam/config/.htaccess +++ /dev/null @@ -1,4 +0,0 @@ - - Order allow,deny - Deny from all - diff --git a/lam/config/config.cfg_sample b/lam/config/config.cfg_sample deleted file mode 100644 index 120aed1c..00000000 --- a/lam/config/config.cfg_sample +++ /dev/null @@ -1,5 +0,0 @@ -# password to add/delete/rename configuration profiles -password: lam - -# default profile, without ".conf" -default: lam diff --git a/lam/config/lam.conf_sample b/lam/config/lam.conf_sample deleted file mode 100644 index 44c79edc..00000000 --- a/lam/config/lam.conf_sample +++ /dev/null @@ -1,76 +0,0 @@ -# LDAP Account Manager configuration - -# server address (e.g. ldap://localhost:389 or ldaps://localhost:636) -serverURL: ldap://localhost:389 - -# list of users who are allowed to use LDAP Account Manager -# names have to be seperated by semicolons -# e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org -admins: cn=Manager,dc=my-domain,dc=com - -# password to change these preferences via webfrontend -passwd: lam - -# suffix of users -# e.g. ou=People,dc=yourdomain,dc=org -usersuffix: ou=people,dc=my-domain,dc=com - -# suffix of groups -# e.g. ou=Groups,dc=yourdomain,dc=org -groupsuffix: ou=groups,dc=my-domain,dc=com - -# suffix of Samba hosts -# e.g. ou=machines,dc=yourdomain,dc=org -hostsuffix: ou=machines,dc=my-domain,dc=com - -# suffix of Samba 3 domains -# e.g. ou=domains,dc=yourdomain,dc=org -domainsuffix: ou=domains,dc=my-domain,dc=com - -# list of attributes to show in user list -# entries can either be predefined values (e.g. '#cn' or '#uid') -# or individual ones (e.g. 'uid:User ID' or 'host:Host Name') -# values have to be seperated by semicolons -userlistAttributes: #uid;#givenName;#sn;#uidNumber;#gidNumber - -# list of attributes to show in group list -# entries can either be predefined values (e.g. '#cn' or '#gidNumber') -# or individual ones (e.g. 'cn:Group Name') -# values have to be seperated by semicolons -grouplistAttributes: #cn;#gidNumber;#memberUID;#description - -# list of attributes to show in host list -# entries can either be predefined values (e.g. '#cn' or '#uid') -# or individual ones (e.g. 'cn:Host Name') -# values have to be seperated by semicolons -hostlistAttributes: #cn;#description;#uidNumber;#gidNumber - -# maximum number of rows to show in user/group/host lists -maxlistentries: 30 - -# default language (a line from config/language) -defaultLanguage: en_GB:UTF-8:English (Britain) - -# Path to external Script -scriptPath: - -# Server of external Script -scriptServer: - -# Number of minutes LAM caches LDAP searches. -cachetimeout: 5 - -# Password hash algorithm (CRYPT/MD5/SMD5/SHA/SSHA/PLAIN). -pwdhash: SSHA - -# Module settings - -modules: posixAccount_minUID: 10000 -modules: posixAccount_maxUID: 30000 -modules: posixAccount_minMachine: 50000 -modules: posixAccount_maxMachine: 60000 -modules: posixGroup_minGID: 10000 -modules: posixGroup_maxGID: 20000 -modules: posixGroup_pwdHash: SSHA -modules: posixAccount_pwdHash: SSHA - diff --git a/lam/config/language b/lam/config/language deleted file mode 100644 index aa3cc9fe..00000000 --- a/lam/config/language +++ /dev/null @@ -1,24 +0,0 @@ -# LDAP Account Manager language configuration file -# -# Do not modify! - -# Each line consists of a ":"-seperated entry. The first part is the locale name, -# the second is the character encoding and the third the language name. - -# English -en_GB.utf8:UTF-8:English (Great Britain) - -# Spanish -es_ES.utf8:UTF-8:Spanish (Spain) - -# French -fr_FR.utf8:UTF-8:Français (France) - -# German -de_DE.utf8:UTF-8:Deutsch (Deutschland) - -# Hungarian -hu_HU.utf8:UTF-8:Magyar (Magyarorszag) - -# Japanese -ja_JP.utf8:UTF-8:日本語 (日本) diff --git a/lam/config/pdf-structure.xml b/lam/config/pdf-structure.xml deleted file mode 100644 index f8dddfd6..00000000 --- a/lam/config/pdf-structure.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - -
- - - - - - - - - - -
-
- - - - - - - - -
-
- - - - - - - - -
-
- -
-
- -
- - - - -
-
- -
- - - - - -
-
-
\ No newline at end of file diff --git a/lam/config/pdf/logos/logo.png b/lam/config/pdf/logos/logo.png deleted file mode 100644 index 24053248..00000000 Binary files a/lam/config/pdf/logos/logo.png and /dev/null differ diff --git a/lam/config/pdf/logos/logo2.png b/lam/config/pdf/logos/logo2.png deleted file mode 100644 index 64b45edc..00000000 Binary files a/lam/config/pdf/logos/logo2.png and /dev/null differ diff --git a/lam/config/pdf/logos/printLogo.jpg b/lam/config/pdf/logos/printLogo.jpg deleted file mode 100644 index 45e0b799..00000000 Binary files a/lam/config/pdf/logos/printLogo.jpg and /dev/null differ diff --git a/lam/config/profiles/default.group b/lam/config/profiles/default.group deleted file mode 100644 index 8b137891..00000000 --- a/lam/config/profiles/default.group +++ /dev/null @@ -1 +0,0 @@ - diff --git a/lam/config/profiles/default.host b/lam/config/profiles/default.host deleted file mode 100644 index e69de29b..00000000 diff --git a/lam/config/profiles/default.user b/lam/config/profiles/default.user deleted file mode 100644 index 8ece1d0d..00000000 --- a/lam/config/profiles/default.user +++ /dev/null @@ -1,15 +0,0 @@ -general_homedir: /home/$user -general_shell: /bin/bash -unix_password_no: 0 -unix_pwdwarn: 10 -unix_pwdallowlogin: 10 -unix_pwdminage: 1 -unix_pwdmaxage: 365 -unix_pwdexpire: 1893452400 -unix_deactivated: 0 -smb_password_no: 0 -smb_useunixpwd: 1 -smb_flagsD: 0 -smb_flagsX: 1 -smb_homedrive: U: -smb_smbhome: \\server\$user diff --git a/lam/config/shells b/lam/config/shells deleted file mode 100644 index 7105372f..00000000 --- a/lam/config/shells +++ /dev/null @@ -1,17 +0,0 @@ -/bin/ash -/bin/bash -/bin/bash1 -/bin/csh -/bin/false -/bin/ksh -/bin/sh -/bin/tcsh -/bin/true -/bin/zsh -/usr/bin/csh -/usr/bin/ksh -/usr/bin/passwd -/usr/bin/bash -/usr/bin/rbash -/usr/bin/tcsh -/usr/bin/zsh diff --git a/lam/copyright b/lam/copyright deleted file mode 100644 index 95b49d97..00000000 --- a/lam/copyright +++ /dev/null @@ -1,52 +0,0 @@ -This software is copyright (c) 2003 - 2004 by Tilo Lutz, Roland Gruber -and Michael Duergner. - - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -The complete license can be found in the file COPYING. - - -Some parts of this package have other, compatible licences. These are: - -A: GNU Lesser General Public License - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The complete license can be found in the file docs/LGPL-license.txt. - - -B: Freeware - - You may use, modify and redistribute this software as you wish. - - -Programs and licenses with other licenses and/or authors than the -main license and authors: - -lib/blowfish.inc A 2002-2003 Mike Cochrane -lib/fpdf.php B 2003 Olivier Plathey diff --git a/lam/docs/LGPL-license.txt b/lam/docs/LGPL-license.txt deleted file mode 100644 index 27fa5a1a..00000000 --- a/lam/docs/LGPL-license.txt +++ /dev/null @@ -1,502 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! \ No newline at end of file diff --git a/lam/docs/README.fpdf.htm b/lam/docs/README.fpdf.htm deleted file mode 100755 index f556c9cd..00000000 --- a/lam/docs/README.fpdf.htm +++ /dev/null @@ -1,286 +0,0 @@ - - - -FAQ - - - -

FAQ

-1. What's exactly the license of FPDF? Are there any usage restrictions?
-2. When I try to create a PDF, a lot of weird characters show on the screen. Why?
-3. I try to generate a PDF and IE displays a blank page. What happens?
-4. I send parameters using the POST method and the values don't appear in the PDF.
-5. When I use a PHP session, IE doesn't display my PDF any more but asks me to download it.
-6. When I'm on SSL, IE can't open the PDF.
-7. When I execute a script I get the message "FPDF error: Don't alter the locale before including class file".
-8. I try to put a PNG and Acrobat says "There was an error processing a page. A drawing error occurred".
-9. I encounter the following error when I try to generate a PDF: Warning: Cannot add header information - headers already sent by (output started at script.php:X)
-10. I try to display a variable in the Header method but nothing prints.
-11. I defined the Header and Footer methods in my PDF class but nothing appears.
-12. I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.
-13. I try to put the euro symbol but it doesn't work.
-14. I draw a frame with very precise dimensions, but when printed I notice some differences.
-15. I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?
-16. What's the limit of the file sizes I can generate with FPDF?
-17. Can I modify a PDF with FPDF?
-18. I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?
-19. Can I convert an HTML page to PDF with FPDF?
-20. Can I concatenate PDF files with FPDF?
-

-

1. What's exactly the license of FPDF? Are there any usage restrictions?

-FPDF is Freeware (it is stated at the beginning of the source file). There is no usage -restriction. You may embed it freely in your application (commercial or not), with or -without modification. You may redistribute it, too. -

2. When I try to create a PDF, a lot of weird characters show on the screen. Why?

-These "weird" characters are in fact the actual content of your PDF. This behaviour is a bug of -IE. When it first receives an HTML page, then a PDF from the same URL, it displays it directly -without launching Acrobat. This happens frequently during the development stage: on the least -script error, an HTML page is sent, and after correction, the PDF arrives. -
-To solve the problem, simply quit and restart IE. You can also go to another URL and come -back. -
-To avoid this kind of inconvenience during the development, you can generate the PDF directly -to a file and open it through the explorer. -

3. I try to generate a PDF and IE displays a blank page. What happens?

-First of all, check that you send nothing to the browser after the PDF (not even a space or a -carriage return). You can put an exit statement just after the call to the Output() method to -be sure. -
-If it still doesn't work, it means you're a victim of the "blank page syndrome". IE used in -conjunction with the Acrobat plug-in suffers from numerous bugs, in all versions. You should -test your application with as many IE versions as possible (at least if you're on the Internet). -The problem occurs mostly with the POST method, so it is strongly advised to avoid it (all the -more that it causes other problems, see the next question). The GET works better but may fail -when the URL becomes too long: don't use a query string with more than 45 characters. However, a -tip exists to exceed this limit: end the URL with .pdf, which tricks IE. If you use a form, you -can add a hidden field at the last position: -
-
-
- -<INPUT TYPE="HIDDEN" NAME="ext" VALUE=".pdf"> - -

-The usage of PHP sessions also often causes trouble (avoid using HTTP headers preventing caching). -See question 5 for a workaround. -
-
-To avoid all these problems in a reliable manner, two main techniques exist: -
-
-- Disable the plug-in and use Acrobat as a helper application. To do this, launch Acrobat; in -the File menu, Preferences, General, uncheck the option "Web Browser Integration" (for Acrobat -5: Edit, Preferences, Options, "Display PDF in Browser"). Then, the next time you load a PDF in -IE, it displays the dialog box "Open it" or "Save it to disk". Uncheck the option "Always ask -before opening this type of file" and choose Open. From now on, PDF files will open -automatically in an external Acrobat window. -
-The drawback of the method is that you need to alter the client configuration, which you can do -in an intranet environment but not for the Internet. -
-
-- Use a redirection technique. It consists in generating the PDF in a temporary file on the -server and redirect the client on it (by using JavaScript, not the Location HTTP header which -also causes trouble). For instance, at the end of the script, you can put the following: -
-
-
- -//Determine a temporary file name in the current directory
-$file=basename(tempnam(getcwd(),'tmp'));
-//Save PDF to file
-$pdf->Output($file);
-//JavaScript redirection
-echo "<HTML><SCRIPT>document.location='getpdf.php?f=$file';</SCRIPT></HTML>"; -
-

-Then create the getpdf.php file with this: -
-
-
- -<?php
-$f=$HTTP_GET_VARS['f'];
-//Check file (don't skip it!)
-if(substr($f,0,3)!='tmp' or strpos($f,'/') or strpos($f,'\\'))
-    die('Incorrect file name');
-if(!file_exists($f))
-    die('File does not exist');
-//Handle special IE request if needed
-if($HTTP_SERVER_VARS['HTTP_USER_AGENT']=='contype')
-{
-    Header('Content-Type: application/pdf');
-    exit;
-}
-//Output PDF
-Header('Content-Type: application/pdf');
-Header('Content-Length: '.filesize($f));
-readfile($f);
-//Remove file
-unlink($f);
-exit;
-?> -
-

-This method works in most cases but IE6 can still experience trouble. The "ultimate" method -consists in redirecting directly to the temporary file. The file name must therefore end with .pdf: -
-
-
- -//Determine a temporary file name in the current directory
-$file=basename(tempnam(getcwd(),'tmp'));
-rename($file,$file.'.pdf');
-$file.='.pdf';
-//Save PDF to file
-$pdf->Output($file);
-//JavaScript redirection
-echo "<HTML><SCRIPT>document.location='$file';</SCRIPT></HTML>"; -
-

-This method turns the dynamic PDF into a static one and avoids all troubles. But you have to do -some cleaning in order to delete the temporary files. For instance: -
-
-
- -function CleanFiles($dir)
-{
-    //Delete temporary files
-    $t=time();
-    $h=opendir($dir);
-    while($file=readdir($h))
-    {
-        if(substr($file,0,3)=='tmp' and substr($file,-4)=='.pdf')
-        {
-            $path=$dir.'/'.$file;
-            if($t-filemtime($path)>3600)
-                @unlink($path);
-        }
-    }
-    closedir($h);
-} -
-

-This function deletes all files of the form tmp*.pdf older than an hour in the specified -directory. You may call it where you want, for instance in the script which generates the PDF. -
-
-Remark: it is necessary to open the PDF in a new window, as you can't go backwards due to the -redirection. -

4. I send parameters using the POST method and the values don't appear in the PDF.

-It's a problem affecting some versions of IE (especially the first 5.5). See the previous -question for the ways to work around it. -

5. When I use a PHP session, IE doesn't display my PDF any more but asks me to download it.

-It's a problem affecting some versions of IE. To work around it, add the following line before -session_start(): -
-
-
- -session_cache_limiter('private'); - -

-or do a redirection as explained in question 3. -

6. When I'm on SSL, IE can't open the PDF.

-The problem may be fixed by adding this line:
-
-
- -Header('Pragma: public'); - -

- -

7. When I execute a script I get the message "FPDF error: Don't alter the locale before including class file".

-When the decimal separator is configured as a comma before including a file, there is a -bug in some PHP versions and decimal -numbers get truncated. Therefore you shouldn't make a call to setlocale() before including the class. -On Unix, you shouldn't set the LC_ALL environment variable neither, for it is equivalent to a -setlocale() call. -

8. I try to put a PNG and Acrobat says "There was an error processing a page. A drawing error occurred".

-Acrobat 5 has a bug and is unable to display transparent monochrome images (i.e. with 1 bit per -pixel). Remove transparency or save your image in 16 colors (4 bits per pixel) or more. -

9. I encounter the following error when I try to generate a PDF: Warning: Cannot add header information - headers already sent by (output started at script.php:X)

-You must send nothing to the browser except the PDF itself: no HTML, no space, no carriage return, -neither before nor after. The script outputs something at line X. -

10. I try to display a variable in the Header method but nothing prints.

-You have to use the global keyword, for instance: -
-
-
- -function Header()
-{
-    global $title;
-
-    $this->SetFont('Arial','B',15);
-    $this->Cell(0,10,$title,1,1,'C');
-} -
-

- -

11. I defined the Header and Footer methods in my PDF class but nothing appears.

-You have to create an object from the PDF class, not FPDF:
-
-
- -$pdf=new PDF(); - -

- -

12. I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.

-You have to enclose your string with double quotes, not single ones. -

13. I try to put the euro symbol but it doesn't work.

-The standard fonts have the euro character at position 128. You can define a constant like this -for convenience: -
-
-
- -define('EURO',chr(128)); - -

-Note: Acrobat 4 or higher is required to display euro. -

14. I draw a frame with very precise dimensions, but when printed I notice some differences.

-To respect dimensions, you have to uncheck the option "Fit to page" in the print dialog box. -

15. I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?

-All printers have physical margins (different depending on the model), it is therefore impossible -to remove them and print on the totality of the paper. -

16. What's the limit of the file sizes I can generate with FPDF?

-There is no particular limit. There are some constraints however: -
-
-- The maximum memory size allocated to PHP scripts defaults to 8MB. For very big documents, -especially with images, this limit may be reached (the file being built into memory). The -parameter is configured in the php.ini file. -
-
-- The maximum execution time allocated defaults to 30 seconds. This limit can of course be easily -reached. It is configured in php.ini and may be altered dynamically with set_time_limit(). -
-
-- Browsers generally have a 5 minute time-out. If you send the PDF directly to the browser and -reach the limit, it will be lost. It is therefore advised for very big documents to -generate them in a file, and to send some data to the browser from time to time (for instance -page 1, page 2... with flush() to force the output). When the document is finished, you can send -a redirection on it with JavaScript or create a link. -
-Remark: even when the browser goes in time-out, the script may continue to run on the server. -

17. Can I modify a PDF with FPDF?

-No. -

18. I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?

-No. But a GPL C utility does exist, pdftotext, which is able to extract the textual content from -a PDF. It is provided with the Xpdf package:
-
-http://www.foolabs.com/xpdf/ -

19. Can I convert an HTML page to PDF with FPDF?

-No. But a GPL C utility does exist, htmldoc, which allows to do it and gives good results:
-
-http://www.easysw.com/htmldoc/ -

20. Can I concatenate PDF files with FPDF?

-No. But a free C utility exists to perform this task:
-
-http://thierry.schmit.free.fr/dev/mbtPdfAsm/enMbtPdfAsm2.html - - diff --git a/lam/docs/README.hosts.txt b/lam/docs/README.hosts.txt deleted file mode 100644 index 8303992e..00000000 --- a/lam/docs/README.hosts.txt +++ /dev/null @@ -1,28 +0,0 @@ -The attribute "host" is only in objectclass account. -Unfortunatly "account" conflicts with -"inetorgperson". so there's no perfect way to use -both. - -In order to get attribute host working you have to -modify schema/inetorgperson and include host: - - -# inetOrgPerson -# The inetOrgPerson represents people who are associated with an -# organization in some way. It is a structural class and is derived -# from the organizationalPerson which is defined in X.521 [X521]. -objectclass ( 2.16.840.1.113730.3.2.2 - NAME 'inetOrgPerson' - DESC 'RFC2798: Internet Organizational Person' - SUP organizationalPerson - STRUCTURAL - MAY ( - audio $ businessCategory $ carLicense $ departmentNumber $ - displayName $ employeeNumber $ employeeType $ givenName $ - homePhone $ homePostalAddress $ initials $ jpegPhoto $ - labeledURI $ mail $ manager $ mobile $ o $ pager $ - photo $ roomNumber $ secretary $ uid $ userCertificate $ - x500uniqueIdentifier $ preferredLanguage $ - userSMIMECertificate $ userPKCS12 $ host ) - ) - diff --git a/lam/docs/README.lamdaemon.txt b/lam/docs/README.lamdaemon.txt deleted file mode 100644 index 1efc6eef..00000000 --- a/lam/docs/README.lamdaemon.txt +++ /dev/null @@ -1,77 +0,0 @@ -lamdaemon.pl is used to modify quota and homedirs -on a remote or local host via ssh. -If you want wo use it you have to set up some -things to get it to work: - -1. Setup values in LDAP Account Manager - * Set the remote or local host in the configuration - (e.g. 127.0.0.1) - * Path to lamdaemon.pl, e.g. /srv/www/htdocs/lam/lib/lamdaemon.pl - - -2. Set up sudo - The perl script has to run as root. Therefore we need - a wrapper, sudo. - Edit /etc/sudoers on host where homedirs or quotas should be used - and add the following line: - $admin All= NOPASSWD: $path - $admin is the adminuser from LAM and $path - is the path to lamdaemon.pl e.g. "$admin All= NOPASSWD: /srv/www/htdocs/lam/lib/lamdaemon.pl" - At the moment the password is a paramteter of lamdaemon.pl - therefore you should disable logging so the password does not - appear in any logfile. - This can be done by adding the following line to /etc/sudoers: - Defaults:$admin !syslog - - -3. Set up Perl - We need some external Perl modules, Quota and Net::SSH::Perl - To install them, run: - - perl -MCPAN -e shell - install Quota - install Net::SSH::Perl - - If your Perl executable is not located in /usr/bin/perl you will have to edit - the path in the first line of lamdaemon.pl. - - Debian users can install Net::SSH:Perl with dh-make-perl: - - apt-get install dh-make-perl - dh-make-perl --build --cpan Net::SSH::Perl - dpkg -i install libnet-ssh-perl_1.25-1_all.deb - - -4. Test lamdaemon.pl - There is a test-function in lamdaemon.pl. Please run lamdaemon.pl - with the following parameters to test it: - - lamdaemon.pl $ssh-server $lam_path_on_host $admin-username $admin-password *test - - $ssh-server is the remote host lamdaemon.pl should be run on - $lam_path_on_host is the path to lamdaemon.pl on remote host - $admin-username is the name of the user which is allowed to run lamdaemon.pl - as root. It is the same user as in /etc/sudoers - $admin-password is the password of the admin user - *test is the command which tells lamdaemon.pl to test settings - - You have to run the command as the user your webserver is running, e.g. - - wwwrun@tilo:/srv/www/htdocs/lam/lib> /srv/www/htdocs/lam/lib/lamdaemon.pl \ - 127.0.0.1 /srv/www/htdocs/lam/lib/lamdaemon.pl root secret *test - - You should get the following response: - - Net::SSH::Perl successfully installed. - Perl quota module successfully installed. - If you have not seen any error lamdaemon.pl should be set up successfully. - - - !!! Attention !!! - Your password in LDAP has to be hashed with CRYPT. If you use something like SSHA - you will probably get "Access denied.". - - -Now everything should work fine. - -Please send a mail to TiloLutz@gmx.de if you have any suggestions. diff --git a/lam/docs/README.openldap.txt b/lam/docs/README.openldap.txt deleted file mode 100644 index b66ae625..00000000 --- a/lam/docs/README.openldap.txt +++ /dev/null @@ -1,21 +0,0 @@ -Some basic hints to configure the OpenLDAP server: - -SIZELIMIT: OpenLDAP allows by default 500 return values per search, if you have more users/groups/hosts - change this in slapd.conf: e.g. "sizelimit 10000" or "sizelimit -1" for unlimited return values. - -INDICES: Indices will improve the performance when searching for entries in the LDAP directory. - The following indices are recommended: - - index objectClass eq - index default sub - index uidNumber eq - index gidNumber eq - index memberUid eq - index cn,sn,uid,displayName pres,sub,eq - # Samba 2.x - index rid eq - index primaryGroupID eq - # Samba 3.x - index sambaSID eq - index sambaPrimaryGroupSID eq - index sambaDomainName eq diff --git a/lam/docs/README.security.txt b/lam/docs/README.security.txt deleted file mode 100644 index cbae78d8..00000000 --- a/lam/docs/README.security.txt +++ /dev/null @@ -1,36 +0,0 @@ - -1. Use of SSL - - The data which is transfered between you and LAM is very sensitive. - Please always use SSL encrypted connections between LAM and your browser to - protect yourself against network sniffers. - - -2. LDAP+SSL and TLS - - LAM should start TLS automatically if possible. LDAP+SSL will be used if you use - ldaps://servername in your configuration profile. - - -3. Chrooted servers - - If your server is chrooted and you have no access to /dev/random or /dev/urandom - this can be a security risk. LAM stores your LDAP password encrypted in the session. - LAM uses rand() to generate the key if /dev/random and /dev/urandom are not accessible. - Therefore the key can be easily guessed. - An attaker needs read access to the session file (e.g. by another Apache instance) to - exploit this. - - -4. LDAP password protection - - Your LDAP password is stored encrypted in the session file. The key and IV to decrypt - it are stored in two cookies. We use MCrypt/AES or Blowfish to encrypt the password. - - -5. Protection of new user passwords - - These passwords are, if stored in the session file, encrypted with the same key and IV - as your LDAP password. - - diff --git a/lam/docs/devel/account_modules.htm b/lam/docs/devel/account_modules.htm deleted file mode 100644 index 2124e5ac..00000000 --- a/lam/docs/devel/account_modules.htm +++ /dev/null @@ -1,49 +0,0 @@ - - - - - Account modules - - - -

Account modules
-

-
base module
-
-

-
The account modules control all the -functionality which is specific for LDAP accounts or parts of them. -E.g. they define the account detail pages where the user can edit -accounts, the profile editor sections and much more. They are the core -of LAM.
-
-All account modules are saved in lib/modules/.
-If your module needs any include files etc. please save it in lib/modules/<name of your module>.
-
-Please take a look at the module HowTo for -an example to write your own modules.
-The complete specification for the module interface can be found here.
-
-

Superclass

-All account modules should be -subclasses of the baseModule.
-This allows them to benefit from the meta data in the baseModule and -reduces very much the code since not the complete module interface has -to be implemented.
-
-
-

Module detection

-New modules can simply be copied to lib/modules. -LAM will check what files are inside the directory and provide the user -new modules automtically.
-There is no extra configuration file.
-
-
-
-
- - diff --git a/lam/docs/devel/base_module.htm b/lam/docs/devel/base_module.htm deleted file mode 100644 index dbb490d4..00000000 --- a/lam/docs/devel/base_module.htm +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Base module - - - -

Base module
-

-
base module
-
-

-
The baseModule -is the parent class of all account modules.
-It implements most functions of the module interface and provides -the possibility to use meta data -for the module functions.
-There are also some class variables which are useful for the child -classes.
-
-
-

Meta data

-The baseModule allows you to -not implement the module -interface directly but to provide meta -data which is interpreted by the baseModule.
-If you do not use certain functions of the interface the baseModule also provides dummy -functions. E.g. if your module needs no configuration option you can -just skip this function in your code and the baseModule will tell the -configuration part that there is no option.
-
-To define meta data you have -to implement the function get_metaData(). -This function must return a hash array with the meta options as array -keys.
-Please refer to the module -interface for details about the format of meta data.
-
-
-

Functions
-

-get_scope(): This function -returns the account type ("user", "group", ...) of the module.
-
-For a list of meta data -functions please refer to the module -interface.
-
-
-

Class variables

-$moduleSettings: This variable -contains the configuration settings of all modules.
-$base: This is the name of the -parent accountContainer -($_SESSION[$base]).
-
-
-
-
-
-
-
-
- - diff --git a/lam/docs/devel/config.htm b/lam/docs/devel/config.htm deleted file mode 100644 index 2fbc23d1..00000000 --- a/lam/docs/devel/config.htm +++ /dev/null @@ -1,61 +0,0 @@ - - - - - config.inc - - - -

config.inc

-
-
-This file includes all functions needed to manage configuration -profiles. It includes classes for the profiles itself and the master -configuration (default profile, master password, etc.).
-
-There are also two global functions for general use: setlanguage and metarefresh
-
-

Meta refresh

-The global function metaRefresh() -takes an URL as argument and prints all HTML code needed for a meta -refresh to this URL.
-
-

Language

-LAM uses gettext to translate -the HTML pages to the different languages. Therefore some preferences -need to be set on every page load. This is done by setlanguage().
-The function should be called directly after starting the session.
-
-The list of possible languages is stored in config/language. It includes the -locale name, the character encoding an the language name.
-All languages use UTF-8 as encoding because LDAP also stores values in -this format.
-
-

Configuration profiles

-Each configuration profile is saved in a single file in config/.
-
-There are two types of configuration options:
-
    -
  • Static options (LDAP server settings, etc.)
    -
  • -
  • Module options (UID/GID ranges)
    -
  • -
-All static options have a describing comment in the configuration file -to make it easier for the user to modify the values. The dynamic -options provided by the modules do not include a comment.
-
-

Master configuration file

-LAM stores the default configuartion profile and a master password in config/config.cfg.
-The master password is verified when the user wants to create/delete -configuration profiles.
- - diff --git a/lam/docs/devel/config_files.htm b/lam/docs/devel/config_files.htm deleted file mode 100644 index 2af11634..00000000 --- a/lam/docs/devel/config_files.htm +++ /dev/null @@ -1,44 +0,0 @@ - - - - - Configuration profiles - - - -

Configuration profiles

-
-LAM allows the user to store the configuration settings in profiles. This makes it easy to -manage different LDAP servers. All profile files ae stored in config/ and are named <name>.conf.
-The master configuration file config/config.cfg only stores the -default profile and master password. It has the same file format as the -profiles.
-
-

File format

-LAM allows to store values and comments in the configuration files. -Only one type per line is allowed, it is not possible to mix comments -and values in the same line.
-
-

Settings
-

-<identifier>: <value>
-
-
The first word in the line is taken as identifier for the -setting. It must be followed by a ":" -and a space.
-The rest of the line is taken as the value for this setting.
-
-

Comments

-# Comment
-
-Comments always start with a "#" -as first character and end at the line end. LAM will ignore all lines -starting with a "#".
- - diff --git a/lam/docs/devel/config_pages.htm b/lam/docs/devel/config_pages.htm deleted file mode 100644 index 27efa4d3..00000000 --- a/lam/docs/devel/config_pages.htm +++ /dev/null @@ -1,77 +0,0 @@ - - - - - LAM - Configuration pages - - - -
-

Configuration pages

-
-
-
configuration
-
-

Configuration - Login (conflogin.php):

-This is the start page of the configuration editor. The user can select -a profile for editing or go to the profile management page.
-Each account profile is protected with a password which is stored in -the profile.
-The list of possible profiles is returned by getConfigProfiles() -in config.inc, the default profile is returned by an object of class CfgMain from -config.inc.
-
-
-

Configuration - Profile management (profmanage.php):

-Here the user can add and modify configuration profiles or change the -configuration master password.
-The configuration master password prevents unauthorised users from -changing the profiles. The password is saved in config/config.cfg and -managed via the CfgMain -class.
-
-
-

Configuration - Main page (confmain.php):

-This page presents all configuration settings for editing.
-Some of the settings are module independent (e.g. server settings, -language, ...) and displayed always.
-The others are set up by the account modules. Only settings of -currently selected modules are displayed.
-Users may also change the profile password on this page.
-
-
-

Configuration - Module selection (confmodules.php):
-

-On this page the user can select which account modules LAM should use.
-The list of possible modules is returned by getAvailableModules() -in modules.inc and checked for dependencies/conflicts with check_module_depends() -and check_module_conflicts().
-
-Each account type needs a base module -which provides the base of a senseful account. It also provides the -LDAP search filter for the account lists.
-
-
-

Configuration - Save settings (confsave.php):
-

-This script checks the input and displays possible error messages or an -overview of the saved settings.
-The static settings are set and checked with an object of class Config from -config.inc.
-The account modules manage the input validation for their fields and -are also able to return error messages. This is done with checkConfigOptions() -from modules.inc.
-
-
-
- - diff --git a/lam/docs/devel/images/lam_baseModule.png b/lam/docs/devel/images/lam_baseModule.png deleted file mode 100644 index 3ddeee0a..00000000 Binary files a/lam/docs/devel/images/lam_baseModule.png and /dev/null differ diff --git a/lam/docs/devel/images/lam_config.png b/lam/docs/devel/images/lam_config.png deleted file mode 100644 index 3be05b25..00000000 Binary files a/lam/docs/devel/images/lam_config.png and /dev/null differ diff --git a/lam/docs/devel/images/lam_lists.png b/lam/docs/devel/images/lam_lists.png deleted file mode 100644 index a942977e..00000000 Binary files a/lam/docs/devel/images/lam_lists.png and /dev/null differ diff --git a/lam/docs/devel/images/lam_overview.png b/lam/docs/devel/images/lam_overview.png deleted file mode 100644 index 235a5050..00000000 Binary files a/lam/docs/devel/images/lam_overview.png and /dev/null differ diff --git a/lam/docs/devel/images/lam_upload.png b/lam/docs/devel/images/lam_upload.png deleted file mode 100644 index 5c65dba5..00000000 Binary files a/lam/docs/devel/images/lam_upload.png and /dev/null differ diff --git a/lam/docs/devel/index.htm b/lam/docs/devel/index.htm deleted file mode 100644 index bf5a19d8..00000000 --- a/lam/docs/devel/index.htm +++ /dev/null @@ -1,97 +0,0 @@ - - - - LAM development documentation - - - -
-

LDAP Account Manager - Code overview

-These documents are supposed to give developers who want to modify LAM -an overview of the codebase. It focuses mainly on what is done to -generate the HTML output and the most important functions provided by -the library files.
-overview
-
-
- - - - - - - - -
-

Web pages:

- -
-

Libraries:

- -
-

Configuration files:

- -
-
-
-

Howtos

- -
-
-
- - diff --git a/lam/docs/devel/ldap.htm b/lam/docs/devel/ldap.htm deleted file mode 100644 index 28e1beeb..00000000 --- a/lam/docs/devel/ldap.htm +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ldap.inc - - - -

ldap.inc

-
-
-This library provides the access to the LDAP server and its content.
-The $_SESSION['ldap'] -object reconnects automatically to the LDAP server on every page load.
-
-
-

1. Server handle

-All PHP functions which access LDAP require a server handle as -parameter. This is managed by ldap.inc.
-You can access it with $_SESSION['ldap']->server.
-
-
-

2. Object classes

-Account modules may want to check if the current LDAP server supports -all required object classes.
-$_SESSION['ldap']->objectClasses -contains a list of object classes and their attributes which is -read from the LDAP server.
-
-
-

3. En-/Decryption

-For security reasons sensitive data like user passwords should be -encrypted before storing in session.
-$_SESSION['ldap']->encrypt(<string>) -encrypts a string and returns a binary object. This can be decrypted -with $_SESSION['ldap']->decrypt(<object>)
-
-Ldap.inc will take care for the crypotographic key and if Blowfish or -MCrypt/AES is used.
-
-
-

4. Random values

-Ldap.inc contains a random integer value which is much more secure than -calling mt_rand(). The value -changes on every page load and is accessible in $_SESSION['ldap']->rand.
-If you need multiple values you can get a new value by calling $_SESSION['ldap']->new_rand().
-
- - diff --git a/lam/docs/devel/lists.htm b/lam/docs/devel/lists.htm deleted file mode 100644 index 348b51f0..00000000 --- a/lam/docs/devel/lists.htm +++ /dev/null @@ -1,103 +0,0 @@ - - - - - LAM - Account lists - - - -

Account lists

-
-
Account lists
-
-
-
-
-The account lists are all built after the same schema. They provide a -list of found accounts which can be restricted by LDAP filters and the -LDAP OU (Organizational Unit).
-
-The list of LDAP attributes and thus table columns is taken from the -configuration profile (get_...listAttributes() -in config.inc). Each account list has a separate list of attributes.
-Only these attributes are given the LDAP search as attribute parameter.
-There is also a predefined description list for the attributes in -lists.inc. The user may use other values by setting them in the -configuration profile.
-
-The number of accounts per page is limited in the configuration profile -(get_MaxListEntries() -in config.inc). There will be links at the beginning and end of the -list if more accounts were found.
-
-Several common helper functions for sorting and some page elements -reside in lists.inc.
-
-

1. Getting accounts from LDAP

-Each account list has its own LDAP suffix which is saved in the -configuration profile. This is used as search base.
-The account modules provide an LDAP filter (get_ldap_filter() -in modules.inc) to get only accounts of a special type.
-
-This list can be further reduced if the user provides an additional -LDAP filter with the filter boxes or selects another LDAP OU with the -drop-down-box.
-
-

2. Caching LDAP accounts

-The lists usually do not ask the LDAP server for an account list every -time the user changes the page. The accounts are cached in the session.
-
-A new LDAP search is done if the user:
-
    -
  • changes to another account list or tool
  • -
  • adds/modifies an account
  • -
  • selects the "refresh" button
  • -
  • adds additional LDAP filters or changes the LDAP OU
    -
  • -
-
-It is not done if the user:
-
    -
  • changes the list pages if there are more accounts than what can -be shown
  • -
  • sorts the list
  • -
-
-

3. Adding/Editing accounts

-There are buttons at the end of the page to add/delete accounts. Adding -accounts is done by account/edit.php and deleting by delete.php.
-
-The user can use the link in each account row to modify (in -accounts/edit.php) the account. This can also be done by double -clicking the row if Java Script is enabled.
-
-
-

4. Export to PDF

-The user can generate PDF files for the accounts. This is done by the createModulePDF() -function from pdf.inc.
-
-
-

5. Special abilities of some lists

-

5.1. The user list

-If the attribute gidNumber is -shown as table column then there will be an additional checkbox to -translate the GID to the group name.
-This checkbox is hidden if gidNumber -is not part of the attribute list.
-
-

5.2. The group list

-If the attribute memberUID is shown as table column then all values of -this attribute are shown as links.
-These links redirect to userlink.php which tries to find the given user -and redirects to account/edit.php for account modifying.
-
-
-
- - diff --git a/lam/docs/devel/mod_accountPages.htm b/lam/docs/devel/mod_accountPages.htm deleted file mode 100644 index 38d66d6d..00000000 --- a/lam/docs/devel/mod_accountPages.htm +++ /dev/null @@ -1,420 +0,0 @@ - - - - Module HowTo - Account pages - - - -
-

Module HowTo - Account pages
-

-
-
-

-

1. Loading the LDAP attributes
-

-Every time the user selects an existing account to modify LAM will load -the complete LDAP entry of it. Your module then should select the -attributes which are useful for it.
-There are two variables in baseModule -which should be used to store the attributes. The $attributes variable stores the -current attributes including changes the user made. The $orig variable stores the attributes -as they were originally when the account was loaded. This allows you to -see what changes were made.
-
-The load_attributes() function -in your module gets the complete attribute list from LDAP.
-
-Example:
-
-The ieee802Device uses an -object class and the 'macAddress' -attribute. Therefore we will save this two values.
-
- - - - - - -
    /**
-    * This function loads all needed attributes into the -object.
-    *
-    * @param array $attr an array as it is retured from -ldap_get_attributes
-    */
-    function load_attributes($attr) {
-        -$this->attributes['objectClass'] = array();
-        -$this->attributes['macAddress'] = array();
-        $this->orig['objectClass'] = -array();
-        $this->orig['macAddress'] = -array();
-        if (isset($attr['objectClass'])) {
-            -unset($attr['objectClass']['count']);
-            -$this->attributes['objectClass'] = $attr['objectClass'];
-            -$this->orig['objectClass'] = $attr['objectClass'];
-        }
-        if (isset($attr['macAddress'])) {
-            -unset($attr['macAddress']['count']);
-            -$this->attributes['macAddress'] = $attr['macAddress'];
-            -$this->orig['macAddress'] = $attr['macAddress'];
-        }
-        return 0;
-    }
-
-
-
-

2. Defining pages
-

-You can define multiple subpages for your account page. Usually one -page is enough but you may display certain attribute settings on an -extra page (e.g. Unix group memberships are on a second page).
-
-The page names are set by pages() which -returns an array of names.
-
-Example:
-
-The -ieee802Device -module needs only one page which is called 'attributes'.
-
- - - - - - -
    /**
-    * This function returns a list of all account pages -in this module.
-    */
-    function pages() {
-        return array('attributes');
-    }
-
-
-
-

3. Page display

-Now that you have defined your subpages you will need one function for -each page to display it. The function must return meta HTML code as defined in the modules specification.
-This function is called display_html_<page -name>() where <page -name> is the name of your subpage.
-
-Example:
-
-The -ieee802Device -module has only one subpage called 'attributes'.
-
-The first half of the code displays the existing MAC addresses and the -second an input field for new values.
-The variable $this->attributes -contains the LDAP attributes which are useful for this module.
-
- - - - - - -
    /**
-    * This function will create the meta HTML code to -show a page with all attributes.
-    *
-    * @param array $post HTTP-POST values
-    */
-    function display_html_attributes($post) {
-        $return = array();
-        // list current MACs
-        for ($i = 0; $i < -sizeof($this->attributes['macAddress']); $i++) {
-            $return[] = -array(
-            -    0 => array('kind' => 'text', 'text' => -_('MAC address')),
-            -    1 => array('kind' => 'input', 'name' => -'macAddress' . $i, 'type' => 'text', 'size' => '17', 'maxlength' -=> '17', 'value' => $this->attributes['macAddress'][$i]),
-            -    2 => array('kind' => 'input', 'type' => -'submit', 'name' => 'delMAC' . $i, 'value' => _("Remove")),
-            -    3 => array('kind' => 'help', 'value' => -'mac'));
-        }
-        // input box for new MAC
-        $return[] = array(
-            0 => -array('kind' => 'text', 'text' => _('New MAC address')),
-            1 => -array('kind' => 'input', 'name' => 'macAddress', 'type' => -'text', 'size' => '17', 'maxlength' => '17', 'value' => ''),
-            2 => -array('kind' => 'input', 'type' => 'submit', 'name' => -'addMAC', 'value' => _("Add")),
-            3 => -array('kind' => 'help', 'value' => 'mac'),
-            4 => -array('kind' => 'input', 'type' => 'hidden', 'value' => -sizeof($this->attributes['macAddress']), 'name' => 'mac_number'));
-        return $return;
-    }
-
-
-
-

4. Processing input data
-

-Every time the user clicks on a submit button while your page is -displayed LAM will call a function in your module.
-This function is called process_<page -name>() where <page -name> is the name of your subpage.
-
-Example:
-
-The -ieee802Device -module has only one subpage called 'attributes' -and therefore only process_attributes().
-
-The function checks the input fields and fills the LDAP attributes. If -all is ok it will enable the user to move to another module page.
-
- - - - - - -
    /**
-    * Write variables into object and do some regex -checks
-    *
-    * @param array $post HTTP-POST values
-    */
-    function proccess_attributes($post) {
-        $this->triggered_messages = -array();
-        -$this->attributes['macAddress'] = array();
-        // check old MACs
-        if (isset($post['mac_number'])) {
-            for ($i = 0; -$i < $post['mac_number']; $i++) {
-            -    if (isset($post['delMAC' . $i])) continue;
-            -    if (isset($post['macAddress' . $i]) && -($post['macAddress' . $i] != "")) {
-            -        // check if address has correct -format
-            -        if (!get_preg($post['macAddress' -. $i], 'macAddress')) {
-            -            $message = -$this->messages['mac'][0];
-            -            $message[] = -$post['macAddress' . $i];
-            -            -$this->triggered_messages[] = array($message);
-            -        }
-            -        -$this->attributes['macAddress'][] = $post['macAddress' . $i];
-            -    }
-            }
-        }
-        // check new MAC
-        if (isset($post['macAddress']) -&& ($post['macAddress'] != "")) {
-            // check if -address has correct format
-            if -(get_preg($post['macAddress'], 'macAddress')) {
-            -    $this->attributes['macAddress'][] = -$post['macAddress'];
-            }
-            else {
-            -        $message = -$this->messages['mac'][0];
-            -        $message[] = $post['macAddress'];
-            -        $this->triggered_messages[] = -array($message);
-            }
-        }
-        -$this->attributes['macAddress'] = -array_unique($this->attributes['macAddress']);
-        if -(sizeof($this->triggered_messages) > 0) {
-            -$this->inputCorrect = false;
-            return -$this->triggered_messages;
-        }
-        else {
-            -$this->inputCorrect = true;
-            return 0;
-        }
-    }
-
-
-
-

5. Defining that your module is ready for LDAP add/modify

-Before a new account can be created or modified all modules are asked -if they are ready.
-There are two functions which control the module status. The module_ready() function has to -return true if the user may -move to another module page. If it is false -the user will be redirected to your module page. The second function is -module_complete(). The user -cannot do the LDAP operation if one or modules return false.
-
-Example:
-
-The -ieee802Device -module uses a global variable to store the status: $this->inputCorrect. It is set -in process_attributes(). The -variable can be preset to true -because the MAC address is optional.
-
- - - - - - -
    /** used for -account pages, true if input data is correct */
-    var -$inputCorrect = true;
-
-    /**
-    * This function returns true if all needed settings -are done.
-    */
-    function module_complete() {
-        return $this->inputCorrect;
-    }
-   
-    /**
-    * Returns true if all settings on module page are -correct.
-    */
-    function module_ready() {
-        return $this->inputCorrect;
-    }
-
-
-
-

6. Saving the LDAP attributes
-

-When all modules report that they are ready for LDAP add/modify and the -user clicks on the add/modify button your module will be asked what -changes have to be made.
-This is done in the function save_attributes() -which must be implemented by your module.
-
-Example:
-
-The ieee802Device -module saves the attribute states in $attributes -and $orig and there are no -other DNs which may be modified. Therefore we can use the save_module_attributes() function in -accountContainer. You can -always access the current accountContainer -with $_SESSION[$this->base].
-
- - - - - - -
    /**
-    * Returns a list of modifications which have to be -made to the LDAP account.
-    *
-    * @return array list of modifications
-    * <br>This function returns an array with 3 -entries:
-    * <br>array( DN1 ('add' => array($attr), -'remove' => array($attr), 'modify' => array($attr)), DN2 .... )
-    * <br>DN is the DN to change. It may be -possible to change several DNs (e.g. create a new user and add him to -some groups via attribute memberUid)
-    * <br>"add" are attributes which have to be -added to LDAP entry
-    * <br>"remove" are attributes which have to be -removed from LDAP entry
-    * <br>"modify" are attributes which have to -been modified in LDAP entry
-    */
-    function save_attributes() {
-        return -$_SESSION[$this->base]->save_module_attributes($this->attributes, -$this->orig);
-    }
-
-
-
- -

-
-
- - diff --git a/lam/docs/devel/mod_basics.htm b/lam/docs/devel/mod_basics.htm deleted file mode 100644 index 31103809..00000000 --- a/lam/docs/devel/mod_basics.htm +++ /dev/null @@ -1,109 +0,0 @@ - - - - Module HowTo - Basic concepts - - - -
-

Module HowTo - Basic concepts
-

-
-
-

-

1. Licensing

-LAM is licensed under the GNU -General Public License. This means your plugins need a compatible -license.
-LAM is distributed with a copy of the GPL license.
-
-

2. Naming and position in directory structure

-
-Module names are usually named after the object class they manage. -However, you can use any name you want, it should be short and -containing only a-z and 0-9. The module name is only shown in the -configuration dialog, on all other pages LAM will show a provided alias name.
-All account modules are stored in lib/modules. -The filename must end with .inc -and the file must have the same name as its inside class.
-
-Example: -Our example module will provide the class -ieee802Device, -therefore the file will be called lib/modules/ieee802Device.inc.
-
-
-

3. Defining the class

-All module classes have baeModule -as parent class. This provides common functionality and dummy functions -for all required class functions.
-
-Example:
-
- - - - - - -
/**
-* Provides MAC addresses for hosts.
-*
-* @package modules
-*/
-class
ieee802Device - extends baseModule {
-
-}
-
-
-

4. Meta data

-The module interface inludes a lot of required and optional functions. -Many of these functions do not need to be implemented directly in the -module, you can define meta data -for them and the baseModule -will do the rest.
-Providing meta data is -optional, you can implement the required functions in your class, too.
-
-The baseModule reads the meta data by calling get_metaData() in your class.
-
-Example:
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function get_metaData() {
-        $return = array();
-        // manages host accounts
-        $return["account_types"] = -array("host");
-    }
-
-
-You will see this functions several times in the next parts of this -HowTo.
-
-

-
-
- - diff --git a/lam/docs/devel/mod_config.htm b/lam/docs/devel/mod_config.htm deleted file mode 100644 index 9aae47e0..00000000 --- a/lam/docs/devel/mod_config.htm +++ /dev/null @@ -1,253 +0,0 @@ - - - - Module HowTo - Configuration options - - - -
-

Module HowTo - Configuration options
-

-

-There might be situations where you want to give the user the -possibility to make general settings which are not useful to place on -the account detail pages or profile editor.
-Therefore LAM allows the modules to define their own configuration -options. E.g. the posixAccount -module uses this to define the ranges for the UIDs.
-LAM will display your configuration options only if the user also -selected your module.
-
-

-

1. Defining configuration options
-

-First you have to define what options you want to offer the user. LAM -will display all options in one fieldset for each module. Please notice -that there will be no separation on account types if you module is -suitable for different account types.
-
-The configuration options are specified with get_configOptions() -or meta['config_options'].
-
-Example:
-
-The posixGroup module offers -three configuration options. The min/maximum values for GIDs and the -password hash type.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // configuration options
-        $return['config_options']['group'] = array(
-            array(
-               - 0 => array('kind' => 'text', 'text' => '<b>' . -_('Minimum GID number') . " *: </b>"),
-               - 1 => array('kind' => 'input', 'name' => -'posixGroup_minGID', 'type' => 'text', 'size' => '10', -'maxlength' => '255'),
-               - 2 => array('kind' => 'text', 'value' => '&nbsp;'),
-               - 3 => array('kind' => 'text', 'text' => '<b>' . -_('Maximum GID number') . " *: </b>"),
-               - 4 => array('kind' => 'input', 'name' => -'posixGroup_maxGID', 'type' => 'text', 'size' => '10', -'maxlength' => '255'),
-               - 5 => array('kind' => 'help', 'value' => 'minMaxGID')),
-            array(
-               - 0 => array('kind' => 'text', 'text' => '<b>' . -_("Password hash type") . ': &nbsp;</b>'),
-               - 1 => array('kind' => 'select', 'name' => -'posixGroup_pwdHash', 'size' => '1',
-               - 'options' => array("CRYPT", "SHA", "SSHA", "MD5", "SMD5", -"PLAIN"), 'options_selected' => array('SSHA')),
-               - 2 => array('kind' => 'text', 'value' => '&nbsp;'),
-               - 3 => array('kind' => 'text', 'value' => '&nbsp;'),
-               - 4 => array('kind' => 'text', 'value' => '&nbsp;'),
-               - 5 => array('kind' => 'help', 'value' => 'pwdHash'))
-        );
-        [...]
-
-
-The min/maximum GID numbers are defined with simple text boxes. The -password hash is selected with a drop down box and SSHA as default -value.
-You should make sure that the column count (here: 6) is the same for -each row. Otherwise the configuration page might be badly rendered by -the browser.
-
-

2. Checking user input

-Probably you also want to check if the input data is syntactically -correct.
-The baseModule already -provides different checks which can be activated with meta data. However you can also do -the checking in the module.
-Implementing the function check_configOptions() -in your module will allow you to do the checks yourself. Basic checks -can be defined with meta['config_checks'].
-
-Example:
-
-The posixGroup module only -needs to check if the GID numbers are correct. The password hash type -needs not to be checked as it is a selection.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // configuration checks
-        $return['config_checks']['group']['posixGroup_minGID'] = -array (
-            'type' => -'ext_preg',
-            'regex' => -'digit',
-            'required' -=> true,
-           - 'required_message' => $this->messages['gidNumber'][5],
-           - 'error_message' => $this->messages['gidNumber'][5]);
-        $return['config_checks']['group']['posixGroup_maxGID'] = -array (
-            'type' => -'ext_preg',
-            'regex' => -'digit',
-            'required' -=> true,
-           - 'required_message' => $this->messages['gidNumber'][6],
-           - 'error_message' => $this->messages['gidNumber'][6]);
-        $return['config_checks']['group']['cmpGID'] = array (
-            'type' => -'int_greater',
-            'cmp_name1' -=> 'posixGroup_maxGID',
-            'cmp_name2' -=> 'posixGroup_minGID',
-           - 'error_message' => $this->messages['gidNumber'][7]);
-        [...]
-
-
-The type "ext_preg" means that -the baseModule will use the get_preg() function in lib/account.inc for the syntax -check. This function already contains regular expressions for the most -common cases.
-To check if the minimum GID is smaller than the maximum GID we define a -check for the nonexistant option "cmpGID" and define it as optional. -This will do the comparison check.
-
-
-

3. Descriptions

-What is still missing is a descriptive title for the fieldset in the -configuration editor and a description for each configuration option -which is displayed when the user saves the settings.
-
-These descriptions are defined with get_configDescriptions() -or meta['config_descriptions'].
-
-Example:
-
-The posixGroup module will -set a title for the fieldset and a description for the three -configuration options.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // configuration descriptions
-        $return['config_descriptions'] = array(
-            'legend' => -_("GID ranges for Unix groups"),
-            'descriptions' -=> array(
-               - 'posixGroup_minGID' => _("Minimum GID number for Unix groups"),
-               - 'posixGroup_maxGID' => _("Maximum GID number for Unix groups"),
-               - 'posixGroup_pwdHash' => _("Password hash type for Unix -groups"),
-            )
-        );
-        [...]
-
-
-This will set the fieldset title to "GID ranges for Unix groups" and -the descriptions for the settings list.
- -

-
-
- - diff --git a/lam/docs/devel/mod_general.htm b/lam/docs/devel/mod_general.htm deleted file mode 100644 index 56855b03..00000000 --- a/lam/docs/devel/mod_general.htm +++ /dev/null @@ -1,198 +0,0 @@ - - - - Module HowTo - General module options - - - -
-

Module HowTo - General module options
-

-
-
-

-

1. Account types
-

-LAM currently provides three account types: users, groups, hosts
-
A module can manage one or more account types.
-
-The types are specified with can_manage() -or meta['account_types'].
-
-Example:
-
-Our ieee802Device -module will be used only for host accounts.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // manages host accounts
-     -    $return["account_types"] = array("host");
-        return $return;
-    }
-
-
-
-

2. Alias name

-The module name is very limited, therefore every module has an alias name. This alias name has no limitations and -can be translated. It may contain special characters but make sure that -it does not contain HTML special characters like "<".
-The alias name can be the -same for all managed account types -or differ for each type.
-
-The alias name is specified -with get_alias() -or meta['alias'].
-
-Example:
-
-Our ieee802Device -module will get the alias MAC address.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // manages host accounts
-     -    $return["account_types"] = array("host");
-        // alias name
-     -    $return["alias"] = _("MAC address");
-        return $return;
-    }
-
-
-
-

3. Dependencies

-Modules can depend on eachother. This is useful if you need to access -attributes from other modules or the managed object classes of your -module are not structural.
-
-The dependencies are specified with get_dependencies() -or meta['dependencies'].
-
-Example:
-
-Our ieee802Device -module depends on the account module (because it is the only structural -module at this time).
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // manages host accounts
-     -    $return["account_types"] = array("host");
-        // alias name
-        $return["alias"] = _("MAC -address");
-        // module dependencies
-     -    $return['dependencies'] = array('depends' => -array('account'), 'conflicts' => array());
-        return $return;
-    }
-
-
-
-

4. Messages

-There are many situations where you will display messages to the user. -The modules should define such messages at a common place to make it -easier to modify them without searching the complete file.
-The baseModule offers the $messages variable for this. It -should be filled by a function called load_Messages().
-The baseModule will -automatically check if you have implemented this function and call it -at construction time.
-
-Example:
-
-Now let our ieee802Device -module define a message.
-
- - - - - - -
    /**
-    * This function fills the error message array with -messages
-    */
-    function load_Messages() {
-        $this->messages['mac'][0] = -array('ERROR', 'MAC address is invalid!');  // third array value -is set dynamically
-    }
-
-
-
-


-

-

-
-
- -

-
-
- - diff --git a/lam/docs/devel/mod_help.htm b/lam/docs/devel/mod_help.htm deleted file mode 100644 index 42efc69f..00000000 --- a/lam/docs/devel/mod_help.htm +++ /dev/null @@ -1,88 +0,0 @@ - - - - Module HowTo - Help entries - - - -
-

Module HowTo - Help entries
-

-
-
-

-

1. Defining help entries
-

-Your module should provide help for all input fields and other -important things.
-The LAM help system defines an extra ID range for each module. So you -are free in defining your own IDs.
-
-The help entries are specified with get_help() -or meta['help'].
-
-Example:
-
-The ieee802Device -module needs help entries for the MAC address.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-    -     // help Entries
-     -    $return['help'] = array(
-     -        'mac' => array(
-     -            "Headline" -=> _("MAC address"),
-     -            "Text" => -_("This is the MAC address of the network card of the device (e.g. -00:01:02:DE:EF:18).")
-     -        ),
-     -        'macList' => array(
-     -            "Headline" -=> _("MAC address list"),
-     -            "Text" => -_("This is a comma separated list of MAC addresses.")
-     -        ));
-        return $return;
-    }
-
-
-
- -

-
-
- - diff --git a/lam/docs/devel/mod_index.htm b/lam/docs/devel/mod_index.htm deleted file mode 100644 index 4d6d0fd4..00000000 --- a/lam/docs/devel/mod_index.htm +++ /dev/null @@ -1,58 +0,0 @@ - - - - LAM module HowTo - - - -
-

Module HowTo

-
-
-
-

Basic functions

-
-
-
LAM can be easily extended to support -additional LDAP object classes and attributes.
-This document provides a step-by-step description to build an account -module. The ieee802Device -module which provides MAC addresses for hosts is used as example.
-
-

1. Basic concepts
-

-
-

2. General module options

-
-

3. Account pages

-
-

4. Help entries
-

-
-

5. PDF output
-

-
-

6. File upload

-
-
-
-

-
-

Advanced functions

-This part covers additional functionality of the modules which are only -needed by a minority of modules. The examples are taken from different -existing modules.
-
-

1. Account profiles

-
-

2. Configuration options

-
-

3. Advanced upload options

-
-

4. Defining the RDN

-
-
-
-
- - diff --git a/lam/docs/devel/mod_pdf.htm b/lam/docs/devel/mod_pdf.htm deleted file mode 100644 index 5f2e5d0a..00000000 --- a/lam/docs/devel/mod_pdf.htm +++ /dev/null @@ -1,106 +0,0 @@ - - - - Module HowTo - PDF output - - - -
-

Module HowTo - PDF output
-

-
-
-

-

1. Defining possible PDF values
-

-The first step to PDF output is defining what values your module -provides. This is needed for the PDF editor, otherwise the user will -not be able to select values from your module.
-
-The PDF values are specified with get_pdfFields() -or meta['PDF_fields'].
-
-Example:
-
-The ieee802Device -module has only one attribute and therefore one PDF value: the MAC -address.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-[...]
-        // available PDF fields
-     -    $return['PDF_fields'] = array(
-     -        'macAddress'
-     -    );
-        return $return;
-    }
-
-
-
-
-

2. Providing data to put into the PDF file
-

-When the user wants to create a PDF file the LDAP account is loaded and -you module is asked for data to put into the PDF file.
-
-This is done with get_pdfEntries().
-
-Example:
-
-The ieee802Device -module will return the MAC address list of the account.
-
- - - - - - -
    /**
-    * Returns a list of PDF entries
-    */
-    function get_pdfEntries() {
-        $return = array();
-        if -(sizeof($this->attributes['macAddress']) > 0) {
-            -$return['ieee802Device_macAddress'] = '<block><key>' . -_('MAC address list') . '</key><value>' . implode(', ', -$this->attributes['macAddress']) . '</value></block>';
-        }
-        return $return;
-    }
-
-
-
-
-
- -

-
-
- - diff --git a/lam/docs/devel/mod_profiles.htm b/lam/docs/devel/mod_profiles.htm deleted file mode 100644 index 7c1643fb..00000000 --- a/lam/docs/devel/mod_profiles.htm +++ /dev/null @@ -1,162 +0,0 @@ - - - - Module HowTo - Account profiles - - - -
-

Module HowTo - Account profiles
-

-

-Account profiles make it easy to set default values for new accounts -and even to reset an existing account to default values.
-Your module should provide the possibility to define default values for -all attributes which do not differ for each account.
-
-

-

1. Defining possible profile options
-

-The first step to account profiles is defining the attributes for which -the user can set default values. You will also have to define the type -(text, checkbox, ...) of the profile options.
-The profile editor then will display a fieldset for each module -containing its profile options.
-
-The profile options are specified with get_profileOptions() -or meta['profile_options'].
-
-Example:
-
-The inetOrgPerson -module has only two attributes which may be set to a default value: job -title and employee type.
-The other attributes are account specific and not useful as profile -options.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // profile elements
-        $return['profile_options'] = array(
-            array(
-            -    0 => array('kind' => 'text', 'text' => -_('Job title') . ":"),
-            -    1 => array('kind' => 'input', 'name' => -'inetOrgPerson_title', 'type' => 'text', 'size' => '30', -'maxlength' => '255'),
-            -    2 => array('kind' => 'help', 'value' => -'title')),
-            array(
-            -    0 => array('kind' => 'text', 'text' => -_('Employee type') . ":"),
-            -    1 => array('kind' => 'input', 'name' => -'inetOrgPerson_employeeType', 'type' => 'text', 'size' => '30', -'maxlength' => '255'),
-            -    2 => array('kind' => 'help', 'value' => -'employeeType'))
-        );
-        [...]
-
-
-This defines two text boxes in the profile editor, one for the job -title and one for the employee type.
-Your profile options should also provide a help link if the description -of the input element might be not enough.
-
-
-

2. Checking user input

-Probably you also want to check if the input data is syntactically -correct.
-The baseModule already -provides different checks which can be activated with meta data. However you can also do -the checking in the module.
-Implementing the function check_profileOptions() -in your module will allow you to do the checks yourself. Basic checks -can be defined with meta['profile_checks'].
-
-Example:
-
-The inetOrgPerson module only -needs some regular expression checks on the input. This can be done by -the baseModule.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // profile checks
-        $return['profile_checks']['inetOrgPerson_title'] = array(
-            'type' => -'ext_preg',
-            'regex' => -'title',
-           - 'error_message' => $this->messages['title'][0]);
-        $return['profile_checks']['inetOrgPerson_employeeType'] = -array(
-            'type' => -'ext_preg',
-            'regex' => -'employeeType',
-           - 'error_message' => $this->messages['employeeType'][0]);
-        [...]
-
-
-The type "ext_preg" means that -the baseModule will use the get_preg() function in lib/account.inc for the syntax -check. This function already contains regular expressions for the most -common cases.
-
-
-

3. Loading an account profile

-
-TODO
- -

-
-
- - diff --git a/lam/docs/devel/mod_rdn.htm b/lam/docs/devel/mod_rdn.htm deleted file mode 100644 index e5986e8e..00000000 --- a/lam/docs/devel/mod_rdn.htm +++ /dev/null @@ -1,59 +0,0 @@ - - - - Module HowTo - Defining the RDN - - - -
-

Module HowTo - Defining the RDN
-

-

-Every LDAP DN starts with a RDN (relative DN). This is the value of a -LDAP attribute. Users usually use "uid", groups use "cn".
-You can provide a list of suitable RDN attributes for your module and -give them a priority, too.
-
-
-
You will need to implement the function get_RDNAttributes() or use meta['RDN'].
-
-Example:
-
-The posixAccount module -offers to create accounts with DNs uid=foo,dc=.... and cn=foo,dc=...
-The uid attribute has a higher priority as it is the usual attribute -for Unix accounts.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // RDN attributes
-        $return["RDN"] = array("uid" -=> "normal", "cn" => "low");
-        [...]
-
-
-
-
- -

-
-
- - diff --git a/lam/docs/devel/mod_upload.htm b/lam/docs/devel/mod_upload.htm deleted file mode 100644 index deb85f36..00000000 --- a/lam/docs/devel/mod_upload.htm +++ /dev/null @@ -1,171 +0,0 @@ - - - - Module HowTo - File upload - - - -
-

Module HowTo - File upload
-

-
-
-

-

1. Defining upload columns
-

-If you want to support account creation via file upload you have to -define columns in the CSV file.
-Each column has an non-translated identifier, a description, help entry -and several other values.
-
-The upload columns are specified with get_uploadColumns() -or meta['upload_columns'].
-
-Example:
-
-The ieee802Device -module has only one attribute and therefore one column: the MAC address.
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // manages host accounts
-    -    $return["account_types"] = array("host");
-        // upload fields
-     -    $return['upload_columns'] = array(
-     -        array(
-     -            'name' => -'ieee802Device_mac',
-     -            'description' -=> _('MAC address'),
-     -            'help' => -'mac',
-     -            'example' -=> '00:01:02:DE:EF:18'
-     -        )
-      -   );
-        return $return;
-    }
-
-
-
-

2. Building the accounts
-

-When the user has uploaded the CSV file the modules have to transform -the input data to LDAP accounts.
-
-This is done with build_uploadAccounts(). -The function gets the input data and a list of LDAP accounts as -parameter.
-
-Example:
-
-The ieee802Device -module has only one LDAP attribute - 'macAddress' -- and the 'ieee802Device' -objectClass which is added to all accounts.
-
- - - - - - -
    /**
-    * In this function the LDAP account is built up.
-    *
-    * @param array $rawAccounts list of hash arrays -(name => value) from user input
-    * @param array $partialAccounts list of hash arrays -(name => value) which are later added to LDAP
-    * @param array $ids list of IDs for column position -(e.g. "posixAccount_uid" => 5)
-    * @return array list of error messages if any
-    */
-    function build_uploadAccounts($rawAccounts, -$ids, &$partialAccounts) {
-        $messages = array();
-        for ($i = 0; $i < -sizeof($rawAccounts); $i++) {
-            // add object -class
-            if -(!in_array("ieee802Device", $partialAccounts[$i]['objectClass'])) -$partialAccounts[$i]['objectClass'][] = "ieee802Device";
-            // add MACs
-            if -($rawAccounts[$i][$ids['ieee802Device_mac']] != "") {
-            -    $macs = explode(',', -$rawAccounts[$i][$ids['ieee802Device_mac']]);
-            -    // check format
-            -    for ($m = 0; $m < sizeof($macs); $m++) {
-            -        if (get_preg($macs[$m], -'macAddress')) {
-            -            -$partialAccounts[$i]['macAddress'][] = $macs[$m];
-            -        }
-            -        else {
-            -            $errMsg = -$this->messages['mac'][1];
-            -            -array_push($errMsg, array($i));
-            -            $messages[] = -$errMsg;
-            -        }
-            -    }
-            }
-        }
-        return $messages;
-    }
-
-
-
-
-
- -

-
-
- - diff --git a/lam/docs/devel/mod_upload2.htm b/lam/docs/devel/mod_upload2.htm deleted file mode 100644 index 6e253c6a..00000000 --- a/lam/docs/devel/mod_upload2.htm +++ /dev/null @@ -1,122 +0,0 @@ - - - - Module HowTo - Advanced upload options - - - -
-

Module HowTo - Advanced upload options
-

-

-The ieee802Device module only -needs the basic upload functions for its functionality.
-However there are more possibilities for the modules to control the -file upload.
-
-

-

1. Module order
-

-Your module might depend on the input values of another module. In this -case you probably want that your module is called as the second one.
-
-You can define dependencies to other modules with the function get_uploadPreDepends() or meta['upload_preDepends'].
-
-Example:
-
-The sambaGroupMapping module -needs the group name to set the default displayName. Therefore it depends -on the posixGroup module
-
- - - - - - -
    /**
-    * Returns meta data that is interpreted by parent -class
-    *
-    * @return array array with meta data
-    */
-    function -get_metaData() {
-        $return = array();
-        // upload dependencies
-        $return['upload_preDepends'] = -array('posixGroup');
-        [...]
-
-
-
-

2. Upload post actions
-

-If your module does not only create an account but relates the account -with other existing LDAP entries you can do these modifications after -the account was created.
-This is useful for adding users to groups or setting quotas.
-
-You have to implement the function doUploadPostActions() -in your module. Since post actions are very special there is no meta data for this.
-
-Example:
-
-The posixAccount module -offers to put the user account in additional groups. This is done in -the post actions.
-
- - - - - - -
    /**
-    * This function executes one post upload action.
-    *
-    * @param array $data array containing one account in -each element
-    * @param array $ids array(<column_name> => -<column number>)
-    * @param array $failed list of accounts which were -not created successfully
-    * @param array $temp variable to store temporary -data between two post actions
-    * @return array current status
-    * <br> array (
-    * <br>  'status' => 'finished' | -'inProgress'
-    * <br>  'progress' => 0..100
-    * <br>  'errors' => array (<array -of parameters for StatusMessage>)
-    * <br> )
-    */
-    function doUploadPostActions($data, $ids, -$failed, &$temp) {
-         [...]
-    }
-
-
-Please make sure that the actions in one call of doUploadPostActions() are not very -time consuming (only one LDAP operation). Your function will be called -repeatedly until you give back the status "finished".
-This allows LAM to avoid running longer than the maximum execution time -by sending meta refreshes to the browser.
- -

-
-
- - diff --git a/lam/docs/devel/other_libs.htm b/lam/docs/devel/other_libs.htm deleted file mode 100644 index 8956a9fb..00000000 --- a/lam/docs/devel/other_libs.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - - - Other libraries - - - -

Other libraries
-

-
-

Lamdaemon (lamdaemon.pl)
-

-

Blowfish (blowfish.inc)

-If MCrypt is not available LAM uses the Blowfish algorithm to store -sensitive data in the session file.
-This file was copied from the Horde -project and modified to fit LAM's needs.
-
-

LDAP cache (cache.inc)

-
-

Account lists (lists.inc)

-This file provides basic functions used by the account lists. They -cover major parts of the HTML output.
-There is also one list of LDAP attribute descriptions per account type. -They allow to have translated descriptions of the most common -attributes.
-
-

Status messages (status.inc)
-

- - diff --git a/lam/docs/devel/profile_editor.htm b/lam/docs/devel/profile_editor.htm deleted file mode 100644 index 5b36d77b..00000000 --- a/lam/docs/devel/profile_editor.htm +++ /dev/null @@ -1,89 +0,0 @@ - - - - - Profile editor - - - -

Profile editor
-

-
profile editor
-
-

-
The profile -editor allows the user to set default values for new accounts.
-These defaults are saved as files in config/profiles.
-
-

Profilemain.php
-

-This is the start page of the profile -editor. The user can select to add/modify/remove selected -account profiles.
-
-The list of existing account profiles is returned by getAccountProfiles() in modules.inc. It includes all -profile names without file extensions.
-
-

Profilepage.php
-

-This script is used to display the account profile to the user.
-
-The profile options include the LDAP OU suffix and options provided by -the account modules.
-
-The values for the OU selection are read with search_units().
-
-The account modules provide -all other profile options. The profile editor displays a separate -fieldset for each module containing its options.
-The function print_option() -manages the display of the different option types (checkbox, select, -...). The type of each option is saved in $_SESSION['profile_types'].
-See the modules specification -for a complete list of supported types.
-
-The profiles have unique names under which they are saved. If a profile -with the same name already exists it will be overwritten.
-When the user selects to save the profile he will be redirected to -profilecreate.php.
-
-

Profilecreate.php

-This script takes the values which were entered in profilepage.php and -checks them for correctness.
-
-First the values are converted to the correct type (checkbox -> -Boolean) by checking $_SESSION['profile_types'].
-
-Then LAM will replace all "\'" with  "'" if magic_quotes_gpc is on.
-
-Now the input data is checked for correctness by calling checkProfileOptions(). The account modules return a list of -error messages if one or more options are incorrect.
-If there are errors they will be displayed, otherwise the profile is -saved by calling saveAccountProfile().
-
-

Profiledelete.php

-When the user selected to delete a profile in profilemain.php he is redirected to -this page.
-
-LAM will ask once again if the user is sure to delete the profile. If -this is the case the profile will be deleted with delAccountProfile() from profiles.inc.
-
-
-
-
-
-
- - diff --git a/lam/docs/devel/profile_files.htm b/lam/docs/devel/profile_files.htm deleted file mode 100644 index 22804b83..00000000 --- a/lam/docs/devel/profile_files.htm +++ /dev/null @@ -1,36 +0,0 @@ - - - - - Account profiles - - - -

Account profiles

-
-Every account profile is saved as single file in config/profiles. The -file extension is the account type (user, group, ...).
-In contrast to the configuration profiles the account profiles are not -designed to be editable by hand. They do not allow to add comments and -have a simpler format.
-
-

Format

-There is one option per line which is formated: <identifier>: -<value>
-
-Identifier is the option's name, value is the rest of the line after -the first ": ".
-Some options are multi-valued, the sub-values are separated by "+::+".
-
-
-Examples:
-
-posixAccount_primaryGroup: group1
-posixAccount_additionalGroup: group3+::+group4+::+group5+::+group6
-
- - diff --git a/lam/docs/devel/profiles.htm b/lam/docs/devel/profiles.htm deleted file mode 100644 index 03d2e04b..00000000 --- a/lam/docs/devel/profiles.htm +++ /dev/null @@ -1,25 +0,0 @@ - - - - - Account profiles - - - -

profiles.inc

-
-This file includes all functions to manage account -profiles. You can read/store/list/delete profiles.
-
-Profile names may contain letters, numbers, "_" and "-". All functions -which have a profile name as parameter check this.
-Functions which modify the filesystem (saveAccountProfile, -delAccountProfile) also check if the user is logged in to LAM -for security reasons. This is done by reading $_SESSION['logedIn'].
-
-
-
- - diff --git a/lam/docs/devel/style/layout.css b/lam/docs/devel/style/layout.css deleted file mode 100644 index 156b3364..00000000 --- a/lam/docs/devel/style/layout.css +++ /dev/null @@ -1,57 +0,0 @@ - /* -$Id$ - - This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - Copyright (C) 2004 Roland Gruber - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more detaexils. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -*/ - -/* CSS layout for LAM development documentation */ - - - -h1,h2,h3,h4 { - color:#0c12b7; -} - -/* links */ -a { - color:blue; - text-decoration:none; -} - -a:visited { - color:blue; - text-decoration:none; -} - -a:hover { - color:red; - text-decoration:none; -} - -a:active { - color:red; - text-decoration:none; -} - - -/* module HowTo */ - -table.mod-code { - background-color:#fffde2; -} diff --git a/lam/docs/devel/upload.htm b/lam/docs/devel/upload.htm deleted file mode 100644 index 4bf2b0b6..00000000 --- a/lam/docs/devel/upload.htm +++ /dev/null @@ -1,102 +0,0 @@ - - - - - File upload - - - -

File upload
-

-
-
upload
-

-

Account selection (masscreate.php)
-

-This is the initial page of the file upload. The user selects the -account type for the new upload.
-
-
-

Attribute overview (masscreate.php)

-After the account selection LAM will display an overview of the -possible and required input columns.
-The DN attributes (DN suffix and RDN) are static and are always -displayed. The default suffix is read from config with getAccountSuffix() and the list of -RDN possibilities is taken from modules.inc - getRDNAttributes().
-The next attributes are read from modules.inc - getUploadColumns(). LAM will display -all attributes of one module in a separate fieldset. The getUploadColumns() function also -returns if an attribute is required and additional information like an -example value.
-
-After clicking the upload button the user will be forwarded to the -account building page.
-
-
-

Account building (massBuildAccounts.php)
-

-This part takes the submitted CSV file -and generates the LDAP accounts.
-
-The scripts separates the head row from the data rows in the CSV file. -The head array is used to find the position of the input values. The -data array contains one subarray for each account.
-
-After the data has been extracted there are some basic checks done, -e.g. checking required and unique columns. The modules provide the -necessary information for this.
-
-Then all data is given to the modules with buildUploadAccounts() in -modules.inc. They return a list of accounts which can be uploaded with ldap-add() and generate possible -error messages.
-
-If the accounts are built the script will give the user the possibility -to check the result with an LDIF-file -or to do the upload.
-
-
-

LDIF export (massBuildAccounts.php)
-

-LAM simply takes the built accounts and generates an LDIF-file from them. This is passed -to the user's browser.
-The LDIF-file will only -contain the accounts itself. If modules do additional tasks after the -upload (e.g. adding users to groups) this will not be covered.
-
-
-

Account creation (massDoUpload.php)
-

-This script finally uploads the LDAP accounts with ldap_add().
-
-The upload can last longer than the maximum execution time of PHP. -Therefore the script will check regulary how much time is left and -pause the upload. This is resumed with a meta refresh which loads the -script again.
-
-After all accounts were created in LDAP the modules may do additional -tasks. LAM will call doUploadPostActions() -and also provide a list of failed accounts which can be ignored. The -function is called as long the returned status is "inProgress". The script uses again -a -meta refresh to handle the maximum execution time.
-Typical post actions are setting quotas or adding an user to groups.
-
-A progress bar is shown for the LDAP adding and the module actions to -give the user a hint how long it will still take.
-
-
- - diff --git a/lam/docs/modules-specification.htm b/lam/docs/modules-specification.htm deleted file mode 100644 index a969a48c..00000000 --- a/lam/docs/modules-specification.htm +++ /dev/null @@ -1,1246 +0,0 @@ - - - - - Module specification - - -

This document describes the module -interface for LDAP Account Manager

-
-
-

1. Location and naming of modules

-All LAM modules are placed in lib/modules/ and are named "<class -name>.inc".
-E.g. if you create a new module and its class name is "qmail" then the -filename would be "qmail.inc".
-
-The class name of a module must contain only a-z, A-Z, 0-9, -, and _.
-All module classes should extend the baseModule class.
-
-

2. Class functions

-

2.1. Functions that have to work without superior accountContainer
-

-


-

-

2.1.1. can_manage*

-
- - - - - - -
function can_manage()
-
-
-Returns true if this module -can manage accounts of the current type, -otherwise false.
-
-
-

2.1.2. get_alias*

-
- - - - - - -
function get_alias()
-
-
-This function returns a more descriptive string than the class name. -Alias names are used for the buttons of the account pages and the -module selection of the configuration wizard.
-Please take care that your alias name is not too long. It may contain -any character but should not include parts that may be interpreted by -the browser (e.g. '<' or '>').
-If you use different aliases dependent on the account type please make -sure that there is a general alias for unknown types.
-
-

2.1.3. is_base_module*

-
- - - - - - -
function is_base_module()
-
-
-Returns true if your module is -a base module and otherwise false.
-
-Every account type needs at least one base module. A base module -defines a full qualified account.
-E.g. modules that use the object class posixAccount may be base modules -as it makes sense to manage these Unix accounts. On the other hand the -quota module is no base module as it needs posixAccount.
-
-

2.1.4. get_ldap_filter*

-
- - - - - - -
function get_ldap_filter()
-
-
-Returns an array('or' => '...', 'and' => '...') that is used to -build the LDAP filter. Usually -used to filter object classes.
-
-All "or" filter parts of the base modules are combined with OR and then -combined with the "and" parts.
-The resulting LDAP filter will look like this: -(&(|(OR1)(OR2)(OR3))(AND1)(AND2)(AND3))
-
-Example: return "('or' => -'(objectClass=posixAccount)', 'and' => '(!(uid=*$))')"
-
-This function -is only used for base modules. Standard modules do not need to -implement it.
-
-

2.1.5. get_RDNAttributes*

-
- - - - - - -
function get_RDNAttributes()
-
-
-Returns a hash array containing a list of possible LDAP attributes that -can be used to form the RDN (Relative Distinguished Name).
-
-The keys of the array are the LDAP attributes, the values are the -priority ("low"/"normal"/"high").
-Attributes with higher priority are placed higher in the drop down box -for the RDN selection.
-
-Example: return "('uid' => -'normal', 'cn' => 'low')"
-
-
-

2.1.6. get_dependencies*

-
- - - - - - -
function -get_dependencies()
-
-
-This function returns a list of modules it depends on.
-
-The return value is an array with two sub arrays, "depends" and "conficts".
-All values of the conflict array are string values with module names.
-All values of the depends array are either string values with module -names or arrays which include only string values with module names. If -an element of the depends array is itself an array, this means that -your module depends on one of these modules.
-
-Example: return array("depends" -=> array("posixAccount", array("qmail", "sendmail")), "conflicts" -=> array("exim"));
-
-

2.1.7. get_metaData()

-
- - - - - - -
function get_metaData()
-
-
-Returns an hash array including meta data for the baseModule.
-
-Example: return array("is_base" => -true);
-
-

2.1.8. get_configOptions()*

-
- - - - - - -
function get_configOptions($scopes)
-
-
-Returns a list of configuration options.
-$scopes is a list of account types (user, group, host) -which are used.
-
-The return value is an array -that contains meta HTML code.
-
-The type "fieldset" is not allowed here.
-The name attributes are used -as keywords to load and save settings. We recommend to use the module -name as prefix for them (e.g. posixAccount_homeDirectory) to avoid -naming confilcts.
-
-

2.1.9. get_configDescriptions()*

-
- - - - - - -
function get_configDescriptions()
-
-
-Returns the description of every configuration option and the legend of -the module fieldset on the configuration page.
-
-The return value is a hash -array with this format:
-   
-    array( 'legend' -=> 'Some general description for fieldset',
-       -       'descriptions' => array('option1' -=> 'description1', ...))
-
-

2.1.10. check_configOptions*

-
- - - - - - -
function check_configOptions($scopes, -$options)
-
-
-This function checks the input for module configuration settings.
-
-$scopes is a list of used -account types (user, group, host).
-$options -is an hash array -(option name => value) that contains the input. The option values -are all arrays containing one or more elements.
-If the input data is invalid the return value is an array that contains -arrays to build StatusMessages (0 => message type, 1 => message -head, 2 => message text, 3 => additional variables).
-If no errors occured the function returns an empty array.
-
- -

2.1.11. get_scope()

-
- - - - - - -
function get_scope()
-
-
-Returns the account type (user/group/host) of this module object.
-
-This function is provided by the -baseModule and should not be overwritten.
-
-

2.1.12. get_uploadColumns*

-
- - - - - - -
function get_uploadColumns()
-
-
-Returns a list of column entries for the upload .csv-file.
-Each column entry is an array containing these values:
-
    -
  • string -name: fixed non-translated name which is used as column name -(should be of format: <module name>_<column name>)
  • -
  • string -description: short descriptive name
  • -
  • string -help: help ID
  • -
  • string -example: example value
  • -
  • string -values: possible input values (optional)
  • -
  • string default: default value (optional)
    -
  • -
  • boolean -required: true, if user must set a value for this column (optional, default: -"false")
    -
  • -
  • boolean -unique: true if -all values of this column must be different values (optional, default: -"false")
    -
  • -
-
-

2.1.13. get_uploadPreDepends*

-
- - - - - - -
function get_uploadPreDepends()
-
-
-Returns a list of module names which must be processed before this -module at builing accounts.
-The named modules may not be active, LAM will check this automatically.
-
-

2.1.14. build_uploadAccounts

-
- - - - - - -
function get_uploadAccounts($rawAccounts, -$ids, $partialAccounts)
-
-
-This function takes the user input and generates the LDAP accounts.
-
-array -$rawAccounts: The user input data, contains one sub array for -each account.
-array -$ids: Maps the column names to keys for the sub arrays.
-array -$partialAccounts: Containing one sub array for each account, -format is the same as used for ldap_add().
-
-Returns an array which contains sub arrays to generate StatusMessages -if any errors occured.
-
-

2.1.15. do_uploadPostActions

-
- - - - - - -
function do_uploadPostActions($data, $ids, -$failed, &$temp)
-
-
-This function is responsible to do additional tasks after the account -has been created in LDAP.
-E.g. modifying group memberships, adding Quota etc..
-
-This function is called as long as the returned status is 'finished'. Please make sure that -one function call lasts no longer than 3-4 seconds. Otherwise the -upload may fail because the time limit is exceeded. You should not make -more than one LDAP operation in each call.
-
-array -$data: The user input data, contains one sub array for each -account.
-array -$ids: Maps the column names to keys for the sub arrays.
-array -$failed: List of account numbers which could not be successfully -uploaded to LDAP.
-array -&$temp: Pointer to temporary variable which can be used to -save information between two function calls.
-
-return array (
-    'status' => -'finished' | 'inProgress'   // Defines if all -operations are complete
-    'progress' => -0..100   // The progress of the operations in percent
-    'errors' => -array()   // List of arrays which are used to generate -StatusMessages
-    )
-
-

2.1.16. get_profileOptions*

-
- - - - - - -
function get_profileOptions()
-
-
-This function defines what attributes will be used in the account -profiles and their appearance in the profile editor.
-
-The return value is an array -that contains meta HTML code.
-
-The type "fieldset" is not allowed here.
-The name attributes are used -as keywords to load and save profiles. We recommend to use the module -name as prefix for them (e.g. posixAccount_homeDirectory) to avoid -naming confilcts.
-
-

2.1.17. check_profileOptions*

-
- - - - - - -
function check_profileOptions($options)
-
-
-This function checks the input for a new or modified account profile.
-
-$options -is an hash array -(option name => value) that contains the input. The option values -are all arrays containing one or more elements.
-If the input data is invalid the return value is an array that contains -arrays to build StatusMessages (0 => message type, 1 => message -head, 2 => message text, 3 => additional variables).
-If no errors occured the function returns an empty array.
-
-


-

-
-
-

2.2. Functions which are called inside of an account container
-

-

2.2.1. init

-
- - - - - - -
function init($base)
-
-
-Every module needs a initializing function that has an account -container as argument $base.
-With this account container you can interact with other modules and use -several helper functions.
-
-

2.2.2. module_ready

-
- - - - - - -
function module_ready()
-
-
-Your module might depend on input of other modules. This function -determines if the module button on the account page is active or not.
-The return value is true if -your module accepts input, otherwise false.
-
-

2.2.3. module_complete

-
- - - - - - -
function module_complete()
-
-
-This function is called after your module has processed the POST input -data.
-If there was an input error and you want to display a page again then -return false. If true is returned the next module -page will be displayed.
-
-

2.2.4. get_help

-
- - - - - - -
function get_help($helpID)
-
-
-This function is called when a page requests a help topic from this -module.
-$helpID is the help identifier; -it must only contain a-z, A-Z, 0-9 --, . and _.
-It must return the help entry as array for the submitted help -identifier. The format of the array to be returned is described in -section 4. "Help entry syntax".
-
-

2.2.7. get_pdfEntries

-
- - - - - - -
function get_PDF_Entries($scope)
-
-
-This function is called when a PDF is to be created.
-$scope is the account type -("user", "group", "host" at this time).
-It returns the fields which are printed in the PDF file for the -specified account type. At the monent there is no (easy) possibility -for the user to decide which fields are to be displayed. Perhaps there -will be a PDF config tool in future releases where you can offer the -user to decide which fields are to be displayed on the PDF file. The -format of the array to be returned is described in section 5. "PDF -syntax".
-
-

2.2.8. dynamic_Message
-

-
- - - - - - -
function dynamic_Message($attribute, $id)
-
-
-This function is only needed when a status message contains strings -with variables.
-$attribute is the attribute the -message is corresponding to.
-$id selects the exact message.
-
-Returnis an array as expected from StatusMessage().
-
-

2.2.9. load_Messages
-

-
- - - - - - -
function load_Messages()
-
-
-This function is fills the array $this->messages. First Index (x) is -the attribute the message is corresponding to.
-Second Index (y) selects the exact message. Third Index (z) contains an -array as expected from StatusMessage().
-$this->messages[x][y][z]
-
-

2.2.10. load_attributes
-

-
- - - - - - -
function load_attributes($attr)
-
-
-This function loads attributes when an account should be loaded.
-$attr is an array like the -array returned by get_ldap_attributes(dn of account) but without count -indicees.
-If all attributes are very simple are part of the dn of account it's -possible to just call $this->load_ldap_attributes($attr)
-which is part of baseModule.
-The function load_ldap_attributes loads all attributes which fit to the -objectClass of the module.
-This function has t be expanded when attributes have to be loaded from -a different DN or handled completly
-separat.
-
-

2.2.11. save_attributes
-

-
- - - - - - -
function save_attributes()
-
-
-This function returns an array with changes which should be saved. If -all attributes are very simple are part of
-the dn of account it's possible to just call -$this->save_ldap_attributes($this->attributes, $this->orig).
-The return array has the following syntax: First index is the ldap dn -which should be changed. Second
-index is the kind of modification. Possible values are: 'add', -'modify', 'notchanged', 'remove'.
-Third index is the attribute which should be changes. Fourth index is -an array with all values of
-an attribute.
-If you want to call lamdaemon -first index is 'lamdaemon'. Second index is 'command'. Third index is -the command
-itself which should be executed by lamdaemon.
-
-

2.2.12. delete_attributes
-

-
- - - - - - -
function delete_attributes($post)
-
-
-This function returns an array with the same syntax as -save_attributes().
-$post is the $_POST array. It -is needed t interact with the user.
-
-
-

2.2.13. proccess_attributes
-

-
- - - - - - -
function proccess_attributes($post)
-
-
-This function proccesses user inputs. It checks user inputs. It also -saves changes in attributes.
-$post is the $_POST -array.  Some attributes ar not part of a profile, e.g. uidNumber. -If $profile
-is true attributes wich are not part of a profile won't be checked.
-LDAP attributes have to be stored in $this->attributes array. First -index is the attribute name. Second
-index is an array of values of an attribute.
-This functions can return three different variables. When 0 is returned -everything is ok. When a string is
-returned the string is the name of a subpage of the module. If it -returns an array the array contains status
-messages. First Index is the attribute which has triggered a message. -Second index is an array containing
-status message arrays.
-This function must reset $this->triggered_messages when it wants to -display -status messages. This can be done with $this->triggered_messages = -array();
-
-
-
-

2.2.14. proccess_*
-

-
- - - - - - -
function proccess_*($post)
-
-
-This function has the exact behavoir like proccess_attributes function. -* is the name of the subpage which
-should be proccessed.
-$post is the $_POST array. It -is needed t interact with the user.
-
-
-

2.2.15. display_html_attributes($post)
-

-
- - - - - - -
function display_html_attributes($post)
-
-
-This function creates meta HTML code. The code is the page the module -wants to display.
-Return is an array of meta HTML code.
-$post is the $_POST array. It -is needed t interact with the user.
-
-
-

2.2.16. display_html_*($post)
-

-
- - - - - - -
function display_html_*($post)
-
-
-This function has the exact behavoir like display_html_attributes(). * -is the name of the subpage which
-should be displayed.
-$post is the $_POST array. It -is needed t interact with the user.
-
-
-
-

2.2.17. display_html_delete($post)
-

-
- - - - - - -
function display_html_delete($post)
-
-
-This function creates meta HTML code. The code will be displayed when -an account should be deleted.
-This is needed to interact, e.g. should the home directory be deleted?
-The output of all modules is displayed on a single page.
-Return is an array of meta HTML code.
-$post is the $_POST array. It -is needed t interact with the user.
-
-
-
-*: These functions do not need to be -implemented if meta data is supplied. See 6 for a list of meta data -formats.
-


-

-

3. Meta HTML code

-The modules are not allowed to display HTML code directly but return -meta HTML code. This allows to have a common design for all module -pages.
-Meta HTML code is always returned as a three dimensional array[a][b][c] where a is the row number, b is the coumn number and c is is a data elememt.
-
-Format for data elements:
-
-A data element is an array -which contains the data to display.
-All data elements must -contail a value "kind" which -defines what kind of element should be displayed.
-
-These are the possibilies for kind -and what other options are implicated:
-
-
    -
  • fieldset: Inserts a -fieldset.
  • -
      -
    • legend: The legend of -the fieldset.
    • -
    • value: A data element. Can be used -recursively.
    • -
    -
  • help: Adds a help link.
  • -
      -
    • value: The help number -for the help entry.
    • -
    • scope: The account type -for the help entry.
      -
    • -
    -
  • input: Adds a HTML input -element.
  • -
      -
    • name: The name of the -element, will be used later as variable name when user input is -returned.
    • -
    • type: allowed values: -submit, reset, checkbox, text, password, file, hidden
    • -
    • checked: Boolean value, -if true a checkbox will be checked. This value is only needed or -checkboxes.
    • -
    • disabled: Boolean -value, if true the element will be disabled.
    • -
    • size: The length of the -input element, only used for text, password and file.
    • -
    • maxlength: The maximum -size of the input element, only used for text, password and file.
    • -
    • value: The element will -have this value as default. Button elements will have this as caption.
    • -
    -
  • select: This will add a -select field.
  • -
      -
    • name: The name of the -element, will be used later as variable name when user input is -returned.
    • -
    • multiple: Boolean -value, if set to true the user can select more than one entry.
    • -
    • options: Array of -string. This is the list of option values the user can select.
    • -
    • options_selected: Array -of string. This is the list of pre selected elements, must contain -values that are also in options.
    • -
    • size: The size of the -select field, if set to 1 a dropdown box will be displayed.
    • -
    -
  • table: Adds a table. Can -be used recursively.
  • -
      -
    • value: A data element. Can be used -recursively.
    • -
    -
  • text: Inserts a text -element.
  • -
      -
    • text: The text to -display.
    • -
    -
-
-Beneath those values a "td" -value may be added. This has to be an array with one or more of these -options:
-
-
    -
  • colspan: Like the HTML -colspan attribute for td elements.
  • -
  • rowspan: Like the HTML -rowspan attribute for td elements.
  • -
  • align: -left/center/right/justify Like the HTML align attribute.
  • -
-
-Example:
-
-
array(
-  array(
-    array("kind" => "text", "text" => "This is an -example", "td" => array("colspan" => 3))
-  ),
-  array(
-    array("kind" => "text", "text" => "Input:"),
-    array("kind" => "input", "name" => "myinput", -"type" => "text"),
-    array("kind" => "help", "value" => "42")
-  )
-)
-

-
-


-

-

4. Help entry syntax

-The array that is returned by the get_help function must follow the -below described syntax. Fields marked REQUIRED are neccessary -under any circumstances. Fields marked OPTIONAL may be left out -when not needed.
-There are basically two different types of help entries that can be -used. Internal help entries, that means the headline, text, etc is -included in the help entry or external help entries, that means the -help entry has only a reference pointing to a HTML/PHP page that offers -the help entry. -
-


-4.1. Internal help entries

-ext (REQUIRED)
-Must be FALSE in this case. -
-
-Headline (REQUIRED)
-The headline of this help entry. Can consist of any alpha-numeric -characters. No HTML/CSS elements are not allowed here. -
-
-Text (REQUIRED)
-The text of this help entry. Can constist if any alpha-numeric -characters and can contain placeholder for variables passed to this -help entry. The placeholder must follow the syntax for placeholder -defined by the PHP printf function. HTML/CSS elements are -allowed here as long as they follow the XHTML1.0 Strict specification.
-
-When placeholders are included you can submit the values that should be -displayed there as arguments when calling the templates/help.php -file. There they are attached as var1, var2 and so on. -The names must follow the following rules:
-
    -
  • 1. They must be named var$i where $i is any positive -number except the '0'.
  • -
  • 2. This number ($i) must either be '1' or $i -1 must be present.
  • -
-
-SeeAlso (OPTIONAL)
-An array of references to anonther related subjects. Each row of the -array must contain a field called "text" with the text that should be -displayed and may contain a field called "link" which is used as value -for the href attribute of a HTML tag when set. -
-
-


-4.2. External help entries

-ext (REQUIRED)
-Must be TRUE in this case. -
-
-Link (REQUIRED)
-The complete filename of the file stored under the help/ directory -which should be displayed when this help entry is called. -

-
-


-

-

5. PDF syntax

-
-
-

6. Module meta data

-

6.1 can_manage() -

-    "account_types" => array
-
-    Example: -array("user", "host")
-
-

6.2 is_base_module()

-    "is_base" => boolean
-
-

6.3 get_ldap_filter()

-    "ldap_filter" => array
-
-   Example: array('or' => -'objectClass=posixAccount', 'and' => '(!(uid=*$))')
-
-
-

6.4 get_RDNAttributes()

-    "RDN" => array
-
-   Example: array('uid' => -'normal', 'cn' => 'low')
-
-
- -

6.5 get_dependencies()
-

-    "dependencies" => array
-
-   Example: array("depends" -=> array("posixAccount", array("qmail", "sendmail")), "conflicts" -=> array("exim"))
-

-

6.6 get_profileOptions()
-

-    "profile_options" => array
-
-   Syntax for array is the same as for the -return value of get_profileOptions().
-
-
-

6.7 check_profileOptions()
-

-    "profile_checks" => array
-
-   The keys of the array are -the names of the option identifiers.
-   Each array element is an array containing these values:
-
-
-
    -
  • type: -determines how to check input
  • -
      -
    • regex: check with regular expression from regex variable, case sensitive
    • -
    • regex_i: check with regular expression from regex variable, case insensitive
    • -
    • int_greater: integer value of cmp_name1 must be -greater than the integer value from the option cmp_name2
    • -
    • int_greaterOrEqual: integer value of cmp_name1 -must be greater or equal than the integer value from the option cmp_name2
    • -
    -
  • error_message: message that is displayed if input value -was syntactically incorrect
  • -
      -
    • array -to build StatusMessages (0 => message type, 1 => message -head, 2 => message text, 3 => additional variables)
    • -
    -
  • regex: regular expression string (only if type is regex/regex_i)
  • -
  • cmp_name1: -name of first input -variable that is used for comparison (only if type is int_greater/int_greaterOrEqual)
  • -
  • cmp_name2: name of second input -variable that is used for comparison (only if type is int_greater/int_greaterOrEqual)
    -
  • -
  • required: true or false, if this input field must be -filled set to true (optional)
    -
  • -
  • required_message: message that is displayed if no input value was -given (only if required == true)
  • -
      -
    •  array to build StatusMessages (0 => message type, 1 -=> message -head, 2 => message text, 3 => additional variables)
    • -
    -
-
-

6.8 get_configOptions()
-

-    "config_options" => array('user' => array, -'host' => array, 'all' => array)
-
-    The values from 'all' -are always returned, the other values only if they are inside the $scopes array.
-
-   Syntax for sub arrays is the same as for -the -return value of get_configOptions().
-
-
-

6.9 get_configDescriptions()
-

-    "config_descriptions" => array
-
-   Syntax for array is the same as for the -return value of get_configDescriptions().
-
-
-

6.10 check_configOptions()
-

-    "config_checks" => array('user' => array, -'host' => 'array', 'all' => array)
-
-    The values from 'all' are always used for checking, -the other values only if they are inside the $scopes array.
-
-
   Syntax for sub arrays is the same as for -check_profileOptions().
-
-
-

6.11 get_uploadColumns()

-"upload_columns" => array()
-
-Syntax for array is the same as for -the -return value of get_uploadColumns().
-

-

6.12 get_uploadPreDepends()

-"upload_preDepends" => array()
-
-Syntax for array is the same as for -the -return value of get_uploadPreDepends().
-

- - - diff --git a/lam/graphics/banner.jpg b/lam/graphics/banner.jpg deleted file mode 100644 index 29feb062..00000000 Binary files a/lam/graphics/banner.jpg and /dev/null differ diff --git a/lam/graphics/error.png b/lam/graphics/error.png deleted file mode 100644 index cc7830e2..00000000 Binary files a/lam/graphics/error.png and /dev/null differ diff --git a/lam/graphics/info.png b/lam/graphics/info.png deleted file mode 100644 index 757e599d..00000000 Binary files a/lam/graphics/info.png and /dev/null differ diff --git a/lam/graphics/lam.png b/lam/graphics/lam.png deleted file mode 100644 index 309b4f37..00000000 Binary files a/lam/graphics/lam.png and /dev/null differ diff --git a/lam/graphics/printLogo.jpg b/lam/graphics/printLogo.jpg deleted file mode 100644 index 29feb062..00000000 Binary files a/lam/graphics/printLogo.jpg and /dev/null differ diff --git a/lam/graphics/select.png b/lam/graphics/select.png deleted file mode 100644 index 9bd9d2ef..00000000 Binary files a/lam/graphics/select.png and /dev/null differ diff --git a/lam/graphics/warn.png b/lam/graphics/warn.png deleted file mode 100644 index d6f2306d..00000000 Binary files a/lam/graphics/warn.png and /dev/null differ diff --git a/lam/help/extFileExample.php b/lam/help/extFileExample.php deleted file mode 100644 index fece4d7d..00000000 --- a/lam/help/extFileExample.php +++ /dev/null @@ -1,28 +0,0 @@ - -

-

-

diff --git a/lam/help/help.inc b/lam/help/help.inc deleted file mode 100644 index cfb108f9..00000000 --- a/lam/help/help.inc +++ /dev/null @@ -1,262 +0,0 @@ - array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Login"), - "Text" => _("Please enter the configuration password. This is NOT your LDAP password. It is stored in your .conf-file. If this is the first time you log in, enter \"lam\".")), - "201" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Server address"), - "Text" => _("This is the server address of your LDAP server. Use ldap:// for standard LDAP connections and ldaps:// for encrypted (require server certificates) connections. The port value is optional.") . - "

" . - _("Examples") . - ":

" . - _("ldap://localhost:389 connects to localhost using a standard LDAP connection on port 389") . - "
" . - _("ldaps://141.40.146.133 connects to 141.40.146.133 using an encrypted LDAP connection.") . - "


" . - _("Note") . - ":

" . - _("When using ldaps:// be sure to use exactly the same IP/domain name as in your certificate!")), - "202" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("User/Group/Host suffix"), - "Text" => _("This is the suffix of the LDAP tree from where to search for user/group/host entries. Only entries in these subtrees will be displayed in the user/group/host list. When creating a new accont this will be the DN where it is saved.") . - "

". - _("Examples"). - ":

". - _("ou=People,dc=yourcompany,dc=com will read and store all accounts in this subtree.")), - "206" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("List attributes"), - "Text" => _("This is the list of attributes to show in the user/group/host list. The entries can either be predefined values, \"#attribute\", or individual ones, \"attribute:description\". Several entries are seperated by semicolons.") . - "

" . - _("Example") . - ": #homeDirectory;#uid;#uidNumber;#gidNumber;mail:Mail address


" . - _("Predefined values") . - ":

" . - _("Users") . - ": #uid, #uidNumber, #gidNumber, #cn, #host, #givenName, #sn, #homeDirectory, #loginShell, #mail, #gecos". - "
" . - _("Groups") . - ": #cn, #gidNumber, #memberUID, #member, #description". - "
" . - _("Hosts") . - ": #uid, #cn, #rid, #description"), - "207" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Valid users"), - "Text" => _("This is a list of valid DN entries of all users that are allowed to login to LDAP Account Manager. The user names have to be separated by semicolons.") . - "

" . - _("Example") . - ": cn=admin,dc=yourdomain,dc=org;cn=manager,dc=yourdomain,dc=org"), - "208" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Maximum list entries"), - "Text" => _("This is the number of rows to show in the user/group/host list. If more entries are found the list will be split into several pages.")), - "209" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Default language"), - "Text" => _("This defines the language of the login window and sets this language as the default language. Users can change the language at login.")), - "210" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Script path"), - "Text" => _("This is the absolute path to an external script for setting quotas and creating home directories."). - "

". - _("Use it at your own risk and read the documentation for lamdaemon before you use it!"). - ""), - "211" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Script server"), - "Text" => _("This is the server where the lamdaemon script is stored. LDAP Account Manager will make a SSH connection to this server with username and password provided at login."). - "

". - _("Use it at your own risk and read the documentation for lamdaemon before you use it!"). - ""), - "212" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Change password"), - "Text" => _("If you want to change the current preferences password, please enter it here.")), - "214" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Cache timeout"), - "Text" => _("This is the time in minutes which LAM caches its LDAP searches. Shorter times will stress LDAP more but decrease the possibility that changes are not identified.")), - "216" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Text for user PDF"), - "Text" => _("This text will appear on top of every user PDF file.")), - "217" => array ("ext" => "FALSE", "Headline" => _("Configuration wizard") . " - " . _("Account modules"), - "Text" => _("Here you can select which plugins you want to use for account management.")), - "230" => array ("ext" => "FALSE", "Headline" => _("Profile management") . " - " . _("Add profile"), - "Text" => _("Please enter the name of the new profile and the password to change its settings. Profile names may contain letters, numbers and -/_.")), - "231" => array ("ext" => "FALSE", "Headline" => _("Profile management") . " - " . _("Rename profile"), - "Text" => _("Please enter the new name of the profile. The name may contain letters, numbers and -/_.")), - "232" => array ("ext" => "FALSE", "Headline" => _("Profile management") . " - " . _("Delete profile"), - "Text" => _("This will delete the selected profile.")), - "233" => array ("ext" => "FALSE", "Headline" => _("Profile management") . " - " . _("Set profile password"), - "Text" => _("This changes the password of the selected profile.")), - "234" => array ("ext" => "FALSE", "Headline" => _("Profile management") . " - " . _("Change default profile"), - "Text" => _("This changes the profile which is selected by default at login.")), - "235" => array ("ext" => "FALSE", "Headline" => _("Profile management") . " - " . _("Change master password"), - "Text" => _("If you want to change your master configuration password, please enter it here.")), - "236" => array ("ext" => "FALSE", "Headline" => _("Profile management") . " - " . _("Master password"), - "Text" => _("Please enter the master configuration password. This is NOT your LDAP password. It is stored in your config.cfg file. If this is the first time you log in, enter \"lam\".")), - // 300 - 399 - // Roland Gruber - // profile editor, file upload - "301" => array ("ext" => "FALSE", "Headline" => _("RDN identifier"), - "Text" => _("This is the identifier for the relative DN value. It must be one of the given allowed LDAP attributes (e.g. user accounts usually use \"uid\" while groups use \"cn\").")), - "360" => array ("ext" => "FALSE", "Headline" => _("Profile name"), - "Text" => _("Name under which the profile will be saved. If a profile with the same name exists, it will be overwritten.")), - "361" => array ("ext" => "FALSE", "Headline" => _("DN suffix"), - "Text" => _("The new account will be saved under this LDAP suffix.")), - // 400 - 499 - // Tilo Lutz - // account.php - "400" => array ("ext" => "FALSE", "Headline" => _("Username"), - "Text" => _("Username of the user who should be created. Valid characters are: a-z,0-9, .-_. Lam does not allow a number as first character because useradd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. If username is already used username will be expanded with a number. The next free number will be used. Warning: Older systems have problems with usernames longer than 8 characters. You can not log in to Windows if username is longer than 16 characters.")), - "401" => array ("ext" => "FALSE", "Headline" => _("UID number"), - "Text" => _("If empty UID number will be generated automaticly.")), - "402" => array ("ext" => "FALSE", "Headline" => _("Additional groups"), - "Text" => _("Hold the CTRL-key to (de)select multiple groups."). ' '. _("Can be left empty.")), - "403" => array ("ext" => "FALSE", "Headline" => _("Home directory"), - "Text" => _("$user and $group are replaced with username or primary groupname.")), - "404" => array ("ext" => "FALSE", "Headline" => _("Gecos"), - "Text" => _("User description. If left empty sur- and give name will be used.")), - "405" => array ("ext" => "FALSE", "Headline" => _("Login shell"), - "Text" => _("To disable login use /bin/false. List of shells is read from lam/config/shells")), - "406" => array ("ext" => "FALSE", "Headline" => _("Primary group"), - "Text" => _("The Primary Group the user should be member of.")), - "407" => array ("ext" => "FALSE", "Headline" => _("Groupname"), - "Text" => _("Group name of the group which should be created. Valid characters are: a-z,0-9, .-_. Lam does not allow a number as first character because groupadd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. If groupname is already used groupname will be expanded with a number. The next free number will be used.")), - "408" => array ("ext" => "FALSE", "Headline" => _("GID number"), - "Text" => _("If empty GID number will be generated automaticly depending on your configuration settings.")), - "409" => array ("ext" => "FALSE", "Headline" => _("Gecos"), - "Text" => _("Group description. If left empty group name will be used.")), - "410" => array ("ext" => "FALSE", "Headline" => _("Host name"), - "Text" => _("Host name of the host which should be created. Valid characters are: a-z,0-9, .-_$. Lam does not allow a number as first character because useradd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. Hostnames are always ending with $. If last character is not $ it will be added. If hostname is already used hostname will be expanded with a number. The next free number will be used.")), - "411" => array ("ext" => "FALSE", "Headline" => _("UID number"), - "Text" => _("If empty UID number will be generated automaticly.")), - "412" => array ("ext" => "FALSE", "Headline" => _("Primary group"), - "Text" => _("The Primary group the host should be member of.")), - "413" => array ("ext" => "FALSE", "Headline" => _("Gecos"), - "Text" => _("Host description. If left empty host name will be used.")), - "414" => array ("ext" => "FALSE", "Headline" => _("Password warn"), - "Text" => _("Days before password is to expire that user is warned of pending password expiration. If set value must be 0<."). ' '. _("Can be left empty.")), - "415" => array ("ext" => "FALSE", "Headline" => _("Password expire"), - "Text" => _("Number of days a user can login even his password has expired. -1=always."). ' '. _("Can be left empty.")), - "416" => array ("ext" => "FALSE", "Headline" => _("Maximum password age"), - "Text" => _("Number of days after a user has to change his password again. If set value must be 0<."). ' '. _("Can be left empty.")), - "417" => array ("ext" => "FALSE", "Headline" => _("Minimum password age"), - "Text" => _("Number of days a user has to wait until he\'s allowed to change his password again. If set value must be 0<."). ' '. _("Can be left empty.")), - "418" => array ("ext" => "FALSE", "Headline" => _("Expire date"), - "Text" => _("Account expire date. Format: DD-MM-YYYY")), - "419" => array ("ext" => "FALSE", "Headline" => _("Group members"), - "Text" => _("Users wich are also members of group.")), - "420" => array ("ext" => "FALSE", "Headline" => _("Display name"), - "Text" => _("Windows clients will show display name as group description.")), - "421" => array ("ext" => "FALSE", "Headline" => _("Load profile"), - "Text" => _("You can select a previous defined profile here. This will set all fields to the profile values.")), - "422" => array ("ext" => "FALSE", "Headline" => _("Expand suffix with primary groupname"), - "Text" => _("If selected users will be added with OUs expanded with their primary group. E.g. if a user is in group admin the user suffix will be ou=admin,+user suffix.")), - "423" => array ("ext" => "FALSE", "Headline" => _("Group suffix"), - "Text" => _("If a not yet existing group is defined in csv-file, a new group in the selected group suffix will be created.")), - "424" => array ("ext" => "FALSE", "Headline" => _("Last name"), - "Text" => _("Last name of user. Only letters, - and spaces are allowed.")), - "425" => array ("ext" => "FALSE", "Headline" => _("First name"), - "Text" => _("First name of user. Only letters, - and spaces are allowed.")), - "426" => array ("ext" => "FALSE", "Headline" => _("Use no password"), - "Text" => _("If checked no password will be used.")), - "428" => array ("ext" => "FALSE", "Headline" => _("Use unix password"), - "Text" => _("If checked unix password will also be used as samba password.")), - "429" => array ("ext" => "FALSE", "Headline" => _("Password does not expire"), - "Text" => _("If checked password does not expire. (Setting X-Flag)")), - "430" => array ("ext" => "FALSE", "Headline" => _("User can change password"), - "Text" => _("Date after the user is able to change his password. Format: DD-MM-YYYY")), - "431" => array ("ext" => "FALSE", "Headline" => _("User must change password"), - "Text" => _("Date after the user must change his password. Format: DD-MM-YYYY")), - "432" => array ("ext" => "FALSE", "Headline" => _("Account is deactivated"), - "Text" => _("If checked account will be deactivated. (Setting D-Flag)")), - "433" => array ("ext" => "FALSE", "Headline" => _("Home drive"), - "Text" => _("Driveletter assigned on windows workstations as homedirectory.")), - "434" => array ("ext" => "FALSE", "Headline" => _("Script path"), - "Text" => _("Filename and -path relative to netlogon-share which should be executed on logon. $%s and $%s are replaced with user- and groupname."). ' '. _("Can be left empty."), - "variables" => array('user', 'group')), - "435" => array ("ext" => "FALSE", "Headline" => _("Profile path"), - "Text" => _("Path of the user profile. Can be a local absolute path or a UNC-path (\\\\server\\share). $%s and $%s are replaced with user- and groupname."). ' '. _("Can be left empty."), - "variables" => array('user', 'group')), - "436" => array ("ext" => "FALSE", "Headline" => _("Samba workstations"), - "Text" => _("List of Samba workstations the user is allowed to login. Empty means every workstation."). ' '. _("Can be left empty.")), - "437" => array ("ext" => "FALSE", "Headline" => _("Home path"), - "Text" => _("UNC-path (\\\\server\\share) of homedirectory. $%s and $%s are replaced with user- and groupname."). ' '. _("Can be left empty."), - "variables" => array('user', 'group')), - "438" => array ("ext" => "FALSE", "Headline" => _("Domain"), - "Text" => _("Windows-Domain of user."). ' '. _("Can be left empty.")), - "457" => array ("ext" => "FALSE", "Headline" => _("Save profile"), - "Text" => _("This will make a profile of the current account. The saved values are the same as in the profile editor. Profile names may contain the letters a-z, 0-9 and -_.")), - "458" => array ("ext" => "FALSE", "Headline" => _("Select group profile"), - "Text" => _("If a not yet existing group is defined in csv-file, a new group with the selected group profile will be created.")), - "460" => array ("ext" => "FALSE", "Headline" => _("Windows domain"), - "Text" => _("Windows domain of host."). ' '. _("Can be left empty.")), - "461" => array ("ext" => "FALSE", "Headline" => _("Suffix"), - "Text" => _("Position in ldap-tree where the user should be created.")), - "462" => array ("ext" => "FALSE", "Headline" => _("Suffix"), - "Text" => _("Position in ldap-tree where the group should be created.")), - "463" => array ("ext" => "FALSE", "Headline" => _("Suffix"), - "Text" => _("Position in ldap-tree where the host should be created.")), - "464" => array ("ext" => "FALSE", "Headline" => _("Windows group name"), - "Text" => _("If you want to use a well known RID you can selcet a well known group.")), - "466" => array ("ext" => "FALSE", "Headline" => _("Unix workstations"), - "Text" => _("Comma separated list of unix workstations the user is allowed to login."). ' '. _("Can be left empty.")), - "467" => array ("ext" => "FALSE", "Headline" => _("Domain"), - "Text" => _("Windows-Domain of group."). ' '. _("Can be left empty.")), - "468" => array ("ext" => "FALSE", "Headline" => _("Group members"), - "Text" => _("Users also being member of the current group."). ' '. _("Can be left empty.")), - // 600 - 699 - // Roland Gruber - // OU-editor, domain page - "601" => array ("ext" => "FALSE", "Headline" => _("OU-Editor") . " - " . _("New organizational unit"), - "Text" => _("This will create a new organizational unit under the selected one.")), - "602" => array ("ext" => "FALSE", "Headline" => _("OU-Editor") . " - " . _("Delete organizational unit"), - "Text" => _("This will delete the selected organizational unit. The OU has to be empty.")), - "651" => array ("ext" => "FALSE", "Headline" => _("Domain name"), - "Text" => _("The name of your Windows domain or workgroup.")), - "652" => array ("ext" => "FALSE", "Headline" => _("Suffix"), - "Text" => _("The domain entry will be saved under this suffix.")), - "653" => array ("ext" => "FALSE", "Headline" => _("Domain SID"), - "Text" => _("The SID of your Samba server. Get it with \"net getlocalsid\".")), - "654" => array ("ext" => "FALSE", "Headline" => _("Next RID"), - "Text" => _("Next RID to use when creating accounts.")), - "655" => array ("ext" => "FALSE", "Headline" => _("Next User RID"), - "Text" => _("Next RID to use when creating user accounts.")), - "656" => array ("ext" => "FALSE", "Headline" => _("Next Group RID"), - "Text" => _("Next RID to use when creating groups.")), - "657" => array ("ext" => "FALSE", "Headline" => _("Algorithmic RID Base"), - "Text" => _("Used for calculating RIDs from UID/GID. Do not change if unsure.")) - -/* This is a sample help entry. Just copy this line an modify the vakues between the [] brackets. - Help text is located in the array: - "[Helpnumber]" => array ("ext" => "FALSE", "Headline" => _("[Headline]"), "Text" => _("[Text]"), "SeeAlso" => "[SeeAlso link]"), - Help text is located in an extra file; File must be stored in help directory; Link has to be the path to the file if it is stored in a subdirectory and the filename with a leading slash; - "[Helpnumber]" => array ("ext" => "TRUE", "Link" => "[path/FileName]), -*/ - ); -?> diff --git a/lam/help/help_numbers.assign b/lam/help/help_numbers.assign deleted file mode 100644 index d1381af8..00000000 --- a/lam/help/help_numbers.assign +++ /dev/null @@ -1,16 +0,0 @@ -/* -This file contains a list of 100er blocks of help numbers. Each block can be unassigned or assigned to a developer. Each block description contains the name of the developer and the topic the help numbers are used for. - -If you are a developer and need a block of help numbers please contact Michael Drgner ICQ-UIN:176796482. - -Help numbers should only be used if they are assigned in this file to avoid double entries. In the help/help.inc file each block should begin with the range of help numbers, the developers name and the topic. -*/ - -0 - 99: any developer: for testing purposes -100 - 199: unassigend -200 - 299: Roland Gruber: configuration wizard, configuration login -300 - 399: Roland Gruber: profil editor -400 - 499: Tilo Lutz: account.php -500 - 599: Tilo Lutz: Masscreate and Massdelete -600 - 699: Roland Gruber: OU-Editor -700 -: unassigned diff --git a/lam/index.html b/lam/index.html deleted file mode 100644 index 0d6cfa0f..00000000 --- a/lam/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - -LDAP Account Manager - - - - - \ No newline at end of file diff --git a/lam/lib/.htaccess b/lam/lib/.htaccess deleted file mode 100644 index 053b54e1..00000000 --- a/lam/lib/.htaccess +++ /dev/null @@ -1,12 +0,0 @@ - - Order allow,deny - Deny from all - - - Order allow,deny - Allow from all - - - Order allow,deny - Allow from all - diff --git a/lam/lib/account.inc b/lam/lib/account.inc deleted file mode 100644 index 99d581ef..00000000 --- a/lam/lib/account.inc +++ /dev/null @@ -1,537 +0,0 @@ - $i) { - // remove whitespaces - trim($shells[$i]); - // remove lineend - $shells[$i] = substr($shells[$i], 0, strpos($shells[$i], "\n")); - // remove comments - if ($shells[$i]{0}=='#') unset ($shells[$i]); - else $i++; - } - // $shells is array with all valid shells - return $shells; - } - else return array(); -} - - -/* This function will replace umlates with ascci-chars -* fixme *** -* In order to map all non-ascii characters this function should be changed -*/ -/* This function will return all values from $array without values of $values -* $values, $array and $return are arrays -*/ -function array_delete($values, $array) { - // Loop for every entry and check if it should be removed - if (is_array($array)) { - $return = array(); - foreach ($array as $array_value) - if (!@in_array($array_value, $values)) - $return[] = $array_value; - return $return; - } - else return array(); - } - - -// This function will return a password with max. 8 characters -function genpasswd() { - // Allowed Characters to generate passwords - // I'Ve removed characters like l and 1 because they are too similar - $LCase = 'abcdefghjkmnpqrstuvwxyz'; - $UCase = 'ABCDEFGHJKMNPQRSTUVWXYZ'; - $Integer = '23456789'; - // DEFINE CONSTANTS FOR ALGORTTHM - define("LEN", '1'); - $a = RndInt('letter'); - $b = RndInt('letter'); - $c = RndInt('letter'); - $d = RndInt('letter'); - $e = RndInt('number'); - $f = RndInt('number'); - $g = RndInt('letter'); - $h = RndInt('letter'); - // EXTRACT 8 CHARACTERS RANDOMLY FROM TH // E DEFINITION STRINGS - $L1 = substr($LCase, $a, LEN); - $L2 = substr($LCase, $b, LEN); - $L3 = substr($LCase, $h, LEN); - $U1 = substr($UCase, $c, LEN); - $U2 = substr($UCase, $d, LEN); - $U3 = substr($UCase, $g, LEN); - $I1 = substr($Integer, $e, LEN); - $I2 = substr($Integer, $f, LEN); - // COMBINE THE CHARACTERS AND DISPLAY TH // E NEW PASSWORD - $PW = $L1 . $U2 . $I1 . $L2 . $I2 . $U1 . $U3 . $L3; - return $PW; - } - - -/* THIS FUNCTION GENERATES A RANDOM NUMBER THAT WILL BE USED TO -* RANDOMLY SELECT CHARACTERS FROM THE STRINGS ABOVE -*/ -function RndInt($Format){ - switch ($Format){ - case 'letter': - $Rnd = rand(0,23); - if ($Rnd > 23){ - $Rnd = $Rnd - 1; - } - break; - case 'number': - $Rnd = rand(2,9); - if ($Rnd > 8){ - $Rnd = $Rnd - 1; - } - break; - } - return $Rnd; - } // END RndInt() FUNCTION - -// This function will return the days from 1.1.1970 until now -function getdays() { - $days = time() / 86400; - settype($days, 'integer'); - return $days; - } - -/* This function creates all attributes stored in attrFlags. It's the same -* syntax used in smbpasswd -* $values is an array of samba flags as defined in account object -* Return value is a string -*/ -function smbflag($input) { - // Start character - $flag = "["; - // Add Options - if ($input['W']) $flag .= "W"; else $flag .= "U"; - if ($input['D']) $flag .= "D"; - if ($input['X']) $flag .= "X"; - if ($input['N']) $flag .= "N"; - if ($input['S']) $flag .= "S"; - if ($input['H']) $flag .= "H"; - // Expand string to fixed length - $flag = str_pad($flag, 12); - // End character - $flag = $flag. "]"; - return $flag; - } - -/** -* Generates the LM hash of a password. -* -* @param string password original password -* @return string password hash -*/ -function lmPassword($password) { - $hash = new smbHash(); - return $hash->lmhash($password); -} - -/** -* Generates the NT hash of a password. -* -* @param string password original password -* @return string password hash -*/ -function ntPassword($password) { - $hash = new smbHash(); - return $hash->nthash($password); -} - - - - -/** -* Returns the hash value of a plain text password -* the hash algorithm depends on the configuration file -* -* @param string $password the password string -* @param boolean $enabled marks the hash as enabled/disabled (e.g. by prefixing "!") -* @param string $hashType password hash type (CRYPT, SHA, SSHA, MD5, SMD5, PLAIN) -* @return string the password hash -*/ -function pwd_hash($password, $enabled = true, $hashType = 'SSHA') { - // check for empty password - if (! $password || ($password == "")) { - return ""; - } - // calculate new random number - $_SESSION['ldap']->new_rand(); - $hash = ""; - switch ($hashType) { - case 'CRYPT': - $hash = "{CRYPT}" . crypt($password); - break; - case 'MD5': - $hash = "{MD5}" . base64_encode(hex2bin(md5($password))); - break; - case 'SMD5': - $salt0 = substr(pack("h*", md5($_SESSION['ldap']->rand)), 0, 8); - $salt = substr(pack("H*", md5($salt0 . $password)), 0, 4); - $hash = "{SMD5}" . base64_encode(hex2bin(md5($password . $salt)) . $salt); - break; - case 'SHA': - // PHP 4.3+ can use sha1() function - if (function_exists('sha1')) { - $hash = "{SHA}" . base64_encode(hex2bin(sha1($password))); - } - // otherwise use MHash - elseif (function_exists('mHash')) { - $hash = "{SHA}" . base64_encode(mHash(MHASH_SHA1, $password)); - } - // if SHA1 is not possible use crypt() - else { - $hash = "{CRYPT}" . crypt($password); - } - break; - case 'SSHA': - // PHP 4.3+ can use sha1() function - if (function_exists('sha1')) { - $salt0 = substr(pack("h*", md5($_SESSION['ldap']->rand)), 0, 8); - $salt = substr(pack("H*", sha1($salt0 . $password)), 0, 4); - $hash = "{SSHA}" . base64_encode(hex2bin(sha1($password . $salt)) . $salt); - } - // otherwise use MHash - elseif (function_exists('mHash')) { - $salt = mhash_keygen_s2k(MHASH_SHA1, $password, substr(pack("h*", md5($_SESSION['ldap']->rand)), 0, 8), 4); - $hash = base64_encode(mHash(MHASH_SHA1, $password . $salt) . $salt); - $hash = "{SSHA}" . $hash; - } - // if SSHA is not possible use crypt() - else { - $hash = "{CRYPT}" . crypt($password); - } - break; - case 'PLAIN': - $hash = $password; - break; - // use SSHA if the setting is invalid - default: - // PHP 4.3+ can use sha1() function - if (function_exists('sha1')) { - $salt0 = substr(pack("h*", md5($_SESSION['ldap']->rand)), 0, 8); - $salt = substr(pack("H*", sha1($salt0 . $password)), 0, 4); - $hash = "{SSHA}" . base64_encode(hex2bin(sha1($password . $salt)) . $salt); - } - // otherwise use MHash - elseif (function_exists('mHash')) { - $salt = mhash_keygen_s2k(MHASH_SHA1, $password, substr(pack("h*", md5($_SESSION['ldap']->rand)), 0, 8), 4); - $hash = base64_encode(mHash(MHASH_SHA1, $password . $salt) . $salt); - $hash = "{SSHA}" . $hash; - } - // if SSHA is not possible use crypt() - else { - $hash = "{CRYPT}" . crypt($password); - } - break; - } - // enable/disable password - if (! $enabled) return pwd_disable($hash); - else return $hash; -} - -/** -* Marks an password hash as enabled and returns the new hash string -* -* @param string $hash hash value to enable -* @return string enabled password hash -*/ -function pwd_enable($hash) { - // check if password is disabled (old wrong LAM method) - if ((substr($hash, 0, 2) == "!{") || ((substr($hash, 0, 2) == "*{"))) { - return substr($hash, 1, strlen($hash)); - } - // check for "!" or "*" at beginning of password hash - else { - if (substr($hash, 0, 1) == "{") { - $pos = strpos($hash, "}"); - if ((substr($hash, $pos + 1, 1) == "!") || (substr($hash, $pos + 1, 1) == "*")) { - // enable hash - return substr($hash, 0, $pos + 1) . substr($hash, $pos + 2, strlen($hash)); - } - else return $hash; // not disabled - } - else return $hash; // password is plain text - } -} - -/** -* Marks an password hash as disabled and returns the new hash string -* -* @param string $hash hash value to disable -* @return string disabled hash value -*/ -function pwd_disable($hash) { - // check if password is disabled (old wrong LAM method) - if ((substr($hash, 0, 2) == "!{") || ((substr($hash, 0, 2) == "*{"))) { - return $hash; - } - // check for "!" or "*" at beginning of password hash - else { - if (substr($hash, 0, 1) == "{") { - $pos = strpos($hash, "}"); - if ((substr($hash, $pos + 1, 1) == "!") || (substr($hash, $pos + 1, 1) == "*")) { - // hash already disabled - return $hash; - } - else return substr($hash, 0, $pos + 1) . "!" . substr($hash, $pos + 1, strlen($hash)); // not disabled - } - else return $hash; // password is plain text - } -} - -/** -* Checks if a password hash is enabled/disabled -* -* @param string $hash password hash to check -* @return boolean true if the password is marked as enabled -*/ -function pwd_is_enabled($hash) { - // disabled passwords have a "!" or "*" at the beginning (old wrong LAM method) - if ((substr($hash, 0, 2) == "!{") || ((substr($hash, 0, 2) == "*{"))) return false; - if (substr($hash, 0, 1) == "{") { - $pos = strrpos($hash, "}"); - // check if hash starts with "!" or "*" - if ((substr($hash, $pos + 1, 1) == "!") || (substr($hash, $pos + 1, 1) == "*")) return false; - else return true; - } - else return true; -} - - /** - * Returns an array with all Samba 3 domain entries under the given suffix - * - * @param string $suffix search suffix - * @return array list of samba3domain objects - */ - function search_domains($suffix) { - $ret = array(); - $attr = array("DN", "sambaDomainName", "sambaSID", "sambaNextRid", "sambaNextGroupRid", - "sambaNextUserRid", "sambaAlgorithmicRidBase"); - $sr = @ldap_search($_SESSION['ldap']->server(), $suffix, "objectClass=sambaDomain", $attr); - if ($sr) { - $units = ldap_get_entries($_SESSION['ldap']->server, $sr); - // delete count entry - array_shift($units); - // extract attributes - for ($i = 0; $i < sizeof($units); $i++) { - $ret[$i] = new samba3domain(); - $ret[$i]->dn = $units[$i]['dn']; - $ret[$i]->name = $units[$i]['sambadomainname'][0]; - $ret[$i]->SID = $units[$i]['sambasid'][0]; - $ret[$i]->nextRID = $units[$i]['sambanextrid'][0]; - $ret[$i]->nextGroupRID = $units[$i]['sambanextgrouprid'][0]; - $ret[$i]->nextUserRID = $units[$i]['sambanextuserrid'][0]; - if (isset($units[$i]['sambaalgorithmicridbase'][0])) $ret[$i]->RIDbase = $units[$i]['sambaalgorithmicridbase'][0]; - } - // sort array by domain name - usort($ret, "cmp_domain"); - } - return $ret; - } - - /** - * Helper function to sort the domains - * - * @param string $a first argument to compare - * @param string $b second argument to compare - * @return integer 0 if equal, 1 if $a is greater, -1 if $b is greater - */ - function cmp_domain($a, $b) { - if ($a->name == $b->name) return 0; - elseif ($a->name == max($a->name, $b->name)) return 1; - else return -1; - } - - -/** -* Represents a Samba 3 domain entry -* -* @package modules -*/ -class samba3domain { - - /** DN */ - var $dn; - - /** Domain name */ - var $name; - - /** Domain SID */ - var $SID; - - /** Next RID */ - var $nextRID; - - /** Next user RID */ - var $nextUserRID; - - /** Next group RID */ - var $nextGroupRID; - - /** RID base to calculate RIDs, default 1000 */ - var $RIDbase = 1000; -} - -/** This functions contains a collection of regular expressions -* It's much easier to handle them here than in every module -* because many of them are used several times. -**/ -function get_preg($argument, $regexp) { - /* Bug in php preg_match doesn't work correct with utf8 - */ - $language = explode(":", $_SESSION['language']); - $language2 = explode ('.', $language[0]); - setlocale(LC_ALL, $language2[0]); - // First we check "positive" cases - $pregexpr = ''; - switch ($regexp) { - case 'password': // fixme where do i get an exact regexp? - $pregexpr = '/^([[:alnum:]\\ \\|\\#\\*\\,\\.\\;\\:\\_\\+\\!\\%\\&\\/\\?\\{\\(\\)\\}-])*$/u'; - break; - case 'groupname': // first character must be a letter. All letters, numbers, space and ._- are allowed characters - case 'username': // first character must be a letter. All letters, numbers, space and ._- are allowed characters - $pregexpr = '/^[[:alpha:]]([[:alnum:]\\.\\ \\_-])*$/u'; - break; - case 'usernameList': // comma separated list of user names - case 'groupnameList': // comma separated list of group names - $pregexpr = '/^[[:alpha:]]([[:alnum:]\\.\\ \\_-])*(,[[:alpha:]]([[:alnum:]\\.\\ \\_-])*)*$/u'; - break; - case 'hostname': // first character must be letter, last must be $. Only normal letters, numbers and ._- are allowed - $pregexpr = '/^[a-zA-Z]([a-zA-Z0-9\\.\\_-])*\\$$/u'; - break; - case 'cn': - case 'realname': // Allow all letters, space and .-_ - $pregexpr = '/^[[:alpha:]]([[:alpha:]\\.\\ \\_-])*$/u'; - break; - case "telephone": // Allow numbers, space, brackets, /-+. - $pregexpr = '/^(\\+)*([0-9\\.\\ \\(\\)\\/-])*$/'; - break; - case "email": - $pregexpr = '/^([0-9a-z\\._-])+[@]([0-9a-z-])+([.]([0-9a-z-])+)*$/'; - break; - case "street": // Allow all letters, numbers, space and .-_ - $pregexpr = '/^([[:alnum:]\\.\\ \\_-])*$/u'; - break; - case "postalAddress": // Allow all letters, numbers, space and .-_ - case "postalCode": // Allow all letters, numbers, space and .-_ - case "title": // Allow all letters, numbers, space and .-_ - case "employeeType": // Allow all letters, numbers, space and .-_ - $pregexpr = '/^([[:alnum:]\\.\\ \\_-])*$/u'; - break; - case "homeDirectory": // Homapath, /path/...... - $pregexpr = '/^([\/]([[:alnum:]\\.\\ \\_-])+)+$/u'; - break; - case "digit": // Normal number - $pregexpr = '/^[[:digit:]]*$/'; - break; - case "UNC": // UNC Path, e.g. \\server\share\folder\... - $pregexpr = '/^([\\\][\\\]([a-zA-Z0-9\\.-])+)([\\\]([[:alnum:]\\.\\ \\_-])+)+$/u'; - break; - case "logonscript": // path to login-script. normal unix file - $pregexpr = '/^(([\/])*([[:alnum:]\\.\\ \\_-])+([\/]([[:alnum:]\\.\\ \\_-])+)*((\\.bat)|(\\.cmd)|(\\.exe)))*$/u'; - break; - case "workstations": // comma separated list with windows-hosts - $pregexpr = '/^(([a-zA-Z0-9\\.\\_-])+(,[a-zA-Z0-9\\.\\_-])*)*$/'; - break; - case "domainname": // Windows Domainname - $pregexpr = '/^([a-z0-9\\.\\_-])+$/'; - break; - case "unixhost": // Unix hosts - $pregexpr = '/^([a-z0-9\\.\\_-])*$/'; - break; - case 'digit2': // Same as digit but also -1 - $pregexpr = '/^(([-][1])|([[:digit:]]*))$/'; - break; - case 'gecos': - $pregexpr = '/^[a-zA-z0-9 \\._-]+([,][a-zA-z0-9 \\._-]+)*$/'; - break; - case 'macAddress': - $pregexpr = '/^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$/'; - break; - case 'date': - $pregexpr = '/^((0[1-9])|([1-2][0-9])|30|31)\\-((0[1-9])|(1[0-2]))\\-[1-3][0-9][0-9][0-9]$/'; - break; - case 'sambaLogonHours': - $pregexpr = '/^[0-9a-fA-F]{42}$/'; - break; - } - if ($pregexpr!='') - if (preg_match($pregexpr, $argument)) { - /* Bug in php preg_match doesn't work correct with utf8 - */ - setlocale(LC_ALL, $language[0]); - return true; - } - // Now we check "negative" cases, characters which are not allowed - $pregexpr = ''; - switch ($regexp) { - case "!lower": - $pregexpr = '/[[:lower:]]/'; - break; - case "!upper": - $pregexpr = '/[[:upper:]]/'; - break; - case "!digit": - $pregexpr = '/[[:digit:]]/'; - break; - } - if ($pregexpr!='') - if (!preg_match($pregexpr, $argument)) { - /* Bug in php preg_match doesn't work correct with utf8 - */ - setlocale(LC_ALL, $language[0]); - return true; - } - /* Bug in php preg_match doesn't work correct with utf8 - */ - setlocale(LC_ALL, $language[0]); - return false; -} - - -?> diff --git a/lam/lib/baseModule.inc b/lam/lib/baseModule.inc deleted file mode 100644 index acfca3cc..00000000 --- a/lam/lib/baseModule.inc +++ /dev/null @@ -1,576 +0,0 @@ -scope = $scope; - $this->load_Messages(); - $this->meta = $this->get_metaData(); - if (isset($_SESSION['config'])) $this->moduleSettings = $_SESSION['config']->get_moduleSettings(); - } - - /** - * This function fills the $messages variable with output messages from this module. - */ - function load_Messages() { - } - - /** - * Initializes the module after it became part of an accountContainer - * - * @param string $base the name of the accountContainer object ($_SESSION[$base]) - */ - function init($base) { - $this->base = $base; - // Create Arrays with ldap attributes - $this->attributes =& $_SESSION[$this->base]->get_module_attributes(get_class($this)); - $this->orig =& $_SESSION[$this->base]->get_module_attributes(get_class($this), true); - $line=-1; - for ($i=0; $iobjectClasses) || $i==-1; $i++) { - if (strpos(strtolower($_SESSION['ldap']->objectClasses[$i]), strtolower("NAME '".get_class($this)."'"))) $line = $i; - } - $objectClassName = substr($_SESSION['ldap']->objectClasses[$line], 6+strpos($_SESSION['ldap']->objectClasses[$line], "NAME '"), strlen(get_class($this)) ); - $this->attributes['objectClass'][0] = $objectClassName; - } - - - /* This function loads all standard ldap attributes. It is used - * by the modules to reduce code - */ - function load_ldap_attributes($attr) { - // Load attributes which are displayed - $objectClassName = $this->attributes['objectClass']; - // unset count entries - unset ($attr['count']); - $attributes = array_keys($attr); - foreach ($attributes as $attribute) unset ($attr[$attribute]['count']); - // unset double entries - for ($i=0; $iattributes[$attribute])) { - // decode as unicode - $this->attributes[$attribute] = $attr[$attribute]; - $this->orig[$attribute] = $attr[$attribute]; - } - } - $this->attributes['objectClass'] = $objectClassName; - if (in_array($objectClassName[0], $attr['objectClass'])) - $this->orig['objectClass'] = $objectClassName; - else $this->orig['objectClass'] = array(); - } - - /** - * Dummy function, meta data is provided by sub classes. - * - * @return array empty array - */ - function get_metaData() { - return array(); - } - - /** - * Returns the account type of this module (user, group, host) - * - * @return string account type - */ - function get_scope() { - return $this->scope; - } - - /** - * Returns true if this module fits for the current scope. - * - * @return boolean true if module fits - */ - function can_manage() { - if (is_array($this->meta["account_types"]) && in_array($this->scope, $this->meta["account_types"])) return true; - else return false; - } - - /** - * Returns true if this module is enough to provide a sensible account. - * - * There is no relation to the name of this class. - * - * @return boolean true if base module - */ - function is_base_module() { - if ($this->meta['is_base'] == true) return true; - else return false; - } - - /** - * returns an LDAP filter for the account lists - * - * @return string LDAP filter - */ - function get_ldap_filter() { - if (isset($this->meta['ldap_filter'])) return $this->meta['ldap_filter']; - else return ""; - } - - /** - * Returns an alias name for the module. - * - * This alias is used in various places instead of the less descriptive class name. - * The alias also has less syntax restrictions and may contain spaces or special characters. - * - * @return string alias name - */ - function get_alias() { - if (isset($this->meta['alias'])) return $this->meta['alias']; - else return get_class($this); - } - - /** - * Returns a list of possible LDAP attributes which can be used to form the RDN. - * - * The returned elements have this form: => - *
is the name of the LDAP attribute - *
defines the priority of the attribute (can be "low", "normal", "high") - * - * @return array list of attributes - */ - function get_RDNAttributes() { - if (isset($this->meta['RDN'])) return $this->meta['RDN']; - else return array(); - } - - /** - * This function returns a list with all depending and conflicting modules. - * - * @return array list of dependencies and conflicts - */ - function get_dependencies() { - if (isset($this->meta['dependencies'])) return $this->meta['dependencies']; - else return array('depends' => array(), 'conflicts' => array()); - } - - /** - * Returns a list of elements for the account profiles. - * - * @return profile elements - */ - function get_profileOptions() { - if (isset($this->meta['profile_options'])) return $this->meta['profile_options']; - else return array(); - } - - /** - * Checks input values of account profiles. - * - * @param array $options a hash array (name => value) containing the options - * @return array list of error messages (array(type, title, text)) to generate StatusMessages, if any - */ - function check_profileOptions($options) { - $messages = array(); - if (is_array($this->meta['profile_checks'])) { - $identifiers = array_keys($this->meta['profile_checks']); - for ($i = 0; $i < sizeof($identifiers); $i++) { - // empty input - if (($options[$identifiers[$i]][0] == '') || !isset($options[$identifiers[$i]][0])) { - // check if option is required - if ($this->meta['profile_checks'][$identifiers[$i]]['required']) { - $messages[] = $this->meta['profile_checks'][$identifiers[$i]]['required_message']; - } - return $messages; - } - switch ($this->meta['profile_checks'][$identifiers[$i]]['type']) { - // check by regular expression (from account.inc) - case "ext_preg": - // ignore empty fileds - if ($options[$identifiers[$i]][0] == '') continue; - if (! get_preg($options[$identifiers[$i]][0], $this->meta['profile_checks'][$identifiers[$i]]['regex'])) { - $messages[] = $this->meta['profile_checks'][$identifiers[$i]]['error_message']; - } - break; - // check by regular expression (case insensitive) - case 'regex_i': - // ignore empty fileds - if ($options[$identifiers[$i]][0] == '') continue; - if (! eregi($this->meta['profile_checks'][$identifiers[$i]]['regex'], $options[$identifiers[$i]][0])) { - $messages[] = $this->meta['profile_checks'][$identifiers[$i]]['error_message']; - } - break; - // check by regular expression (case sensitive) - case 'regex': - // ignore empty fileds - if ($options[$identifiers[$i]][0] == '') continue; - if (! ereg($this->meta['profile_checks'][$identifiers[$i]]['regex'], $options[$identifiers[$i]][0])) { - $messages[] = $this->meta['profile_checks'][$identifiers[$i]]['error_message']; - } - break; - // check by integer comparison (greater) - case 'int_greater': - // ignore if both fields are empty - if (($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name1']][0] == '') && ($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name2']][0] == '')) continue; - // print error message if only one field is empty - if (($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name1']][0] == '') || ($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name2']][0] == '')) { - $messages[] = $this->meta['profile_checks'][$identifiers[$i]]['error_message']; - continue; - } - // compare - if (!(intval($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name1']][0]) > intval($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name2']][0]))) { - $messages[] = $this->meta['profile_checks'][$identifiers[$i]]['error_message']; - } - break; - // check by integer comparison (greater or equal) - case 'int_greaterOrEqual': - // ignore if both fields are empty - if (($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name1']][0] == '') && ($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name2']][0] == '')) continue; - // print error message if only one field is empty - if (($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name1']][0] == '') || ($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name2']][0] == '')) { - $messages[] = $this->meta['profile_checks'][$identifiers[$i]]['error_message']; - continue; - } - // compare - if (!(intval($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name1']][0]) >= intval($options[$this->meta['profile_checks'][$identifiers[$i]]['cmp_name2']][0]))) { - $messages[] = $this->meta['profile_checks'][$identifiers[$i]]['error_message']; - } - break; - // print error message for invalid types - default: - StatusMessage("ERROR", "Unsupported type!", $this->meta['profile_checks'][$identifiers[$i]]['type']); - break; - } - } - } - return $messages; - } - - /** - * Returns a list of elements for the configuration. - * - * @param array $scopes account types (user, group, host) - * @return array configuration elements - */ - function get_configOptions($scopes) { - $return = array(); - for ($i = 0; $i < sizeof($scopes); $i++) { - if (isset($this->meta['config_options'][$scopes[$i]])) $return = array_merge($return, $this->meta['config_options'][$scopes[$i]]); - } - if (isset($this->meta['config_options']['all'])) $return = array_merge($return, $this->meta['config_options']['all']); - return $return; - } - - /** - * Returns an array containing descriptions shown on configuration pages. - * - * The returned array has the format array('legend' => '...', descriptions => array('option1' => '...', ...)). - *
The "legend" value is used as text for the fieldset, the descriptions are used when the configuration is printed. - * - * @return array configuration elements - */ - function get_configDescriptions() { - $return = array('legend' => 'no description', 'descriptions' => array()); - if (isset($this->meta['config_descriptions'])) $return = $this->meta['config_descriptions']; - return $return; - } - - /** - * Checks input values of module settings. - * - * @param array $scopes list of account types which are used - * @param array $options hash array containing the settings (array('option' => array('value'))) - * @return array list of error messages - */ - function check_configOptions($scopes, $options) { - $messages = array(); - $scopes[] = 'all'; // add checks that are independent of scope - for ($s = 0; $s < sizeof($scopes); $s++) { - if (is_array($this->meta['config_checks'][$scopes[$s]])) { - $identifiers = array_keys($this->meta['config_checks'][$scopes[$s]]); - for ($i = 0; $i < sizeof($identifiers); $i++) { - // check if option is required - if ($this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['required'] && ($options[$identifiers[$i]][0] == '')) { - $messages[] = $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['required_message']; - } - switch ($this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['type']) { - // check by regular expression (from account.inc) - case "ext_preg": - // ignore empty fileds - if ($options[$identifiers[$i]][0] == '') continue; - if (! get_preg($options[$identifiers[$i]][0], $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['regex'])) { - $messages[] = $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['error_message']; - } - break; - // check by regular expression (case insensitive) - case "regex_i": - // ignore empty fileds - if ($options[$identifiers[$i]][0] == '') continue; - if (! eregi($this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['regex'], $options[$identifiers[$i]][0])) { - $messages[] = $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['error_message']; - } - break; - // check by regular expression (case sensitive) - case "regex": - // ignore empty fileds - if ($options[$identifiers[$i]][0] == '') continue; - if (! ereg($this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['regex'], $options[$identifiers[$i]][0])) { - $messages[] = $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['error_message']; - } - break; - // check by integer comparison (greater) - case "int_greater": - // ignore if both fields are empty - if (($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name1']][0] == '') && ($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name2']][0] == '')) continue; - // print error message if only one field is empty - if (($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name1']][0] == '') || ($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name2']][0] == '')) { - $messages[] = $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['error_message']; - continue; - } - // compare - if (!(intval($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name1']][0]) > intval($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name2']][0]))) { - $messages[] = $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['error_message']; - } - break; - // check by integer comparison (greater or equal) - case "int_greaterOrEqual": - // ignore if both fields are empty - if (($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name1']][0] == '') && ($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name2']][0] == '')) continue; - // print error message if only one field is empty - if (($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name1']][0] == '') || ($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name2']][0] == '')) { - $messages[] = $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['error_message']; - continue; - } - // compare - if (!(intval($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name1']][0]) >= intval($options[$this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['cmp_name2']][0]))) { - $messages[] = $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['error_message']; - } - break; - // print error message on undefined type - default: - StatusMessage("ERROR", "Unsupported type!", $this->meta['config_checks'][$scopes[$s]][$identifiers[$i]]['type']); - break; - } - } - } - } - return $messages; - } - - /** - * Returns an array with all fields available for this account type on the PDF - * output. This method may be overwritten by subclasses or it may be used - * by using entries in the $this->meta['PDF_fields'] array of the specific sub- - * class. - * - * @param string $scope account type - * @return array list of available fields for PDF output - */ - function get_pdfFields($scope = 'user') { - return ((isset($this->meta['PDF_fields'])) ? $this->meta['PDF_fields'] : array()); - } - - /** - * Returns a hastable with all entries that may be printed out in the PDF. The - * syntax of the hashtable is specified by the module specification and the - * corresponding DTD. This method must be overwritten in case that there - * are non static things to be returned. The $this->meta['PDF_entries'] array - * may be used when there is only static content. - * - * @param string $scope account type - * @return array hastable of entries for the PDF. Each entry is an array where - * each entry is treated as a new line in the PDF. - */ - function get_pdf_entries($scope = 'user') { - return ((isset($this->meta['PDF_entries'])) ? $this->meta['PDF_entries'] : array()); - } - - /** - * Returns an array containing all input columns for the file upload. - * - * Syntax: - *
array( - *
string: name, // fixed non-translated name which is used as column name (should be of format: _) - *
string: description, // short descriptive name - *
string: help, // help ID - *
string: example, // example value - *
boolean: required // true, if user must set a value for this column - *
) - * - * @return array column list - */ - function get_uploadColumns() { - if (isset($this->meta['upload_columns'])) return $this->meta['upload_columns']; - else return array(); - } - - /** - * Returns a list of module names which must be processed in building the account befor this module. - * - * @return array list of module names - */ - function get_uploadPreDepends() { - if (isset($this->meta['upload_preDepends'])) return $this->meta['upload_preDepends']; - else return array(); - } - - /** - * In this function the LDAP account is built up. - * - * @param array $rawAccounts list of hash arrays (name => value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - // must be implemented in sub modules - return array(); - } - - /** - * This function return the help entry array for a specific help id. Normally this->meta can be used. - * - * @param string $id The id string for the help entry needed. - * @param string $scope The scope for which the help entry should be retrieved. May be empty when - * there is now difference of the help entry depending on the actual scope. - * - * @return array The desired help entry. - */ - function get_help($id) { - if(isset($this->meta['help'][$id])) { - return $this->meta['help'][$id]; - } - elseif(isset($this->meta['help'][$this->scope][$id])) { - return $this->meta['help'][$this->scope][$id]; - } - else { - return false; - } - } - - function input_check() { - /* We have to some string checks now. Not every ldap attributes allow utf8 - * strings. Therefore we do a syntax check here and change utf8 strings to ascci - * strings. Only "7bit" ascci is allowed - * We check als the max length as defined in ldap. - */ - // Do a check for every ldap attribute - $attributes = array_keys($this->attributes); - for ($i=0; $iattributes[$attributes[$i]]['SYNTAX']=='1.3.6.1.4.1.1466.115.121.1.36') { - // found numeric attribute - for ($j=0; $jattributes[$attributes[$i]]); $j++) - if ($this->attributes[$attributes[$i]][$j]!=intval($this->attributes[$attributes[$i]][$j])) { - $this->attributes[$attributes[$i]][$j] = intval($this->attributes[$attributes[$i]][$j]); - $messages[$attributes[$i]] = array('WARN', _($attributes[$i]), _('Changed value %s because only numeric values are allowed.')); - } - } - else if ($_SESSION['ldap']->attributes[$attributes[$i]]['SYNTAX']=='1.3.6.1.4.1.1466.115.121.1.26' || - $_SESSION['ldap']->attributes[$attributes[$i]]['SYNTAX']=='1.3.6.1.4.1.1466.115.121.1.44' || - $_SESSION['ldap']->attributes[$attributes[$i]]['SYNTAX']=='1.3.6.1.4.1.1466.115.121.1.11') { - // found "7bit" ascii attribute - // convert utf8 in us-ascii - $convert = array ( 'ä' => 'ae', 'Ä' => 'Ae', 'ö' => 'Oe', 'ü' => 'ue', 'Ü' => 'ue', - 'ß' => 'ss', 'é' => 'e', 'è' => 'e', 'ô' => 'o' - ); - $index = array_keys($convert); - for ($j=0; $jattributes[$attributes[$i]]); $j++) - for ($k=0; $kattributes[$attributes[$i]][$j]); - if ($temp!=$this->attributes[$attributes[$i]][$j]) { - $this->attributes[$attributes[$i]][$j] = $temp; - $messages[$attributes[$i]][] = array('WARN', _($attributes[$i]), _('Changed value because only ASCII characters are allowed.')); - } - } - } - // TODO length check - } - if (count($messages)!=0) return $messages; - else return 0; - } - - /** - * This function executes one post upload action. - * - * @param array $data array containing one account in each element - * @param array $ids array( => ) - * @param array $failed list of accounts which were not created successfully - * @param array $temp variable to store temporary data between two post actions - * @return array current status - *
array ( - *
'status' => 'finished' | 'inProgress' - *
'progress' => 0..100 - *
'errors' => array () - *
) - */ - function doUploadPostActions($data, $ids, $failed, &$temp) { - return array( - 'status' => 'finished', - 'progress' => 100, - 'errors' => array() - ); - } - -} - - -?> \ No newline at end of file diff --git a/lam/lib/blowfish.inc b/lam/lib/blowfish.inc deleted file mode 100644 index 32c6370e..00000000 --- a/lam/lib/blowfish.inc +++ /dev/null @@ -1,548 +0,0 @@ - - * - * See http://www.fsf.org/copyleft/lgpl.html for license information (LGPL). - * - * This file was copied from the Horde project (http://www.horde.org). - * - * author: Mike Cochrane - * - * edited by Roland Gruber for LAM - * - added encrypt/decrypt functions - */ - -/** -* Blowfish encryption/decryption -* -* @package LDAP -* @author Roland Gruber -* @author Mike Cochrane -*/ - -/** -* Encrypts the LDAP username and password before storing in session. -* -* @package LDAP -*/ -class Cipher_blowfish { - - /** Pi Array */ - var $p = array( - 0x243F6A88, 0x85A308D3, 0x13198A2E, 0x03707344, - 0xA4093822, 0x299F31D0, 0x082EFA98, 0xEC4E6C89, - 0x452821E6, 0x38D01377, 0xBE5466CF, 0x34E90C6C, - 0xC0AC29B7, 0xC97C50DD, 0x3F84D5B5, 0xB5470917, - 0x9216D5D9, 0x8979FB1B); - - /** S Boxes */ - var $s1 = array( - 0xD1310BA6, 0x98DFB5AC, 0x2FFD72DB, 0xD01ADFB7, - 0xB8E1AFED, 0x6A267E96, 0xBA7C9045, 0xF12C7F99, - 0x24A19947, 0xB3916CF7, 0x0801F2E2, 0x858EFC16, - 0x636920D8, 0x71574E69, 0xA458FEA3, 0xF4933D7E, - 0x0D95748F, 0x728EB658, 0x718BCD58, 0x82154AEE, - 0x7B54A41D, 0xC25A59B5, 0x9C30D539, 0x2AF26013, - 0xC5D1B023, 0x286085F0, 0xCA417918, 0xB8DB38EF, - 0x8E79DCB0, 0x603A180E, 0x6C9E0E8B, 0xB01E8A3E, - 0xD71577C1, 0xBD314B27, 0x78AF2FDA, 0x55605C60, - 0xE65525F3, 0xAA55AB94, 0x57489862, 0x63E81440, - 0x55CA396A, 0x2AAB10B6, 0xB4CC5C34, 0x1141E8CE, - 0xA15486AF, 0x7C72E993, 0xB3EE1411, 0x636FBC2A, - 0x2BA9C55D, 0x741831F6, 0xCE5C3E16, 0x9B87931E, - 0xAFD6BA33, 0x6C24CF5C, 0x7A325381, 0x28958677, - 0x3B8F4898, 0x6B4BB9AF, 0xC4BFE81B, 0x66282193, - 0x61D809CC, 0xFB21A991, 0x487CAC60, 0x5DEC8032, - 0xEF845D5D, 0xE98575B1, 0xDC262302, 0xEB651B88, - 0x23893E81, 0xD396ACC5, 0x0F6D6FF3, 0x83F44239, - 0x2E0B4482, 0xA4842004, 0x69C8F04A, 0x9E1F9B5E, - 0x21C66842, 0xF6E96C9A, 0x670C9C61, 0xABD388F0, - 0x6A51A0D2, 0xD8542F68, 0x960FA728, 0xAB5133A3, - 0x6EEF0B6C, 0x137A3BE4, 0xBA3BF050, 0x7EFB2A98, - 0xA1F1651D, 0x39AF0176, 0x66CA593E, 0x82430E88, - 0x8CEE8619, 0x456F9FB4, 0x7D84A5C3, 0x3B8B5EBE, - 0xE06F75D8, 0x85C12073, 0x401A449F, 0x56C16AA6, - 0x4ED3AA62, 0x363F7706, 0x1BFEDF72, 0x429B023D, - 0x37D0D724, 0xD00A1248, 0xDB0FEAD3, 0x49F1C09B, - 0x075372C9, 0x80991B7B, 0x25D479D8, 0xF6E8DEF7, - 0xE3FE501A, 0xB6794C3B, 0x976CE0BD, 0x04C006BA, - 0xC1A94FB6, 0x409F60C4, 0x5E5C9EC2, 0x196A2463, - 0x68FB6FAF, 0x3E6C53B5, 0x1339B2EB, 0x3B52EC6F, - 0x6DFC511F, 0x9B30952C, 0xCC814544, 0xAF5EBD09, - 0xBEE3D004, 0xDE334AFD, 0x660F2807, 0x192E4BB3, - 0xC0CBA857, 0x45C8740F, 0xD20B5F39, 0xB9D3FBDB, - 0x5579C0BD, 0x1A60320A, 0xD6A100C6, 0x402C7279, - 0x679F25FE, 0xFB1FA3CC, 0x8EA5E9F8, 0xDB3222F8, - 0x3C7516DF, 0xFD616B15, 0x2F501EC8, 0xAD0552AB, - 0x323DB5FA, 0xFD238760, 0x53317B48, 0x3E00DF82, - 0x9E5C57BB, 0xCA6F8CA0, 0x1A87562E, 0xDF1769DB, - 0xD542A8F6, 0x287EFFC3, 0xAC6732C6, 0x8C4F5573, - 0x695B27B0, 0xBBCA58C8, 0xE1FFA35D, 0xB8F011A0, - 0x10FA3D98, 0xFD2183B8, 0x4AFCB56C, 0x2DD1D35B, - 0x9A53E479, 0xB6F84565, 0xD28E49BC, 0x4BFB9790, - 0xE1DDF2DA, 0xA4CB7E33, 0x62FB1341, 0xCEE4C6E8, - 0xEF20CADA, 0x36774C01, 0xD07E9EFE, 0x2BF11FB4, - 0x95DBDA4D, 0xAE909198, 0xEAAD8E71, 0x6B93D5A0, - 0xD08ED1D0, 0xAFC725E0, 0x8E3C5B2F, 0x8E7594B7, - 0x8FF6E2FB, 0xF2122B64, 0x8888B812, 0x900DF01C, - 0x4FAD5EA0, 0x688FC31C, 0xD1CFF191, 0xB3A8C1AD, - 0x2F2F2218, 0xBE0E1777, 0xEA752DFE, 0x8B021FA1, - 0xE5A0CC0F, 0xB56F74E8, 0x18ACF3D6, 0xCE89E299, - 0xB4A84FE0, 0xFD13E0B7, 0x7CC43B81, 0xD2ADA8D9, - 0x165FA266, 0x80957705, 0x93CC7314, 0x211A1477, - 0xE6AD2065, 0x77B5FA86, 0xC75442F5, 0xFB9D35CF, - 0xEBCDAF0C, 0x7B3E89A0, 0xD6411BD3, 0xAE1E7E49, - 0x00250E2D, 0x2071B35E, 0x226800BB, 0x57B8E0AF, - 0x2464369B, 0xF009B91E, 0x5563911D, 0x59DFA6AA, - 0x78C14389, 0xD95A537F, 0x207D5BA2, 0x02E5B9C5, - 0x83260376, 0x6295CFA9, 0x11C81968, 0x4E734A41, - 0xB3472DCA, 0x7B14A94A, 0x1B510052, 0x9A532915, - 0xD60F573F, 0xBC9BC6E4, 0x2B60A476, 0x81E67400, - 0x08BA6FB5, 0x571BE91F, 0xF296EC6B, 0x2A0DD915, - 0xB6636521, 0xE7B9F9B6, 0xFF34052E, 0xC5855664, - 0x53B02D5D, 0xA99F8FA1, 0x08BA4799, 0x6E85076A); - /** S Boxes */ - var $s2 = array( - 0x4B7A70E9, 0xB5B32944, 0xDB75092E, 0xC4192623, - 0xAD6EA6B0, 0x49A7DF7D, 0x9CEE60B8, 0x8FEDB266, - 0xECAA8C71, 0x699A17FF, 0x5664526C, 0xC2B19EE1, - 0x193602A5, 0x75094C29, 0xA0591340, 0xE4183A3E, - 0x3F54989A, 0x5B429D65, 0x6B8FE4D6, 0x99F73FD6, - 0xA1D29C07, 0xEFE830F5, 0x4D2D38E6, 0xF0255DC1, - 0x4CDD2086, 0x8470EB26, 0x6382E9C6, 0x021ECC5E, - 0x09686B3F, 0x3EBAEFC9, 0x3C971814, 0x6B6A70A1, - 0x687F3584, 0x52A0E286, 0xB79C5305, 0xAA500737, - 0x3E07841C, 0x7FDEAE5C, 0x8E7D44EC, 0x5716F2B8, - 0xB03ADA37, 0xF0500C0D, 0xF01C1F04, 0x0200B3FF, - 0xAE0CF51A, 0x3CB574B2, 0x25837A58, 0xDC0921BD, - 0xD19113F9, 0x7CA92FF6, 0x94324773, 0x22F54701, - 0x3AE5E581, 0x37C2DADC, 0xC8B57634, 0x9AF3DDA7, - 0xA9446146, 0x0FD0030E, 0xECC8C73E, 0xA4751E41, - 0xE238CD99, 0x3BEA0E2F, 0x3280BBA1, 0x183EB331, - 0x4E548B38, 0x4F6DB908, 0x6F420D03, 0xF60A04BF, - 0x2CB81290, 0x24977C79, 0x5679B072, 0xBCAF89AF, - 0xDE9A771F, 0xD9930810, 0xB38BAE12, 0xDCCF3F2E, - 0x5512721F, 0x2E6B7124, 0x501ADDE6, 0x9F84CD87, - 0x7A584718, 0x7408DA17, 0xBC9F9ABC, 0xE94B7D8C, - 0xEC7AEC3A, 0xDB851DFA, 0x63094366, 0xC464C3D2, - 0xEF1C1847, 0x3215D908, 0xDD433B37, 0x24C2BA16, - 0x12A14D43, 0x2A65C451, 0x50940002, 0x133AE4DD, - 0x71DFF89E, 0x10314E55, 0x81AC77D6, 0x5F11199B, - 0x043556F1, 0xD7A3C76B, 0x3C11183B, 0x5924A509, - 0xF28FE6ED, 0x97F1FBFA, 0x9EBABF2C, 0x1E153C6E, - 0x86E34570, 0xEAE96FB1, 0x860E5E0A, 0x5A3E2AB3, - 0x771FE71C, 0x4E3D06FA, 0x2965DCB9, 0x99E71D0F, - 0x803E89D6, 0x5266C825, 0x2E4CC978, 0x9C10B36A, - 0xC6150EBA, 0x94E2EA78, 0xA5FC3C53, 0x1E0A2DF4, - 0xF2F74EA7, 0x361D2B3D, 0x1939260F, 0x19C27960, - 0x5223A708, 0xF71312B6, 0xEBADFE6E, 0xEAC31F66, - 0xE3BC4595, 0xA67BC883, 0xB17F37D1, 0x018CFF28, - 0xC332DDEF, 0xBE6C5AA5, 0x65582185, 0x68AB9802, - 0xEECEA50F, 0xDB2F953B, 0x2AEF7DAD, 0x5B6E2F84, - 0x1521B628, 0x29076170, 0xECDD4775, 0x619F1510, - 0x13CCA830, 0xEB61BD96, 0x0334FE1E, 0xAA0363CF, - 0xB5735C90, 0x4C70A239, 0xD59E9E0B, 0xCBAADE14, - 0xEECC86BC, 0x60622CA7, 0x9CAB5CAB, 0xB2F3846E, - 0x648B1EAF, 0x19BDF0CA, 0xA02369B9, 0x655ABB50, - 0x40685A32, 0x3C2AB4B3, 0x319EE9D5, 0xC021B8F7, - 0x9B540B19, 0x875FA099, 0x95F7997E, 0x623D7DA8, - 0xF837889A, 0x97E32D77, 0x11ED935F, 0x16681281, - 0x0E358829, 0xC7E61FD6, 0x96DEDFA1, 0x7858BA99, - 0x57F584A5, 0x1B227263, 0x9B83C3FF, 0x1AC24696, - 0xCDB30AEB, 0x532E3054, 0x8FD948E4, 0x6DBC3128, - 0x58EBF2EF, 0x34C6FFEA, 0xFE28ED61, 0xEE7C3C73, - 0x5D4A14D9, 0xE864B7E3, 0x42105D14, 0x203E13E0, - 0x45EEE2B6, 0xA3AAABEA, 0xDB6C4F15, 0xFACB4FD0, - 0xC742F442, 0xEF6ABBB5, 0x654F3B1D, 0x41CD2105, - 0xD81E799E, 0x86854DC7, 0xE44B476A, 0x3D816250, - 0xCF62A1F2, 0x5B8D2646, 0xFC8883A0, 0xC1C7B6A3, - 0x7F1524C3, 0x69CB7492, 0x47848A0B, 0x5692B285, - 0x095BBF00, 0xAD19489D, 0x1462B174, 0x23820E00, - 0x58428D2A, 0x0C55F5EA, 0x1DADF43E, 0x233F7061, - 0x3372F092, 0x8D937E41, 0xD65FECF1, 0x6C223BDB, - 0x7CDE3759, 0xCBEE7460, 0x4085F2A7, 0xCE77326E, - 0xA6078084, 0x19F8509E, 0xE8EFD855, 0x61D99735, - 0xA969A7AA, 0xC50C06C2, 0x5A04ABFC, 0x800BCADC, - 0x9E447A2E, 0xC3453484, 0xFDD56705, 0x0E1E9EC9, - 0xDB73DBD3, 0x105588CD, 0x675FDA79, 0xE3674340, - 0xC5C43465, 0x713E38D8, 0x3D28F89E, 0xF16DFF20, - 0x153E21E7, 0x8FB03D4A, 0xE6E39F2B, 0xDB83ADF7); - /** S Boxes */ - var $s3 = array( - 0xE93D5A68, 0x948140F7, 0xF64C261C, 0x94692934, - 0x411520F7, 0x7602D4F7, 0xBCF46B2E, 0xD4A20068, - 0xD4082471, 0x3320F46A, 0x43B7D4B7, 0x500061AF, - 0x1E39F62E, 0x97244546, 0x14214F74, 0xBF8B8840, - 0x4D95FC1D, 0x96B591AF, 0x70F4DDD3, 0x66A02F45, - 0xBFBC09EC, 0x03BD9785, 0x7FAC6DD0, 0x31CB8504, - 0x96EB27B3, 0x55FD3941, 0xDA2547E6, 0xABCA0A9A, - 0x28507825, 0x530429F4, 0x0A2C86DA, 0xE9B66DFB, - 0x68DC1462, 0xD7486900, 0x680EC0A4, 0x27A18DEE, - 0x4F3FFEA2, 0xE887AD8C, 0xB58CE006, 0x7AF4D6B6, - 0xAACE1E7C, 0xD3375FEC, 0xCE78A399, 0x406B2A42, - 0x20FE9E35, 0xD9F385B9, 0xEE39D7AB, 0x3B124E8B, - 0x1DC9FAF7, 0x4B6D1856, 0x26A36631, 0xEAE397B2, - 0x3A6EFA74, 0xDD5B4332, 0x6841E7F7, 0xCA7820FB, - 0xFB0AF54E, 0xD8FEB397, 0x454056AC, 0xBA489527, - 0x55533A3A, 0x20838D87, 0xFE6BA9B7, 0xD096954B, - 0x55A867BC, 0xA1159A58, 0xCCA92963, 0x99E1DB33, - 0xA62A4A56, 0x3F3125F9, 0x5EF47E1C, 0x9029317C, - 0xFDF8E802, 0x04272F70, 0x80BB155C, 0x05282CE3, - 0x95C11548, 0xE4C66D22, 0x48C1133F, 0xC70F86DC, - 0x07F9C9EE, 0x41041F0F, 0x404779A4, 0x5D886E17, - 0x325F51EB, 0xD59BC0D1, 0xF2BCC18F, 0x41113564, - 0x257B7834, 0x602A9C60, 0xDFF8E8A3, 0x1F636C1B, - 0x0E12B4C2, 0x02E1329E, 0xAF664FD1, 0xCAD18115, - 0x6B2395E0, 0x333E92E1, 0x3B240B62, 0xEEBEB922, - 0x85B2A20E, 0xE6BA0D99, 0xDE720C8C, 0x2DA2F728, - 0xD0127845, 0x95B794FD, 0x647D0862, 0xE7CCF5F0, - 0x5449A36F, 0x877D48FA, 0xC39DFD27, 0xF33E8D1E, - 0x0A476341, 0x992EFF74, 0x3A6F6EAB, 0xF4F8FD37, - 0xA812DC60, 0xA1EBDDF8, 0x991BE14C, 0xDB6E6B0D, - 0xC67B5510, 0x6D672C37, 0x2765D43B, 0xDCD0E804, - 0xF1290DC7, 0xCC00FFA3, 0xB5390F92, 0x690FED0B, - 0x667B9FFB, 0xCEDB7D9C, 0xA091CF0B, 0xD9155EA3, - 0xBB132F88, 0x515BAD24, 0x7B9479BF, 0x763BD6EB, - 0x37392EB3, 0xCC115979, 0x8026E297, 0xF42E312D, - 0x6842ADA7, 0xC66A2B3B, 0x12754CCC, 0x782EF11C, - 0x6A124237, 0xB79251E7, 0x06A1BBE6, 0x4BFB6350, - 0x1A6B1018, 0x11CAEDFA, 0x3D25BDD8, 0xE2E1C3C9, - 0x44421659, 0x0A121386, 0xD90CEC6E, 0xD5ABEA2A, - 0x64AF674E, 0xDA86A85F, 0xBEBFE988, 0x64E4C3FE, - 0x9DBC8057, 0xF0F7C086, 0x60787BF8, 0x6003604D, - 0xD1FD8346, 0xF6381FB0, 0x7745AE04, 0xD736FCCC, - 0x83426B33, 0xF01EAB71, 0xB0804187, 0x3C005E5F, - 0x77A057BE, 0xBDE8AE24, 0x55464299, 0xBF582E61, - 0x4E58F48F, 0xF2DDFDA2, 0xF474EF38, 0x8789BDC2, - 0x5366F9C3, 0xC8B38E74, 0xB475F255, 0x46FCD9B9, - 0x7AEB2661, 0x8B1DDF84, 0x846A0E79, 0x915F95E2, - 0x466E598E, 0x20B45770, 0x8CD55591, 0xC902DE4C, - 0xB90BACE1, 0xBB8205D0, 0x11A86248, 0x7574A99E, - 0xB77F19B6, 0xE0A9DC09, 0x662D09A1, 0xC4324633, - 0xE85A1F02, 0x09F0BE8C, 0x4A99A025, 0x1D6EFE10, - 0x1AB93D1D, 0x0BA5A4DF, 0xA186F20F, 0x2868F169, - 0xDCB7DA83, 0x573906FE, 0xA1E2CE9B, 0x4FCD7F52, - 0x50115E01, 0xA70683FA, 0xA002B5C4, 0x0DE6D027, - 0x9AF88C27, 0x773F8641, 0xC3604C06, 0x61A806B5, - 0xF0177A28, 0xC0F586E0, 0x006058AA, 0x30DC7D62, - 0x11E69ED7, 0x2338EA63, 0x53C2DD94, 0xC2C21634, - 0xBBCBEE56, 0x90BCB6DE, 0xEBFC7DA1, 0xCE591D76, - 0x6F05E409, 0x4B7C0188, 0x39720A3D, 0x7C927C24, - 0x86E3725F, 0x724D9DB9, 0x1AC15BB4, 0xD39EB8FC, - 0xED545578, 0x08FCA5B5, 0xD83D7CD3, 0x4DAD0FC4, - 0x1E50EF5E, 0xB161E6F8, 0xA28514D9, 0x6C51133C, - 0x6FD5C7E7, 0x56E14EC4, 0x362ABFCE, 0xDDC6C837, - 0xD79A3234, 0x92638212, 0x670EFA8E, 0x406000E0); - /** S Boxes */ - var $s4 = array( - 0x3A39CE37, 0xD3FAF5CF, 0xABC27737, 0x5AC52D1B, - 0x5CB0679E, 0x4FA33742, 0xD3822740, 0x99BC9BBE, - 0xD5118E9D, 0xBF0F7315, 0xD62D1C7E, 0xC700C47B, - 0xB78C1B6B, 0x21A19045, 0xB26EB1BE, 0x6A366EB4, - 0x5748AB2F, 0xBC946E79, 0xC6A376D2, 0x6549C2C8, - 0x530FF8EE, 0x468DDE7D, 0xD5730A1D, 0x4CD04DC6, - 0x2939BBDB, 0xA9BA4650, 0xAC9526E8, 0xBE5EE304, - 0xA1FAD5F0, 0x6A2D519A, 0x63EF8CE2, 0x9A86EE22, - 0xC089C2B8, 0x43242EF6, 0xA51E03AA, 0x9CF2D0A4, - 0x83C061BA, 0x9BE96A4D, 0x8FE51550, 0xBA645BD6, - 0x2826A2F9, 0xA73A3AE1, 0x4BA99586, 0xEF5562E9, - 0xC72FEFD3, 0xF752F7DA, 0x3F046F69, 0x77FA0A59, - 0x80E4A915, 0x87B08601, 0x9B09E6AD, 0x3B3EE593, - 0xE990FD5A, 0x9E34D797, 0x2CF0B7D9, 0x022B8B51, - 0x96D5AC3A, 0x017DA67D, 0xD1CF3ED6, 0x7C7D2D28, - 0x1F9F25CF, 0xADF2B89B, 0x5AD6B472, 0x5A88F54C, - 0xE029AC71, 0xE019A5E6, 0x47B0ACFD, 0xED93FA9B, - 0xE8D3C48D, 0x283B57CC, 0xF8D56629, 0x79132E28, - 0x785F0191, 0xED756055, 0xF7960E44, 0xE3D35E8C, - 0x15056DD4, 0x88F46DBA, 0x03A16125, 0x0564F0BD, - 0xC3EB9E15, 0x3C9057A2, 0x97271AEC, 0xA93A072A, - 0x1B3F6D9B, 0x1E6321F5, 0xF59C66FB, 0x26DCF319, - 0x7533D928, 0xB155FDF5, 0x03563482, 0x8ABA3CBB, - 0x28517711, 0xC20AD9F8, 0xABCC5167, 0xCCAD925F, - 0x4DE81751, 0x3830DC8E, 0x379D5862, 0x9320F991, - 0xEA7A90C2, 0xFB3E7BCE, 0x5121CE64, 0x774FBE32, - 0xA8B6E37E, 0xC3293D46, 0x48DE5369, 0x6413E680, - 0xA2AE0810, 0xDD6DB224, 0x69852DFD, 0x09072166, - 0xB39A460A, 0x6445C0DD, 0x586CDECF, 0x1C20C8AE, - 0x5BBEF7DD, 0x1B588D40, 0xCCD2017F, 0x6BB4E3BB, - 0xDDA26A7E, 0x3A59FF45, 0x3E350A44, 0xBCB4CDD5, - 0x72EACEA8, 0xFA6484BB, 0x8D6612AE, 0xBF3C6F47, - 0xD29BE463, 0x542F5D9E, 0xAEC2771B, 0xF64E6370, - 0x740E0D8D, 0xE75B1357, 0xF8721671, 0xAF537D5D, - 0x4040CB08, 0x4EB4E2CC, 0x34D2466A, 0x0115AF84, - 0xE1B00428, 0x95983A1D, 0x06B89FB4, 0xCE6EA048, - 0x6F3F3B82, 0x3520AB82, 0x011A1D4B, 0x277227F8, - 0x611560B1, 0xE7933FDC, 0xBB3A792B, 0x344525BD, - 0xA08839E1, 0x51CE794B, 0x2F32C9B7, 0xA01FBAC9, - 0xE01CC87E, 0xBCC7D1F6, 0xCF0111C3, 0xA1E8AAC7, - 0x1A908749, 0xD44FBD9A, 0xD0DADECB, 0xD50ADA38, - 0x0339C32A, 0xC6913667, 0x8DF9317C, 0xE0B12B4F, - 0xF79E59B7, 0x43F5BB3A, 0xF2D519FF, 0x27D9459C, - 0xBF97222C, 0x15E6FC2A, 0x0F91FC71, 0x9B941525, - 0xFAE59361, 0xCEB69CEB, 0xC2A86459, 0x12BAA8D1, - 0xB6C1075E, 0xE3056A0C, 0x10D25065, 0xCB03A442, - 0xE0EC6E0E, 0x1698DB3B, 0x4C98A0BE, 0x3278E964, - 0x9F1F9532, 0xE0D392DF, 0xD3A0342B, 0x8971F21E, - 0x1B0A7441, 0x4BA3348C, 0xC5BE7120, 0xC37632D8, - 0xDF359F8D, 0x9B992F2E, 0xE60B6F47, 0x0FE3F11D, - 0xE54CDA54, 0x1EDAD891, 0xCE6279CF, 0xCD3E7E6F, - 0x1618B166, 0xFD2C1D05, 0x848FD2C5, 0xF6FB2299, - 0xF523F357, 0xA6327623, 0x93A83531, 0x56CCCD02, - 0xACF08162, 0x5A75EBB5, 0x6E163697, 0x88D273CC, - 0xDE966292, 0x81B949D0, 0x4C50901B, 0x71C65614, - 0xE6C6C7BD, 0x327A140A, 0x45E1D006, 0xC3F27B9A, - 0xC9AA53FD, 0x62A80F00, 0xBB25BFE2, 0x35BDD2F6, - 0x71126905, 0xB2040222, 0xB6CBCF7C, 0xCD769C2B, - 0x53113EC0, 0x1640E3D3, 0x38ABBD60, 0x2547ADF0, - 0xBA38209C, 0xF746CE76, 0x77AFA1C5, 0x20756060, - 0x85CBFE4E, 0x8AE88DD8, 0x7AAAF9B0, 0x4CF9AA7E, - 0x1948C25C, 0x02FB8A8C, 0x01C36AE4, 0xD6EBE1F9, - 0x90D4F869, 0xA65CDEA0, 0x3F09252D, 0xC208E69F, - 0xB74E6132, 0xCE77E25B, 0x578FDFE3, 0x3AC372E6); - - /** The number of rounds to do */ - var $_rounds = 16; - - /** Constructor */ - function Cipher_blowfish() - { - } - - /** - * Set the key to be used for en/decryption - * - * @param String $key The key to use - */ - function setKey($key) - { - $key = $this->_formatKey($key); - $keyPos = $keyXor = 0; - - $iMax = count($this->p); - $keyLen = count($key); - for ($i = 0; $i < $iMax; $i++) { - for ($t = 0; $t < 4; $t++) { - $keyXor = ($keyXor << 8) | (($key[$keyPos]) & 0x0ff); - if (++$keyPos == $keyLen) { - $keyPos = 0; - } - } - $this->p[$i] = $this->p[$i] ^ $keyXor; - } - - $encZero = array('L' => 0, 'R' => 0); - for ($i = 0; $i + 1 < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->p[$i] = $encZero['L']; - $this->p[$i + 1] = $encZero['R']; - } - - $iMax = count($this->s1); - for ($i = 0; $i < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->s1[$i] = $encZero['L']; - $this->s1[$i + 1] = $encZero['R']; - } - - $iMax = count($this->s2); - for ($i = 0; $i < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->s2[$i] = $encZero['L']; - $this->s2[$i + 1] = $encZero['R']; - } - - $iMax = count($this->s3); - for ($i = 0; $i < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->s3[$i] = $encZero['L']; - $this->s3[$i + 1] = $encZero['R']; - } - - $iMax = count($this->s4); - for ($i = 0; $i < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->s4[$i] = $encZero['L']; - $this->s4[$i + 1] = $encZero['R']; - } - - } - - /** - * Return the size of the blocks that this cipher needs - * - * @return Integer The number of characters per block - */ - function getBlockSize() - { - return 8; - } - - /** - * Encrypt a block on data. - * - * @param String $block The data to encrypt - * @param optional String $key The key to use - * - * @return String the encrypted output - */ - function encryptBlock($block, $key = null) - { - if (!is_null($key)) { - $this->setKey($key); - } - - list($L, $R) = array_values(unpack('N*', $block)); - $parts = $this->_encryptBlock($L, $R); - return pack("NN", $parts['L'], $parts['R']); - } - - /** - * Encrypt a string of data. - * - * @param String $data The string to encrypt - * @param optional String $key The key to use - * - * @return String the encrypted output - */ - function encrypt($data, $key = null) { - // add end marker - $data .= 'x'; - // split data to array of encryptable blocks - $data_blocks = array(); - for ($j = 0; $j < strlen($data); $j = $j + 8) { - $data_blocks[] = substr($data, $j, 8); - } - // add spaces to last block if needed - $data_blocks[sizeof($data_blocks) - 1] = str_pad($data_blocks[sizeof($data_blocks) - 1], 8); - // encrypt blocks - $crypt_blocks = array(); - for ($i = 0; $i < sizeof($data_blocks); $i++) { - $crypt_blocks[] = $this->encryptBlock($data_blocks[$i], $key); - } - return implode("", $crypt_blocks); - } - - /** - * Encrypt a block on data. - * - * @param String $L The data to encrypt. - * @param String $R The data to encrypt. - * - * @return String The encrypted output. - */ - function _encryptBlock($L, $R) - { - $L ^= $this->p[0]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[1]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[2]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[3]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[4]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[5]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[6]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[7]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[8]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[9]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[10]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[11]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[12]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[13]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[14]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[15]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[16]; - $R ^= $this->p[17]; - - return array('L' => $R, 'R' => $L); - } - - /** - * Decrypt a string of data. - * - * @param String $data The data to decrypt - * @param optional String $key The key to use - * - * @return String the decrypted output - */ - function decrypt($data, $key = null){ - // decrypt string parts - $decr_blocks = array(); - for ($i = 0; $i < (strlen($data) / 8); $i++) { - $decr_blocks[] = $this->decryptBlock(substr($data, $i * 8, 8), $key); - } - $decr_text = ""; - $decr_text = implode("", $decr_blocks); - // removed whitespaces and end marker - $decr_text = chop($decr_text); - $decr_text = substr($decr_text, 0, (strlen($decr_text) - 1)); - return $decr_text; - } - - /** - * Decrypt a block on data. - * - * @param String $block The data to decrypt - * @param optional String $key The key to use - * - * @return String the decrypted output - */ - function decryptBlock($block, $key = null) - { - if (!is_null($key)) { - $this->setKey($key); - } - - list($L, $R) = array_values(unpack('N*', $block)); - - $L ^= $this->p[17]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[16]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[15]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[14]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[13]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[12]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[11]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[10]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[9]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[8]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[7]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[6]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[5]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[4]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[3]; - $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[2]; - $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[1]; - - $decrypted = pack("NN", $R ^ $this->p[0], $L); - return $decrypted; - } - - /** - * Converts a text key into an array. - * - * @param String $key key string - * @return array The key. - */ - function _formatKey($key) - { - return array_values(unpack('C*', $key)); - } - -} - -?> diff --git a/lam/lib/cache.inc b/lam/lib/cache.inc deleted file mode 100644 index 6eee7790..00000000 --- a/lam/lib/cache.inc +++ /dev/null @@ -1,337 +0,0 @@ -time = 0; - $this->attributes = array(); - } - - var $ldapcache; // This variable contains the cache - var $attributes; // This variable contains a list and their scope of attributes which should be cached - var $time; // This is the laste timestamp ldap cache has been refreshed - - /* This function adds attributes to cache - * syntax of $attributes is array( scope1 => array ( attributes ), scope2 => array ( attributes ), ...) - */ - function add_cache($attributes) { - // Check input variable - $allowed_types = array ( 'user', 'group', 'host', 'domain', '*' ); - if (!is_array($attributes)) trigger_error('Argument of add_cache must be : array ( scope => array(attribute1(string), attribute2(string), ..), scope => ... ).', E_USER_ERROR); - foreach ($attributes as $attribute) { - if (!is_array($attribute)) trigger_error('Argument of add_cache must be : array ( scope => array(attribute1(string), attribute2(string), ..), scope => ... ).', E_USER_ERROR); - foreach ($attribute as $singleattribute) { - if (!is_string($singleattribute)) trigger_error('Argument of add_cache must be : array ( scope => array(attribute1(string), attribute2(string), ..), scope => ... ).', E_USER_ERROR); - } - } - $scopes = array_keys($attributes); - foreach ($scopes as $scope) { - if (!@in_array($scope, $allowed_types)) trigger_error(sprintf('Invalid scope. Valid scopes are %s.', implode(" ", $allowed_types)), E_USER_ERROR); - } - // Everything seems to be OK, start processing data - foreach ($scopes as $scope) { - for ($i=0; $iattributes[$scope])) $this->attributes[$scope][] = $attributes[$scope][$i]; - } - } - // Rebuild cache - $this->refresh_cache(true); - } - - /* This function returns an array ( dn1 => array(uidnumber1), dn2 => array(uidnumber2), ... ) - * - */ - function get_cache($attribute, $objectClass, $singlescope) { - $this->refresh_cache(); - // Check input variables - $allowed_types = array ( 'user', 'group', 'host', 'domain', '*' ); - if (!in_array($singlescope, $allowed_types)) trigger_error(sprintf('Invalid scope. Valid scopes are %s.', implode(" ", $allowed_types)), E_USER_ERROR); - $line=-1; - for ($i=0; $iobjectClasses) || $i==-1; $i++) { - if (strpos($_SESSION['ldap']->objectClasses[$i], "NAME '$objectClass'")) $line = $i; - } - // Return error if objectClass isn't found - if ($line==-1) trigger_error (sprintf(_("ObjectClass %s required but not defined in LDAP."), $objectClass), E_USER_WARNING); - - // Create list of all allowed attributes - for ($i=0; $iobjectClasses); $i++ ) { - if (strpos($_SESSION['ldap']->objectClasses[$i], 'MUST (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$i], strpos($_SESSION['ldap']->objectClasses[$i], 'MUST (')+6); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - $allowed_attributes = array_merge($allowed_attributes, explode(" $ ", $string)); - } - // create array with may-attributes - // Get startposition in string - if (strpos($_SESSION['ldap']->objectClasses[$i], 'MAY (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$i], strpos($_SESSION['ldap']->objectClasses[$i], 'MAY (')+5); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - $allowed_attributes = array_merge($allowed_attributes, explode(" $ ", $string)); - } - } - $allowed_attributes = array_unique($allowed_attributes); - if (!in_array($attribute, $allowed_attributes)) trigger_error(_('Attribute not defined in LDAP.'), E_USER_WARNING); - - // Everything seems to be OK, start processing data - $this->refresh_cache(); - if ($singlescope == '*') $scopes = $allowed_types; - else $scopes = array ( $singlescope ); - // Add cache entry dynamic - foreach ($scopes as $scope) { - if (!@in_array($attribute ,$this->attributes[$scope])) $add[$scope][] = $attribute; - } - if (count($add)!=0) $this->add_cache($add); - - foreach ($scopes as $scope) { - if (isset($this->ldapcache[$scope])) { - $DNs = array_keys($this->ldapcache[$scope]); - foreach ($DNs as $dn) { - if (isset($this->ldapcache[$scope][$dn][$attribute]) && in_array($objectClass, $this->ldapcache[$scope][$dn]['objectClass'])) { - // return string if only attribute exists only once - if (count($this->ldapcache[$scope][$dn][$attribute])==1) $return[$dn] = array($this->ldapcache[$scope][$dn][$attribute][0]); - else { - // else return array with all attributes - $return[$dn] = $this->ldapcache[$scope][$dn][$attribute]; - } - } - } - } - } - return $return; - } - - /* This functions returns the dn if a dn with $attribute=$value is found - * $values is the value $attribute is set to - * $scope is the scope where to search - */ - function in_cache($value, $attribute, $singlescope) { - $this->refresh_cache(); - // Check input variables - $allowed_types = array ( 'user', 'group', 'host', 'domain', '*' ); - if (!in_array($singlescope, $allowed_types)) trigger_error(sprintf('Invalid scope. Valid scopes are %s.', implode(" ", $allowed_types)), E_USER_ERROR); - // Create list of all allowed attributes - for ($i=0; $iobjectClasses); $i++ ) { - if (strpos($_SESSION['ldap']->objectClasses[$i], 'MUST (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$i], strpos($_SESSION['ldap']->objectClasses[$i], 'MUST (')+6); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - $allowed_attributes = array_merge($allowed_attributes, explode(" $ ", $string)); - } - // create array with may-attributes - // Get startposition in string - if (strpos($_SESSION['ldap']->objectClasses[$i], 'MAY (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$i], strpos($_SESSION['ldap']->objectClasses[$i], 'MAY (')+5); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - $allowed_attributes = array_merge($allowed_attributes, explode(" $ ", $string)); - } - } - $allowed_attributes = array_unique($allowed_attributes); - if (!in_array($attribute, $allowed_attributes)) trigger_error(_('Attribute not defined in LDAP.'), E_USER_WARNING); - - // Everything seems to be OK, start processing data - $this->refresh_cache(); - if ($singlescope == '*') $scopes = $allowed_types; - else $scopes = array ( $singlescope ); - // Add cache entry dynamic - foreach ($scopes as $scope) { - if (!@in_array($attribute ,$this->attributes[$scope])) $add[$scope][] = $attribute; - } - if (count($add)!=0) $this->add_cache($add); - - foreach ($scopes as $scope) { - if (isset($this->ldapcache[$scope])) { - $DNs = array_keys($this->ldapcache[$scope]); - foreach ($DNs as $dn) { - if (is_array($this->ldapcache[$scope][$dn][$attribute])) { - if (in_array($value, $this->ldapcache[$scope][$dn][$attribute])) { - // Return value if value was found - return $dn; - } - } - } - } - } - // Return false if value wasn't found - return false; - } - - - /* This functions refreshs the cache - */ - function refresh_cache($rebuild=false) { - if ($this->time + $_SESSION['config']->get_cacheTimeoutSec() < time() || $rebuild) { - // unset old cache - unset ($this->ldapcache); - $scopes = array_keys($this->attributes); - foreach ($scopes as $scope) { - // Get Scope - If ($scope != '*') - $suffix = call_user_func(array(&$_SESSION['config'], 'get_'.ucfirst($scope).'Suffix')); - else $suffix = ''; - // Get Data from ldap - $search = $this->attributes[$scope]; - $search[] = 'objectClass'; - $result = @ldap_search($_SESSION['ldap']->server(), $suffix, 'objectClass=*', $search, 0); - // Write search result in array - $entry = @ldap_first_entry($_SESSION['ldap']->server(), $result); - while ($entry) { - $dn = (ldap_get_dn($_SESSION['ldap']->server(), $entry)); - $attr = ldap_get_attributes($_SESSION['ldap']->server(), $entry); - // unset every count entry - unset ($attr['count']); - $attributes = array_keys($attr); - foreach ($attributes as $attribute) { - unset ($attr[$attribute]['count']); - } - // unset double entries - for ($i=0; $ildapcache[$scope][$dn] = $attr; - $entry = ldap_next_entry($_SESSION['ldap']->server(), $entry); - } - } - $this->time = time(); - } - } - - /* This function update the cache when changes were - * made without refrehing the complete cache - */ - function update_cache($dn, $mode, $attributes=false) { - $allowed_modes = array ( 'add', 'remove', 'modify', 'delete_dn' ); - $allowed_types = array ( 'user', 'group', 'host', '*' ); - for ($i=0; $irefresh_cache(); - if (is_array($attributes)) - switch ($mode) { - case 'add': - $list = array_keys($attributes); - for ($i=0; $ildapcache[$singlescope][$dn][$list[$i]][] = $attributes[$list[$i]]; - break; - case 'remove': - $list = array_keys($attributes); - for ($i=0; $ildapcache[$singlescope][$dn][$list[$i]][$attributes[$list[$i]]])) - unset($this->ldapcache[$singlescope][$dn][$list[$i]][$attributes[$list[$i]]]); - break; - case 'modify': - $list = array_keys($attributes); - for ($i=0; $ildapcache[$singlescope][$dn][$list[$i]])) unset($this->ldapcache[$singlescope][$dn][$list[$i]]); - foreach ($attributes[$list[$i]] as $attribute) - $this->ldapcache[$singlescope][$dn][$list[$i]][] = $attributes[$list[$i]]; - } - } - else { - if ($mode=='delete_dn') - if (isset($this->ldapcache[$singlescope][$dn])) unset($this->ldapcache[$singlescope][$dn]); - } - } - - - /* This function will return the gidNumber to an existing groupname - * gidNumbers are taken from cache-array - */ - function getgid($groupname) { - $dn_groups = $_SESSION['cache']->get_cache('gidNumber', 'posixGroup', 'group'); - $DNs = array_keys($dn_groups); - foreach ($DNs as $DN) { - // TODO doesn't work when groupname is part of DN - if (strpos($DN, $groupname)) - return $dn_groups[$DN][0]; - } - } - - - /* This function will return an array with all groupnames - * found in ldap. Groupnames are taken from cache-array. - */ - function findgroups() { - $dn_groups = $_SESSION['cache']->get_cache('cn', 'posixGroup', 'group'); - if (is_array($dn_groups)) { - $DNs = array_keys($dn_groups); - foreach ($DNs as $DN) - $return[] = $dn_groups[$DN][0]; - return $return; - } - return array(); - } - - - /* This function will return the groupname to an existing gidNumber - * groupnames are taken from cache-array - */ - function getgrnam($gidNumber) { - $dn_groups = $_SESSION['cache']->get_cache('gidNumber', 'posixGroup', 'group'); - if (is_array($dn_groups)) { - $DNs = array_keys($dn_groups); - foreach ($DNs as $DN) { - if ($dn_groups[$DN][0]==$gidNumber) - $return = substr($DN, 3, strpos($DN, ',')-3); - } - return $return; - } - else return -1; - } - - } - -?> diff --git a/lam/lib/config.inc b/lam/lib/config.inc deleted file mode 100644 index 5232afaf..00000000 --- a/lam/lib/config.inc +++ /dev/null @@ -1,902 +0,0 @@ -read()){ - $ext = substr($entry, strlen($entry)-5, 5); - $name = substr($entry, 0, strlen($entry)-5); - // check if extension is right, add to profile list - if ($ext == ".conf") { - $ret[$pos] = $name; - $pos ++; - } - } - sort($ret); - return $ret; -} - -/** -* Prints a meta refresh page -* -* @param string $page the URL of the target page -*/ -function metaRefresh($page) { - echo $_SESSION['header']; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - // print link if refresh does not work - echo "

\n"; - echo "" . _("Click here if you are not directed to the next page.") . "\n"; - echo "

\n"; - echo "\n"; - echo "\n"; -} - - -/** -* This class manages .conf files. -* -* @package configuration -*/ -class Config { - - /** Server address (e.g. ldap://127.0.0.1:389) */ - var $ServerURL; - - /** Array of string: users with admin rights */ - var $Admins; - - /** Password to edit preferences */ - var $Passwd; - - /** LDAP suffix for users */ - var $usersuffix; - - /** LDAP suffix for groups */ - var $groupsuffix; - - /** LDAP suffix for Samba hosts */ - var $hostsuffix; - - /** LDAP suffix for Samba 3 domains */ - var $domainsuffix; - - /** Attributes that are shown in the user list */ - var $userlistAttributes; - /** Attributes that are shown in the group list */ - var $grouplistAttributes; - /** Attributes that are shown in the host list */ - var $hostlistAttributes; - - /** Maximum number of rows shown in user/group/host lists */ - var $maxlistentries; - - /** Default language */ - var $defaultLanguage; - - /** module settings */ - var $moduleSettings = array(); - - /** - * Path to external lamdaemon script on server where it is executed - * - * This is used for managing quota and home directories. - * optional setting, may not be defined - */ - var $scriptPath; - - /** - * Server where lamdaemon script is executed - * - * This is used for managing quota and home directories. - * optional setting, may not be defined - */ - var $scriptServer; - - /** LDAP cache timeout */ - var $cachetimeout; - - var $usermodules = "posixAccount,shadowAccount,quota"; - /** Account modules for groups */ - var $groupmodules = "posixGroup,quota"; - /** Account modules for hosts */ - var $hostmodules = "account,sambaSamAccount"; - - /** Name of configuration file */ - var $file; - - /** List of all settings in config file */ - var $settings = array("ServerURL", "Passwd", "Admins", "usersuffix", "groupsuffix", "hostsuffix", - "domainsuffix", "userlistAttributes", "grouplistAttributes", "hostlistAttributes", "maxlistentries", - "defaultLanguage", "scriptPath", "scriptServer", "cachetimeout", - "usermodules", "groupmodules", "hostmodules", "modules"); - - - /** - * Loads preferences from config file - * - * @param integer $file Index number in config file array - */ - function Config($file = 0) { - // load first profile if none is given - if (!is_string($file)) { - $profiles = getConfigProfiles(); - $file = $profiles[0]; - } - $this->file = $file; - $this->reload(); - } - - /** - * Reloads preferences from config file - * - * @return boolean true if file was readable - */ - function reload() { - $conffile = substr(__FILE__, 0, strlen(__FILE__) - 15) . "/config/" . $this->file . ".conf"; - if (is_file($conffile) == True) { - $file = @fopen($conffile, "r"); - if (!$file) return false; // abort if file is not readable - while (!feof($file)) { - $line = fgets($file, 1024); - $line = trim($line); // remove spaces at the beginning and end - if (($line == "")||($line[0] == "#")) continue; // ignore comments and empty lines - // search keywords - for ($i = 0; $i < sizeof($this->settings); $i++) { - $keyword = $this->settings[$i]; - $keylen = strlen($keyword); - if (strtolower(substr($line, 0, $keylen + 2)) == strtolower($keyword . ": ")) { - // module settings - if (strtolower(substr($line, 0, $keylen + 2)) == "modules: ") { - $option = substr($line, $keylen + 2, strlen($line) - $keylen - 2); - $pos = strpos($option, ":"); - $this->moduleSettings[substr($option, 0, $pos)] = explode("+::+", substr($option, $pos + 2, strlen($option) - $pos - 2)); - } - // general settings - else { - $this->$keyword = substr($line, $keylen + 2, strlen($line) - $keylen - 2); - } - break; - } - } - } - fclose($file); - } - // check modules - $scopes = array('user', 'group', 'host'); - for ($s = 0; $s < sizeof($scopes); $s++) { - $scope = $scopes[$s]; - $moduleVar = $scope . "modules"; - $modules = explode(",", $this->$moduleVar); - $available = getAvailableModules($scope); - // only return available modules - $ret = array(); - for ($i = 0; $i < sizeof($modules); $i++) { - if (in_array($modules[$i], $available)) $ret[] = $modules[$i]; - } - $this->$moduleVar = implode(",", $ret); - } - return true; - } - - /** Saves preferences to config file */ - function save() { - $conffile = substr(__FILE__, 0, strlen(__FILE__) - 15) . "/config/" . $this->file . ".conf"; - if (is_file($conffile) == True) { - $file = fopen($conffile, "r"); - $file_array = array(); - // read config file - while (!feof($file)) { - array_push($file_array, fgets($file, 1024)); - } - fclose($file); - // generate new configuration file - $saved = array(); // includes all settings which have been saved - $mod_saved = array(); // includes all module settings which have been saved - for ($i = 0; $i < sizeof($file_array); $i++) { - $line = trim($file_array[$i]); - if (($line == "")||($line[0] == "#")) continue; // ignore comments and empty lines - // search for keywords - for ($k = 0; $k < sizeof($this->settings); $k++) { - $keyword = $this->settings[$k]; - $keylen = strlen($keyword); - if (strtolower(substr($line, 0, $keylen + 1)) == strtolower($keyword . ":")) { - // module settings - if (strtolower(substr($line, 0, $keylen + 2)) == "modules: ") { - $option = substr($line, $keylen + 2, strlen($line) - $keylen - 2); - $pos = strpos($option, ":"); - $name = substr($option, 0, $pos); - if (!isset($this->moduleSettings[$name])) continue; - $file_array[$i] = "modules: " . $name . ": " . implode("+::+", $this->moduleSettings[$name]) . "\n"; - $mod_saved[] = $name; // mark keyword as saved - } - // general settings - else { - $file_array[$i] = $keyword . ": " . $this->$keyword . "\n"; - $saved[] = $keyword; // mark keyword as saved - } - break; - } - } - } - // check if we have to add new entries (e.g. if user upgraded LAM and has an old config file) - if (!in_array("ServerURL", $saved)) array_push($file_array, "\n\n# server address (e.g. ldap://localhost:389 or ldaps://localhost:636)\n" . "serverURL: " . $this->ServerURL . "\n"); - if (!in_array("Passwd", $saved)) array_push($file_array, "\n\n# password to change these preferences via webfrontend\n" . "passwd: " . $this->Passwd . "\n"); - if (!in_array("Admins", $saved)) array_push($file_array, "\n\n# list of users who are allowed to use LDAP Account Manager\n" . - "# names have to be seperated by semicolons\n" . - "# e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org\n" . "admins: " . $this->Admins . "\n"); - if (!in_array("usersuffix", $saved)) array_push($file_array, "\n\n# suffix of users\n" . - "# e.g. ou=People,dc=yourdomain,dc=org\n" . "usersuffix: " . $this->usersuffix . "\n"); - if (!in_array("groupsuffix", $saved)) array_push($file_array, "\n\n# suffix of groups\n" . - "# e.g. ou=Groups,dc=yourdomain,dc=org\n" . "groupsuffix: " . $this->groupsuffix . "\n"); - if (!in_array("hostsuffix", $saved)) array_push($file_array, "\n\n# suffix of Samba hosts\n" . - "# e.g. ou=machines,dc=yourdomain,dc=org\n" . "hostsuffix: " . $this->hostsuffix . "\n"); - if (!in_array("domainsuffix", $saved)) array_push($file_array, "\n\n# suffix of Samba 3 domains\n" . - "# e.g. ou=domains,dc=yourdomain,dc=org\n" . "domainsuffix: " . $this->domainsuffix . "\n"); - if (!in_array("userlistAttributes", $saved)) array_push($file_array, "\n\n# list of attributes to show in user list\n# entries can either be predefined values (e.g. '#cn' or '#uid')" . - "\n# or individual ones (e.g. 'uid:User ID' or 'host:Host Name')\n# values have to be seperated by semicolons\n" . "userlistAttributes: " . $this->userlistAttributes . "\n"); - if (!in_array("grouplistAttributes", $saved)) array_push($file_array, "\n\n# list of attributes to show in group list\n# entries can either be predefined values (e.g. '#cn' or '#gidNumber')" . - "\n# or individual ones (e.g. 'cn:Group Name')\n# values have to be seperated by semicolons\n" . "grouplistAttributes: " . $this->grouplistAttributes . "\n"); - if (!in_array("hostlistAttributes", $saved)) array_push($file_array, "\n\n# list of attributes to show in host list\n# entries can either be predefined values (e.g. '#cn' or '#uid')" . - "\n# or individual ones (e.g. 'cn:Host Name')\n# values have to be seperated by semicolons\n" . "hostlistAttributes: " . $this->hostlistAttributes . "\n"); - if (!in_array("maxlistentries", $saved)) array_push($file_array, "\n\n# maximum number of rows to show in user/group/host lists\n" . "maxlistentries: " . $this->maxlistentries . "\n"); - if (!in_array("defaultLanguage", $saved)) array_push($file_array, "\n\n# default language (a line from config/language)\n" . "defaultLanguage: " . $this->defaultLanguage . "\n"); - if (!in_array("scriptPath", $saved)) array_push($file_array, "\n\n# Path to external Script\n" . "scriptPath: " . $this->scriptPath . "\n"); - if (!in_array("scriptServer", $saved)) array_push($file_array, "\n\n# Server of external Script\n" . "scriptServer: " . $this->scriptServer . "\n"); - if (!in_array("cachetimeout", $saved)) array_push($file_array, "\n\n# Number of minutes LAM caches LDAP searches.\n" . "cacheTimeout: " . $this->cachetimeout . "\n"); - if (!in_array("usermodules", $saved)) array_push($file_array, "\n\n# List of used user modules\n" . "usermodules: " . $this->usermodules . "\n"); - if (!in_array("groupmodules", $saved)) array_push($file_array, "\n\n# List of used group modules\n" . "groupmodules: " . $this->groupmodules . "\n"); - if (!in_array("hostmodules", $saved)) array_push($file_array, "\n\n# List of used host modules\n" . "hostmodules: " . $this->hostmodules . "\n"); - // check if all module settings were added - $m_settings = array_keys($this->moduleSettings); - for ($i = 0; $i < sizeof($m_settings); $i++) { - if (!in_array($m_settings[$i], $mod_saved)) { - array_push($file_array, "modules: " . $m_settings[$i] . ": " . implode("+::+", $this->moduleSettings[$m_settings[$i]]) . "\n"); - } - } - $file = fopen($conffile, "w"); - if ($file) { - for ($i = 0; $i < sizeof($file_array); $i++) fputs($file, $file_array[$i]); - fclose($file); - @chmod ($conffile, 0600); - } - else { - StatusMessage("ERROR", "", _("Cannot open config file!") . " (" . $conffile . ")"); - exit; - } - } - } - - /** Prints current preferences */ - function printconf() { - echo "" . _("Server address") . ": " . $this->ServerURL . "
\n"; - echo "" . _("Cache timeout") . ": " . $this->cachetimeout . "
\n"; - echo "" . _("UserSuffix") . ": " . $this->usersuffix . "
\n"; - echo "" . _("GroupSuffix") . ": " . $this->groupsuffix . "
\n"; - echo "" . _("HostSuffix") . ": " . $this->hostsuffix . "
\n"; - echo "" . _("DomainSuffix") . ": " . $this->domainsuffix . "
\n"; - echo "" . _("Attributes in User List") . ": " . $this->userlistAttributes . "
\n"; - echo "" . _("Attributes in Group List") . ": " . $this->grouplistAttributes . "
\n"; - echo "" . _("Attributes in Host List") . ": " . $this->hostlistAttributes . "
\n"; - echo "" . _("Maximum list entries") . ": " . $this->maxlistentries . "
\n"; - echo "" . _("Default language") . ": " . $this->defaultLanguage . "
\n"; - echo "" . _("Path to external script") . ": " . $this->scriptPath . "
\n"; - echo "" . _("Server of external script") . ": " . $this->scriptServer . "
\n"; - echo "" . _("List of valid users") . ": " . $this->Admins . "
\n"; - echo "" . _("User modules") . ": " . $this->usermodules . "
\n"; - echo "" . _("Group modules") . ": " . $this->groupmodules . "
\n"; - echo "" . _("Host modules") . ": " . $this->hostmodules . "

\n"; - echo "" . _("Module settings") . ":
\n"; - echo "
    \n"; - $names = array_keys($this->moduleSettings); - $descriptions = getConfigDescriptions(); - $descriptions = $descriptions['descriptions']; - for ($i = 0; $i < sizeof($names); $i++) { - echo "
  • "; - // print description if available - if (isset($descriptions[$names[$i]])) echo $descriptions[$names[$i]]; - else echo $names[$i]; - echo ": " . implode(", ", $this->moduleSettings[$names[$i]]) . "
  • \n"; - } - echo "
\n"; - } - - // functions to read/write preferences - - /** - * Returns the server address as string - * - * @return string server address - */ - function get_ServerURL() { - return $this->ServerURL; - } - - /** - * Sets the server address - * - * @param string $value new server address - * @return boolean true if $value has correct format - */ - function set_ServerURL($value) { - if (is_string($value)) $this->ServerURL = $value; - else return false; - return true; - } - - /** - * Returns an array of string with all admin names - * - * @return array the admin names - */ - function get_Admins() { - return explode(";", $this->Admins); - } - - /** - * Returns all admin users seperated by semicolons - * - * @return string the admin string - */ - function get_Adminstring() { - return $this->Admins; - } - - /** - * Sets the admin string - * - * @param string $value new admin string that contains all admin users seperated by semicolons - * @return boolean true if $value has correct format - */ - function set_Adminstring($value) { - if (is_string($value) && - eregi("^[^;]+(;[^;]+)*$", $value)) { - $this->Admins = $value; - } - else return false; - return true; - } - - /** - * Returns the password to access the preferences wizard - * - * @return string the password - */ - function get_Passwd() { - return $this->Passwd; - } - - /** - * Sets the preferences wizard password - * - * @param string $value new password - * @return boolean true if $value has correct format - */ - function set_Passwd($value) { - if (is_string($value)) $this->Passwd = $value; - else return false; - return true; - } - - /** - * Returns the LDAP suffix where users are saved - * - * @return string the user suffix - */ - function get_UserSuffix() { - return $this->usersuffix; - } - - /** - * Sets the LDAP suffix where users are saved - * - * @param string $value new user suffix - * @return boolean true if $value has correct format - */ - function set_UserSuffix($value) { - if (is_string($value)) { - $this->usersuffix = $value; - } - else return false; - return true; - } - - /** - * returns the LDAP suffix where groups are saved - * - * @return string the group suffix - */ - function get_GroupSuffix() { - return $this->groupsuffix; - } - - /** - * Sets the LDAP suffix where groups are saved - * - * @param string $value new group suffix - * @return boolean true if $value has correct format - */ - function set_GroupSuffix($value) { - if (is_string($value)) { - $this->groupsuffix = $value; - } - else return false; - return true; - } - - /** - * returns the LDAP suffix where hosts are saved - * - * @return string the host suffix - */ - function get_HostSuffix() { - return $this->hostsuffix; - } - - /** - * Sets the LDAP suffix where hosts are saved - * - * @param string $value new host suffix - * @return boolean true if $value has correct format - */ - function set_HostSuffix($value) { - if (! $value) $this->hostsuffix = ""; - elseif (is_string($value)) { - $this->hostsuffix = $value; - } - else return false; - return true; - } - - /** - * Returns the LDAP suffix where domains are saved - * - * @return string the domain suffix - */ - function get_DomainSuffix() { - return $this->domainsuffix; - } - - /** - * Sets the LDAP suffix where domains are saved - * - * @param string $value new domain suffix - * @return boolean true if $value has correct format - */ - function set_DomainSuffix($value) { - if (!$value) $this->domainsuffix = ""; - elseif (is_string($value)) { - $this->domainsuffix = $value; - } - else return false; - return true; - } - - /** - * Returns the list of attributes to show in user list - * - * @return string the attribute list - */ - function get_userlistAttributes() { - return $this->userlistAttributes; - } - - /** - * Sets the list of attributes to show in user list - * - * @param string $value new attribute string - * @return boolean true if $value has correct format - */ - function set_userlistAttributes($value) { - if (is_string($value) && eregi("^((#[^:;]+)|([^:;]*:[^:;]+))(;((#[^:;]+)|([^:;]*:[^:;]+)))*$", $value)) { - $this->userlistAttributes = $value; - } - else return false; - return true; - } - - /** - * Returns the list of attributes to show in group list - * - * @return string the attribute list - */ - function get_grouplistAttributes() { - return $this->grouplistAttributes; - } - - /** - * Sets the list of attributes to show in group list - * - * @param string $value new attribute string - * @return boolean true if $value has correct format - */ - function set_grouplistAttributes($value) { - if (is_string($value) && eregi("^((#[^:;]+)|([^:;]*:[^:;]+))(;((#[^:;]+)|([^:;]*:[^:;]+)))*$", $value)) { - $this->grouplistAttributes = $value; - } - else return false; - return true; - } - - /** - * Returns the list of attributes to show in host list - * - * @return string the attribute list - */ - function get_hostlistAttributes() { - return $this->hostlistAttributes; - } - - /** - * Sets the list of attributes to show in host list - * - * @param string $value new attribute string - * @return boolean true if $value has correct format - */ - function set_hostlistAttributes($value) { - if (! $value && ($this->hostsuffix == "")) $this->hostlistAttributes = ""; - elseif (is_string($value) && eregi("^((#[^:;]+)|([^:;]*:[^:;]+))(;((#[^:;]+)|([^:;]*:[^:;]+)))*$", $value)) { - $this->hostlistAttributes = $value; - } - else return false; - return true; - } - - /** - * Returns the maximum number of rows in user/group/host lists - * - * @return integer maximum number - */ - function get_MaxListEntries() { - return $this->maxlistentries; - } - - /** - * Sets the maximum number of rows in user/group/host lists - * - * @param integer $value new maximum value - * @return boolean true if $value has correct format - */ - function set_MaxListEntries ($value) { - if (is_numeric($value)) $this->maxlistentries = $value; - else return false; - return true; - } - - /** - * Returns the default language string - * - * @return string default language - */ - function get_defaultLanguage() { - return $this->defaultLanguage; - } - - /** - * Sets the default language string - * - * @param string $value new default language - * @return boolean true if $value has correct format - */ - function set_defaultLanguage($value) { - if (is_string($value)) $this->defaultLanguage = $value; - else return false; - return true; - } - - /** - * Returns the path to the external script - * - * @return string script path - */ - function get_scriptPath() { - return $this->scriptPath; - } - - /** - * Sets the path to the external script - * - * @param string $value new script path - * @return boolean true if $value has correct format - */ - function set_scriptPath($value) { - if (!$value) $this->scriptPath = ""; // optional parameter - elseif (is_string($value) && eregi("^/([a-z0-9_\\-])+(/([a-z0-9_\\.\\-])+)+$", $value)) $this->scriptPath = $value; - else return false; - return true; - } - - /** - * Returns the server of the external script - * - * @return string script server - */ - function get_scriptServer() { - return $this->scriptServer; - } - - /** - * Sets the server of the external script - * - * @param string $value new script server - * @return boolean true if $value has correct format - */ - function set_scriptServer($value) { - if (!$value) $this->scriptServer = ""; // optional parameter - elseif (is_string($value) && eregi("^[a-z0-9\\-]+(\\.[a-z0-9\\-]+)*$", $value)) { - $this->scriptServer = $value; - } - else return false; - return true; - } - - /** - * Returns the LDAP cache timeout in minutes - * - * @return integer cache time - */ - function get_cacheTimeout() { - if (isset($this->cachetimeout)) return $this->cachetimeout; - else return 5; - } - - /** - * Returns the LDAP cache timeout in seconds - * - * @return integer cache time - */ - function get_cacheTimeoutSec() { - return $this->cachetimeout * 60; - } - - /** - * Sets the LDAP cache timeout in minutes (0,1,2,5,10,15) - * - * @param integer $value new cache timeout - * @return boolean true if $value has correct format - */ - function set_cacheTimeout($value) { - if (is_numeric($value) && ($value > -1)) { - $this->cachetimeout = $value; - } - else return false; - return true; - } - - /** - * Returns an array of all selected account modules - * - * @param string $scope account type - * @return array user modules - */ - function get_AccountModules($scope) { - switch ($scope) { - case 'user': - return explode(",", $this->usermodules); - break; - case 'group': - return explode(",", $this->groupmodules); - break; - case 'host': - return explode(",", $this->hostmodules); - break; - default: - return array(); - break; - } - - } - - /** - * Sets the selected account modules - * - * @param array $modules array with module names (not aliases!) - * @param string $scope account type - * @return boolean true if $modules has correct format - */ - function set_AccountModules($modules, $scope) { - if (! is_array($modules)) return false; - // check module names - $available = getAvailableModules($scope); - for ($i = 0; $i < sizeof($modules); $i++) { - if (! in_array($modules[$i], $available)) return false; - } - // check depends/conflicts - if (check_module_conflicts($modules, getModulesDependencies($scope)) != false) return false; - if (check_module_depends($modules, getModulesDependencies($scope)) != false) return false; - switch ($scope) { - case 'user': - $this->usermodules = implode(",", $modules); - break; - case 'group': - $this->groupmodules = implode(",", $modules); - break; - case 'host': - $this->hostmodules = implode(",", $modules); - break; - default: - break; - } - return true; - } - - /** - * Sets the settings for the account modules. - * - * @param array $settings list of module setting array(name => value) - * @return boolean true if $settings has correct format - */ - function set_moduleSettings($settings) { - if (!is_array($settings)) return false; - $this->moduleSettings = $settings; - return true; - } - - /** - * Returns a list of saved module settings - * - * @return array list of settings: array(name => value) - */ - function get_moduleSettings() { - return $this->moduleSettings; - } - -} - - -/** -* This class manages config.cfg. -* -* @package configuration -*/ -class CfgMain { - - /** Default profile */ - var $default; - - /** Password to change config.cfg */ - var $password; - - /** - * Loads preferences from config file - */ - function CfgMain() { - $this->reload(); - } - - /** - * Reloads preferences from config file config.cfg - * - * @return boolean true if file was readable - */ - function reload() { - $conffile = substr(__FILE__, 0, strlen(__FILE__) - 15) . "/config/config.cfg"; - if (is_file($conffile) == True) { - $file = @fopen($conffile, "r"); - if (!$file) return false; // abort if file is not readable - while (!feof($file)) { - $line = fgets($file, 1024); - $line = trim($line); // remove spaces at the beginning and end - if (($line == "")||($line[0] == "#")) continue; // ignore comments - // search keywords - if (substr($line, 0, 10) == "password: ") { - $this->password = substr($line, 10, strlen($line)-10); - continue; - } - if (substr($line, 0, 9) == "default: ") { - $this->default = substr($line, 9, strlen($line)-9); - continue; - } - } - fclose($file); - } - return true; - } - - /** - * Saves preferences to config file config.cfg - */ - function save() { - $conffile = substr(__FILE__, 0, strlen(__FILE__) - 15) . "/config/config.cfg"; - if (is_file($conffile) == True) { - // booleans to check if value was already saved - $save_password = $save_default = False; - $file = fopen($conffile, "r"); - $file_array = array(); - // read config file - while (!feof($file)) { - array_push($file_array, fgets($file, 1024)); - } - fclose($file); - // generate new configuration file - for ($i = 0; $i < sizeof($file_array); $i++) { - if (($file_array[$i] == "\n")||($file_array[$i][0] == "#")) continue; // ignore comments - // search for keywords - if (substr($file_array[$i], 0, 10) == "password: ") { - $file_array[$i] = "password: " . $this->password . "\n"; - $save_password = True; - continue; - } - if (substr($file_array[$i], 0, 9) == "default: ") { - $file_array[$i] = "default: " . $this->default . "\n"; - $save_default = True; - continue; - } - } - } - // check if we have to add new entries (e.g. if user upgraded LAM and has an old config file) - if (!$save_password == True) array_push($file_array, "\n\n# password to add/delete/rename configuration profiles\n" . "password: " . $this->password); - if (!$save_default == True) array_push($file_array, "\n\n# default profile, without \".conf\"\n" . "default: " . $this->default); - $file = fopen($conffile, "w"); - if ($file) { - for ($i = 0; $i < sizeof($file_array); $i++) fputs($file, $file_array[$i]); - fclose($file); - } - else { - StatusMessage("ERROR", "", _("Cannot open config file!") . " (" . $conffile . ")"); - exit; - } - } - -} - -?> diff --git a/lam/lib/createntlm.inc b/lam/lib/createntlm.inc deleted file mode 100644 index 5f849e07..00000000 --- a/lam/lib/createntlm.inc +++ /dev/null @@ -1,519 +0,0 @@ -permute($key, $this->perm1, 56); - - $c = array(); - $d = array(); - for ($i = 0; $i < 28; $i++) { - $c[$i] = $pk1[$i]; - $d[$i] = $pk1[28 + $i]; - } - - for ($i = 0; $i < 16; $i++) { - $c = $this->lshift($this->sc[$i], $c); - $d = $this->lshift($this->sc[$i], $d); - - $cd = $c; - for ($k = 0; $k < sizeof($d); $k++) $cd[] = $d[$k]; - $ki[$i] = $this->permute($cd, $this->perm2, 48); - } - - $pd1 = $this->permute($in, $this->perm3, 64); - - $l = array(); - $r = array(); - for ($i = 0; $i < 32; $i++) { - $l[$i] = $pd1[$i]; - $r[$i] = $pd1[32 + $i]; - } - - for ($i = 0; $i < 16; $i++) { - $er = $this->permute($r, $this->perm4, 48); - if ($forw) $erk = $this->mxor($er, $ki[$i]); - else $erk = $this->mxor($er, $ki[15 - $i]); - - for ($j = 0; $j < 8; $j++) { - for ($k = 0; $k < 6; $k++) { - $b[$j][$k] = $erk[($j * 6) + $k]; - } - } - for ($j = 0; $j < 8; $j++) { - $m = array(); - $n = array(); - $m = ($b[$j][0] << 1) | $b[$j][5]; - $n = ($b[$j][1] << 3) | ($b[$j][2] << 2) | ($b[$j][3] << 1) | $b[$j][4]; - - for ($k = 0; $k < 4; $k++) { - $b[$j][$k]=($this->sbox[$j][$m][$n] & (1 << (3-$k)))?1:0; - } - } - - for ($j = 0; $j < 8; $j++) { - for ($k = 0; $k < 4; $k++) { - $cb[($j * 4) + $k] = $b[$j][$k]; - } - } - $pcb = $this->permute($cb, $this->perm5, 32); - $r2 = $this->mxor($l, $pcb); - for ($k = 0; $k < 32; $k++) $l[$k] = $r[$k]; - for ($k = 0; $k < 32; $k++) $r[$k] = $r2[$k]; - } - $rl = $r; - for ($i = 0; $i < sizeof($l); $i++) $rl[] = $l[$i]; - return $this->permute($rl, $this->perm6, 64); - } - - function str_to_key($str) { - $key[0] = $this->unsigned_shift_r($str[0], 1); - $key[1] = (($str[0]&0x01)<<6) | $this->unsigned_shift_r($str[1], 2); - $key[2] = (($str[1]&0x03)<<5) | $this->unsigned_shift_r($str[2], 3); - $key[3] = (($str[2]&0x07)<<4) | $this->unsigned_shift_r($str[3], 4); - $key[4] = (($str[3]&0x0F)<<3) | $this->unsigned_shift_r($str[4], 5); - $key[5] = (($str[4]&0x1F)<<2) | $this->unsigned_shift_r($str[5], 6); - $key[6] = (($str[5]&0x3F)<<1) | $this->unsigned_shift_r($str[6], 7); - $key[7] = $str[6]&0x7F; - for ($i = 0; $i < 8; $i++) { - $key[$i] = ($key[$i] << 1); - } - return $key; - } - - function smb_hash($in, $key, $forw){ - $key2 = $this->str_to_key($key); - - for ($i = 0; $i < 64; $i++) { - $inb[$i] = ($in[$i/8] & (1<<(7-($i%8)))) ? 1:0; - $keyb[$i] = ($key2[$i/8] & (1<<(7-($i%8)))) ? 1:0; - $outb[$i] = 0; - } - $outb = $this->dohash($inb, $keyb, $forw); - for ($i = 0; $i < 8; $i++) { - $out[$i] = 0; - } - for ($i = 0; $i < 65; $i++) { - if ( $outb[$i] ) { - $out[$i/8] |= (1<<(7-($i%8))); - } - } - return $out; - } - - function E_P16($in) { - $p14 = array_values(unpack("C*",$in)); - $sp8 = array(0x4b, 0x47, 0x53, 0x21, 0x40, 0x23, 0x24, 0x25); - $p14_1 = array(); - $p14_2 = array(); - for ($i = 0; $i < 7; $i++) { - $p14_1[$i] = $p14[$i]; - $p14_2[$i] = $p14[$i + 7]; - } - $p16_1 = $this->smb_hash($sp8, $p14_1, true); - $p16_2 = $this->smb_hash($sp8, $p14_2, true); - $p16 = $p16_1; - for ($i = 0; $i < sizeof($p16_2); $i++) { - $p16[] = $p16_2[$i]; - } - return $p16; - } - - /** - * Calculates the LM hash of a given password. - * - * @param string $password password - * @return string hash value - */ - function lmhash($password = "") { - $password = strtoupper($password); - $password = substr($password,0,14); - $password = str_pad($password, 14, chr(0)); - $p16 = $this->E_P16($password); - for ($i = 0; $i < sizeof($p16); $i++) { - $p16[$i] = sprintf("%02X", $p16[$i]); - } - return join("", $p16); - } - - /** - * Calculates the NT hash of a given password. - * - * @param string $password password - * @return string hash value - */ - function nthash($password = "") { - $password = substr($password,0,128); - $password2 = ""; - for ($i = 0; $i < strlen($password); $i++) $password2 .= $password[$i] . chr(0); - $password = $password2; - $hex = $this->mdfour($password); - for ($i = 0; $i < sizeof($hex); $i++) { - $hex[$i] = sprintf("%02X", $hex[$i]); - } - return join("", $hex); - } - - # Support functions - # Ported from SAMBA/source/lib/md4.c:F,G and H respectfully - function F($X, $Y, $Z) { - return ($X&$Y) | ((~$X)&$Z); - } - - function G($X, $Y, $Z) { - return ($X&$Y) | ($X&$Z) | ($Y&$Z); - } - - function H($X, $Y, $Z) { - return $X^$Y^$Z; - } - - # Ported from SAMBA/source/lib/md4.c:mdfour - function mdfour($in) { - $in = unpack("C*",$in); - $in = array_values($in); - $b = sizeof($in) * 8; - $A = array(0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476); - while (sizeof($in) > 64 ) { - $M = $this->copy64($in); - $this->mdfour64($A[0], $A[1], $A[2], $A[3], $M); - $new_in = array(); - for ($i = 64; $i < sizeof($in); $i++) $new_in[] = $in[$i]; - $in = $new_in; - } - $buf = $in; - $buf[] = 0x80; - for ($i = sizeof($buf) - 1; $i < 127; $i++) $buf[] = 0; - if ( sizeof($in) <= 55 ) { - $temp = $this->copy4($b); - $buf[56] = $temp[0]; - $buf[57] = $temp[1]; - $buf[58] = $temp[2]; - $buf[59] = $temp[3]; - $M = $this->copy64($buf); - $this->mdfour64($A[0], $A[1], $A[2], $A[3], $M); - } - else { - $temp = $this->copy4($b); - $buf[120] = $temp[0]; - $buf[121] = $temp[1]; - $buf[122] = $temp[2]; - $buf[123] = $temp[3]; - $M = $this->copy64($buf); - $this->mdfour64($A[0], $A[1], $A[2], $A[3], $M); - $temp = array(); - for ($i = 64; $i < sizeof($buf); $i++) $temp[] = $buf[$i]; - $M = $this->copy64($temp); - $this->mdfour64($A[0], $A[1], $A[2], $A[3], $M); - } - $out = array(); - $temp = $this->copy4($A[0]); - for ($i = 0; $i < 4; $i++) $out[] = $temp[$i]; - $temp = $this->copy4($A[1]); - for ($i = 0; $i < 4; $i++) $out[] = $temp[$i]; - $temp = $this->copy4($A[2]); - for ($i = 0; $i < 4; $i++) $out[] = $temp[$i]; - $temp = $this->copy4($A[3]); - for ($i = 0; $i < 4; $i++) $out[] = $temp[$i]; - return $out; - } - - # Ported from SAMBA/source/lib/md4.c:copy4 - function copy4($x) { - $out = array(); - $out[0] = $x&0xFF; - $out[1] = $this->unsigned_shift_r($x, 8)&0xFF; - $out[2] = $this->unsigned_shift_r($x, 16)&0xFF; - $out[3] = $this->unsigned_shift_r($x, 24)&0xFF; - return $out; - } - - # Ported from SAMBA/source/lib/md4.c:copy64 - function copy64($in) { - for ($i = 0; $i < 16; $i++) { - $M[$i] = ($in[$i*4+3]<<24) | ($in[$i*4+2]<<16) | ($in[$i*4+1]<<8) | ($in[$i*4+0]<<0); - } - return $M; - } - - # Ported from SAMBA/source/lib/md4.c:mdfour64 - function mdfour64(&$A, &$B, &$C, &$D, $M) { - $X = array(); - for ($i = 0; $i < 16; $i++) $X[] = $M[$i]; - $AA=$A; - $BB=$B; - $CC=$C; - $DD=$D; - $this->ROUND1($A,$B,$C,$D, 0, 3, $X); - $this->ROUND1($D,$A,$B,$C, 1, 7, $X); - $this->ROUND1($C,$D,$A,$B, 2, 11, $X); - $this->ROUND1($B,$C,$D,$A, 3, 19, $X); - $this->ROUND1($A,$B,$C,$D, 4, 3, $X); $this->ROUND1($D,$A,$B,$C, 5, 7, $X); - $this->ROUND1($C,$D,$A,$B, 6, 11, $X); $this->ROUND1($B,$C,$D,$A, 7, 19, $X); - $this->ROUND1($A,$B,$C,$D, 8, 3, $X); $this->ROUND1($D,$A,$B,$C, 9, 7, $X); - $this->ROUND1($C,$D,$A,$B, 10, 11, $X); $this->ROUND1($B,$C,$D,$A, 11, 19, $X); - $this->ROUND1($A,$B,$C,$D, 12, 3, $X); $this->ROUND1($D,$A,$B,$C, 13, 7, $X); - $this->ROUND1($C,$D,$A,$B, 14, 11, $X); $this->ROUND1($B,$C,$D,$A, 15, 19, $X); - $this->ROUND2($A,$B,$C,$D, 0, 3, $X); $this->ROUND2($D,$A,$B,$C, 4, 5, $X); - $this->ROUND2($C,$D,$A,$B, 8, 9, $X); $this->ROUND2($B,$C,$D,$A, 12, 13, $X); - $this->ROUND2($A,$B,$C,$D, 1, 3, $X); $this->ROUND2($D,$A,$B,$C, 5, 5, $X); - $this->ROUND2($C,$D,$A,$B, 9, 9, $X); $this->ROUND2($B,$C,$D,$A, 13, 13, $X); - $this->ROUND2($A,$B,$C,$D, 2, 3, $X); $this->ROUND2($D,$A,$B,$C, 6, 5, $X); - $this->ROUND2($C,$D,$A,$B, 10, 9, $X); $this->ROUND2($B,$C,$D,$A, 14, 13, $X); - $this->ROUND2($A,$B,$C,$D, 3, 3, $X); $this->ROUND2($D,$A,$B,$C, 7, 5, $X); - $this->ROUND2($C,$D,$A,$B, 11, 9, $X); $this->ROUND2($B,$C,$D,$A, 15, 13, $X); - $this->ROUND3($A,$B,$C,$D, 0, 3, $X); $this->ROUND3($D,$A,$B,$C, 8, 9, $X); - $this->ROUND3($C,$D,$A,$B, 4, 11, $X); $this->ROUND3($B,$C,$D,$A, 12, 15, $X); - $this->ROUND3($A,$B,$C,$D, 2, 3, $X); $this->ROUND3($D,$A,$B,$C, 10, 9, $X); - $this->ROUND3($C,$D,$A,$B, 6, 11, $X); $this->ROUND3($B,$C,$D,$A, 14, 15, $X); - $this->ROUND3($A,$B,$C,$D, 1, 3, $X); $this->ROUND3($D,$A,$B,$C, 9, 9, $X); - $this->ROUND3($C,$D,$A,$B, 5, 11, $X); $this->ROUND3($B,$C,$D,$A, 13, 15, $X); - $this->ROUND3($A,$B,$C,$D, 3, 3, $X); $this->ROUND3($D,$A,$B,$C, 11, 9, $X); - $this->ROUND3($C,$D,$A,$B, 7, 11, $X); $this->ROUND3($B,$C,$D,$A, 15, 15, $X); - - $A = $this->add32(array($A, $AA)); $B = $this->add32(array($B, $BB)); - $C = $this->add32(array($C, $CC)); $D = $this->add32(array($D, $DD)); - } - - # Needed? because perl seems to choke on overflowing when doing bitwise - # operations on numbers larger than 32 bits. Well, it did on my machine =) - function add32($v) { - for ($i = 0; $i < sizeof($v); $i++) { - $v[$i] = array($this->unsigned_shift_r(($v[$i]&0xffff0000), 16), ($v[$i]&0xffff)); - } - for ($i = 0; $i < sizeof($v); $i++) { - $sum[0] += $v[$i][0]; - $sum[1] += $v[$i][1]; - } - $sum[0] += ($sum[1]&0xffff0000)>>16; - $sum[1] &= 0xffff; - $sum[0] &= 0xffff; - $ret = ($sum[0]<<16) | $sum[1]; - return $ret; - } - - # Ported from SAMBA/source/lib/md4.c:ROUND1 - function ROUND1(&$a,$b,$c,$d,$k,$s,$X) { - $a = $this->md4lshift($this->add32(array($a, $this->F($b,$c,$d), $X[$k])), $s); - return $a; - } - - # Ported from SAMBA/source/lib/md4.c:ROUND2 - function ROUND2(&$a,$b,$c,$d,$k,$s,$X) { - $a = $this->md4lshift($this->add32(array($a, $this->G($b,$c,$d), $X[$k] + 0x5A827999)), $s); - return $a; - } - - # Ported from SAMBA/source/lib/md4.c:ROUND3 - function ROUND3(&$a,$b,$c,$d,$k,$s,$X) { - $a = $this->md4lshift($this->add32(array($a + $this->H($b,$c,$d) + $X[$k] + 0x6ED9EBA1)), $s); - return $a; - } - - # Ported from SAMBA/source/lib/md4.c:lshift - # Renamed to prevent clash with SAMBA/source/libsmb/smbdes.c:lshift - function md4lshift($x, $s) { - $x &= 0xFFFFFFFF; - return ((($x<<$s)&0xFFFFFFFF) | $this->unsigned_shift_r($x, (32-$s))); - } - - /** - * Unsigned shift operation for 32bit values. - * - * PHP 4 only supports signed shifts by default. - */ - function unsigned_shift_r($a, $b) { - $z = 0x80000000; - if ($z & $a) { - $a = ($a >> 1); - $a &= (~$z); - $a |= 0x40000000; - $a = ($a >> ($b - 1)); - } - else { - $a = ($a >> $b); - } - return $a; - } - -} - -?> diff --git a/lam/lib/font/courier.php b/lam/lib/font/courier.php deleted file mode 100644 index 81cabd79..00000000 --- a/lam/lib/font/courier.php +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/lam/lib/font/helvetica.php b/lam/lib/font/helvetica.php deleted file mode 100644 index 16789f2a..00000000 --- a/lam/lib/font/helvetica.php +++ /dev/null @@ -1,22 +0,0 @@ -278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, - chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, - ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, - 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, - 'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, - 'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, - chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, - chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, - chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); -?> diff --git a/lam/lib/font/helveticab.php b/lam/lib/font/helveticab.php deleted file mode 100644 index c045dd29..00000000 --- a/lam/lib/font/helveticab.php +++ /dev/null @@ -1,22 +0,0 @@ -278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, - chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, - ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, - 'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, - 'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, - 'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, - chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, - chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, - chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); -?> diff --git a/lam/lib/font/helveticabi.php b/lam/lib/font/helveticabi.php deleted file mode 100644 index 9ed48733..00000000 --- a/lam/lib/font/helveticabi.php +++ /dev/null @@ -1,22 +0,0 @@ -278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, - chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, - ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, - 'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, - 'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, - 'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, - chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, - chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, - chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); -?> diff --git a/lam/lib/font/helveticai.php b/lam/lib/font/helveticai.php deleted file mode 100644 index 768276d7..00000000 --- a/lam/lib/font/helveticai.php +++ /dev/null @@ -1,22 +0,0 @@ -278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, - chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, - ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, - 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, - 'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, - 'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, - chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, - chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, - chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); -?> diff --git a/lam/lib/font/symbol.php b/lam/lib/font/symbol.php deleted file mode 100644 index 74e66e9a..00000000 --- a/lam/lib/font/symbol.php +++ /dev/null @@ -1,22 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549, - ','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722, - 'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768, - 'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576, - 'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0, - chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, - chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603, - chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768, - chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042, - chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329, - chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0); -?> diff --git a/lam/lib/font/times.php b/lam/lib/font/times.php deleted file mode 100644 index ab7922cf..00000000 --- a/lam/lib/font/times.php +++ /dev/null @@ -1,22 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564, - ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722, - 'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944, - 'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, - 'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, - chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980, - chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333, - chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, - chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, - chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500); -?> diff --git a/lam/lib/font/timesb.php b/lam/lib/font/timesb.php deleted file mode 100644 index 661216f8..00000000 --- a/lam/lib/font/timesb.php +++ /dev/null @@ -1,22 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, - ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722, - 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000, - 'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833, - 'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, - chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333, - chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, - chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); -?> diff --git a/lam/lib/font/timesbi.php b/lam/lib/font/timesbi.php deleted file mode 100644 index f9bf3954..00000000 --- a/lam/lib/font/timesbi.php +++ /dev/null @@ -1,22 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, - ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667, - 'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889, - 'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, - 'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, - chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333, - chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, - chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, - chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444); -?> diff --git a/lam/lib/font/timesi.php b/lam/lib/font/timesi.php deleted file mode 100644 index 829084b4..00000000 --- a/lam/lib/font/timesi.php +++ /dev/null @@ -1,22 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675, - ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611, - 'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833, - 'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722, - 'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, - chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980, - chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333, - chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611, - chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, - chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444); -?> diff --git a/lam/lib/font/zapfdingbats.php b/lam/lib/font/zapfdingbats.php deleted file mode 100644 index 0d6217d2..00000000 --- a/lam/lib/font/zapfdingbats.php +++ /dev/null @@ -1,22 +0,0 @@ -0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0, - chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939, - ','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692, - 'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776, - 'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873, - 'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317, - chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, - chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788, - chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788, - chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918, - chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874, - chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0); -?> diff --git a/lam/lib/fpdf.php b/lam/lib/fpdf.php deleted file mode 100644 index 01391ae9..00000000 --- a/lam/lib/fpdf.php +++ /dev/null @@ -1,1675 +0,0 @@ -_dochecks(); - //Initialization of properties - $this->page=0; - $this->n=2; - $this->buffer=''; - $this->pages=array(); - $this->OrientationChanges=array(); - $this->state=0; - $this->fonts=array(); - $this->FontFiles=array(); - $this->diffs=array(); - $this->images=array(); - $this->links=array(); - $this->InFooter=false; - $this->lasth=0; - $this->FontFamily=''; - $this->FontStyle=''; - $this->FontSizePt=12; - $this->underline=false; - $this->DrawColor='0 G'; - $this->FillColor='0 g'; - $this->TextColor='0 g'; - $this->ColorFlag=false; - $this->ws=0; - //Standard fonts - $this->CoreFonts=array('courier'=>'Courier','courierB'=>'Courier-Bold','courierI'=>'Courier-Oblique','courierBI'=>'Courier-BoldOblique', - 'helvetica'=>'Helvetica','helveticaB'=>'Helvetica-Bold','helveticaI'=>'Helvetica-Oblique','helveticaBI'=>'Helvetica-BoldOblique', - 'times'=>'Times-Roman','timesB'=>'Times-Bold','timesI'=>'Times-Italic','timesBI'=>'Times-BoldItalic', - 'symbol'=>'Symbol','zapfdingbats'=>'ZapfDingbats'); - //Scale factor - if($unit=='pt') - $this->k=1; - elseif($unit=='mm') - $this->k=72/25.4; - elseif($unit=='cm') - $this->k=72/2.54; - elseif($unit=='in') - $this->k=72; - else - $this->Error('Incorrect unit: '.$unit); - //Page format - if(is_string($format)) - { - $format=strtolower($format); - if($format=='a3') - $format=array(841.89,1190.55); - elseif($format=='a4') - $format=array(595.28,841.89); - elseif($format=='a5') - $format=array(420.94,595.28); - elseif($format=='letter') - $format=array(612,792); - elseif($format=='legal') - $format=array(612,1008); - else - $this->Error('Unknown page format: '.$format); - $this->fwPt=$format[0]; - $this->fhPt=$format[1]; - } - else - { - $this->fwPt=$format[0]*$this->k; - $this->fhPt=$format[1]*$this->k; - } - $this->fw=$this->fwPt/$this->k; - $this->fh=$this->fhPt/$this->k; - //Page orientation - $orientation=strtolower($orientation); - if($orientation=='p' or $orientation=='portrait') - { - $this->DefOrientation='P'; - $this->wPt=$this->fwPt; - $this->hPt=$this->fhPt; - } - elseif($orientation=='l' or $orientation=='landscape') - { - $this->DefOrientation='L'; - $this->wPt=$this->fhPt; - $this->hPt=$this->fwPt; - } - else - $this->Error('Incorrect orientation: '.$orientation); - $this->CurOrientation=$this->DefOrientation; - $this->w=$this->wPt/$this->k; - $this->h=$this->hPt/$this->k; - //Page margins (1 cm) - $margin=28.35/$this->k; - $this->SetMargins($margin,$margin); - //Interior cell margin (1 mm) - $this->cMargin=$margin/10; - //Line width (0.2 mm) - $this->LineWidth=.567/$this->k; - //Automatic page break - $this->SetAutoPageBreak(true,2*$margin); - //Full width display mode - $this->SetDisplayMode('fullwidth'); - //Compression - $this->SetCompression(true); - } - - /** - * - * - * @param int - * @param int - * @param int - */ - function SetMargins($left,$top,$right=-1) - { - //Set left, top and right margins - $this->lMargin=$left; - $this->tMargin=$top; - if($right==-1) - $right=$left; - $this->rMargin=$right; - } - - /** - * - * - * @param int - */ - function SetLeftMargin($margin) - { - //Set left margin - $this->lMargin=$margin; - if($this->page>0 and $this->x<$margin) - $this->x=$margin; - } - - /** - * - * - * @param int - */ - function SetTopMargin($margin) - { - //Set top margin - $this->tMargin=$margin; - } - - /** - * - * - * @param int - */ - function SetRightMargin($margin) - { - //Set right margin - $this->rMargin=$margin; - } - - /** - * - * - * @param boolean - * @param int - */ - function SetAutoPageBreak($auto,$margin=0) - { - //Set auto page break mode and triggering margin - $this->AutoPageBreak=$auto; - $this->bMargin=$margin; - $this->PageBreakTrigger=$this->h-$margin; - } - - /** - * - * - * @param string - * @param string - */ - function SetDisplayMode($zoom,$layout='continuous') - { - //Set display mode in viewer - if($zoom=='fullpage' or $zoom=='fullwidth' or $zoom=='real' or $zoom=='default' or !is_string($zoom)) - $this->ZoomMode=$zoom; - else - $this->Error('Incorrect zoom display mode: '.$zoom); - if($layout=='single' or $layout=='continuous' or $layout=='two' or $layout=='default') - $this->LayoutMode=$layout; - else - $this->Error('Incorrect layout display mode: '.$layout); - } - - /** - * - * - * @param string - */ - function SetCompression($compress) - { - //Set page compression - if(function_exists('gzcompress')) - $this->compress=$compress; - else - $this->compress=false; - } - -function SetTitle($title) -{ - //Title of document - $this->title=$title; -} - -function SetSubject($subject) -{ - //Subject of document - $this->subject=$subject; -} - -function SetAuthor($author) -{ - //Author of document - $this->author=$author; -} - -function SetKeywords($keywords) -{ - //Keywords of document - $this->keywords=$keywords; -} - -function SetCreator($creator) -{ - //Creator of document - $this->creator=$creator; -} - -function AliasNbPages($alias='{nb}') -{ - //Define an alias for total number of pages - $this->AliasNbPages=$alias; -} - -function Error($msg) -{ - //Fatal error - die('FPDF error: '.$msg); -} - -function Open() -{ - //Begin document - if($this->state==0) - $this->_begindoc(); -} - -function Close() -{ - //Terminate document - if($this->state==3) - return; - if($this->page==0) - $this->AddPage(); - //Page footer - $this->InFooter=true; - $this->Footer(); - $this->InFooter=false; - //Close page - $this->_endpage(); - //Close document - $this->_enddoc(); -} - -function AddPage($orientation='') -{ - //Start a new page - if($this->state==0) - $this->Open(); - $family=$this->FontFamily; - $style=$this->FontStyle.($this->underline ? 'U' : ''); - $size=$this->FontSizePt; - $lw=$this->LineWidth; - $dc=$this->DrawColor; - $fc=$this->FillColor; - $tc=$this->TextColor; - $cf=$this->ColorFlag; - if($this->page>0) - { - //Page footer - $this->InFooter=true; - $this->Footer(); - $this->InFooter=false; - //Close page - $this->_endpage(); - } - //Start new page - $this->_beginpage($orientation); - //Set line cap style to square - $this->_out('2 J'); - //Set line width - $this->LineWidth=$lw; - $this->_out(sprintf('%.2f w',$lw*$this->k)); - //Set font - if($family) - $this->SetFont($family,$style,$size); - //Set colors - $this->DrawColor=$dc; - if($dc!='0 G') - $this->_out($dc); - $this->FillColor=$fc; - if($fc!='0 g') - $this->_out($fc); - $this->TextColor=$tc; - $this->ColorFlag=$cf; - //Page header - $this->Header(); - //Restore line width - if($this->LineWidth!=$lw) - { - $this->LineWidth=$lw; - $this->_out(sprintf('%.2f w',$lw*$this->k)); - } - //Restore font - if($family) - $this->SetFont($family,$style,$size); - //Restore colors - if($this->DrawColor!=$dc) - { - $this->DrawColor=$dc; - $this->_out($dc); - } - if($this->FillColor!=$fc) - { - $this->FillColor=$fc; - $this->_out($fc); - } - $this->TextColor=$tc; - $this->ColorFlag=$cf; -} - -function Header() -{ - //To be implemented in your own inherited class -} - -function Footer() -{ - //To be implemented in your own inherited class -} - -function PageNo() -{ - //Get current page number - return $this->page; -} - -function SetDrawColor($r,$g=-1,$b=-1) -{ - //Set color for all stroking operations - if(($r==0 and $g==0 and $b==0) or $g==-1) - $this->DrawColor=sprintf('%.3f G',$r/255); - else - $this->DrawColor=sprintf('%.3f %.3f %.3f RG',$r/255,$g/255,$b/255); - if($this->page>0) - $this->_out($this->DrawColor); -} - -function SetFillColor($r,$g=-1,$b=-1) -{ - //Set color for all filling operations - if(($r==0 and $g==0 and $b==0) or $g==-1) - $this->FillColor=sprintf('%.3f g',$r/255); - else - $this->FillColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255); - $this->ColorFlag=($this->FillColor!=$this->TextColor); - if($this->page>0) - $this->_out($this->FillColor); -} - -function SetTextColor($r,$g=-1,$b=-1) -{ - //Set color for text - if(($r==0 and $g==0 and $b==0) or $g==-1) - $this->TextColor=sprintf('%.3f g',$r/255); - else - $this->TextColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255); - $this->ColorFlag=($this->FillColor!=$this->TextColor); -} - -function GetStringWidth($s) -{ - //Get width of a string in the current font - $s=(string)$s; - $cw=&$this->CurrentFont['cw']; - $w=0; - $l=strlen($s); - for($i=0;$i<$l;$i++) - $w+=$cw[$s{$i}]; - return $w*$this->FontSize/1000; -} - -function SetLineWidth($width) -{ - //Set line width - $this->LineWidth=$width; - if($this->page>0) - $this->_out(sprintf('%.2f w',$width*$this->k)); -} - -function Line($x1,$y1,$x2,$y2) -{ - //Draw a line - $this->_out(sprintf('%.2f %.2f m %.2f %.2f l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k)); -} - -function Rect($x,$y,$w,$h,$style='') -{ - //Draw a rectangle - if($style=='F') - $op='f'; - elseif($style=='FD' or $style=='DF') - $op='B'; - else - $op='S'; - $this->_out(sprintf('%.2f %.2f %.2f %.2f re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op)); -} - -function AddFont($family,$style='',$file='') -{ - //Add a TrueType or Type1 font - $family=strtolower($family); - if($family=='arial') - $family='helvetica'; - $style=strtoupper($style); - if($style=='IB') - $style='BI'; - if(isset($this->fonts[$family.$style])) - $this->Error('Font already added: '.$family.' '.$style); - if($file=='') - $file=str_replace(' ','',$family).strtolower($style).'.php'; - if(defined('FPDF_FONTPATH')) - $file=FPDF_FONTPATH.$file; - include($file); - if(!isset($name)) - $this->Error('Could not include font definition file'); - $i=count($this->fonts)+1; - $this->fonts[$family.$style]=array('i'=>$i,'type'=>$type,'name'=>$name,'desc'=>$desc,'up'=>$up,'ut'=>$ut,'cw'=>$cw,'enc'=>$enc,'file'=>$file); - if($diff) - { - //Search existing encodings - $d=0; - $nb=count($this->diffs); - for($i=1;$i<=$nb;$i++) - if($this->diffs[$i]==$diff) - { - $d=$i; - break; - } - if($d==0) - { - $d=$nb+1; - $this->diffs[$d]=$diff; - } - $this->fonts[$family.$style]['diff']=$d; - } - if($file) - { - if($type=='TrueType') - $this->FontFiles[$file]=array('length1'=>$originalsize); - else - $this->FontFiles[$file]=array('length1'=>$size1,'length2'=>$size2); - } -} - -function SetFont($family,$style='',$size=0) -{ - //Select a font; size given in points - global $fpdf_charwidths; - - $family=strtolower($family); - if($family=='') - $family=$this->FontFamily; - if($family=='arial') - $family='helvetica'; - elseif($family=='symbol' or $family=='zapfdingbats') - $style=''; - $style=strtoupper($style); - if(is_int(strpos($style,'U'))) - { - $this->underline=true; - $style=str_replace('U','',$style); - } - else - $this->underline=false; - if($style=='IB') - $style='BI'; - if($size==0) - $size=$this->FontSizePt; - //Test if font is already selected - if($this->FontFamily==$family and $this->FontStyle==$style and $this->FontSizePt==$size) - return; - //Test if used for the first time - $fontkey=$family.$style; - if(!isset($this->fonts[$fontkey])) - { - //Check if one of the standard fonts - if(isset($this->CoreFonts[$fontkey])) - { - if(!isset($fpdf_charwidths[$fontkey])) - { - //Load metric file - $file=$family; - if($family=='times' or $family=='helvetica') - $file.=strtolower($style); - $file.='.php'; - if(defined('FPDF_FONTPATH')) - $file=FPDF_FONTPATH.$file; - include($file); - if(!isset($fpdf_charwidths[$fontkey])) - $this->Error('Could not include font metric file'); - } - $i=count($this->fonts)+1; - $this->fonts[$fontkey]=array('i'=>$i,'type'=>'core','name'=>$this->CoreFonts[$fontkey],'up'=>-100,'ut'=>50,'cw'=>$fpdf_charwidths[$fontkey]); - } - else - $this->Error('Undefined font: '.$family.' '.$style); - } - //Select it - $this->FontFamily=$family; - $this->FontStyle=$style; - $this->FontSizePt=$size; - $this->FontSize=$size/$this->k; - $this->CurrentFont=&$this->fonts[$fontkey]; - if($this->page>0) - $this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); -} - -function SetFontSize($size) -{ - //Set font size in points - if($this->FontSizePt==$size) - return; - $this->FontSizePt=$size; - $this->FontSize=$size/$this->k; - if($this->page>0) - $this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); -} - -function AddLink() -{ - //Create a new internal link - $n=count($this->links)+1; - $this->links[$n]=array(0,0); - return $n; -} - -function SetLink($link,$y=0,$page=-1) -{ - //Set destination of internal link - if($y==-1) - $y=$this->y; - if($page==-1) - $page=$this->page; - $this->links[$link]=array($page,$y); -} - -function Link($x,$y,$w,$h,$link) -{ - //Put a link on the page - $this->PageLinks[$this->page][]=array($x*$this->k,$this->hPt-$y*$this->k,$w*$this->k,$h*$this->k,$link); -} - -function Text($x,$y,$txt) -{ - //Output a string - $s=sprintf('BT %.2f %.2f Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt)); - if($this->underline and $txt!='') - $s.=' '.$this->_dounderline($x,$y,$txt); - if($this->ColorFlag) - $s='q '.$this->TextColor.' '.$s.' Q'; - $this->_out($s); -} - -function AcceptPageBreak() -{ - //Accept automatic page break or not - return $this->AutoPageBreak; -} - -function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='') -{ - //Output a cell - $k=$this->k; - if($this->y+$h>$this->PageBreakTrigger and !$this->InFooter and $this->AcceptPageBreak()) - { - //Automatic page break - $x=$this->x; - $ws=$this->ws; - if($ws>0) - { - $this->ws=0; - $this->_out('0 Tw'); - } - $this->AddPage($this->CurOrientation); - $this->x=$x; - if($ws>0) - { - $this->ws=$ws; - $this->_out(sprintf('%.3f Tw',$ws*$k)); - } - } - if($w==0) - $w=$this->w-$this->rMargin-$this->x; - $s=''; - if($fill==1 or $border==1) - { - if($fill==1) - $op=($border==1) ? 'B' : 'f'; - else - $op='S'; - $s=sprintf('%.2f %.2f %.2f %.2f re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op); - } - if(is_string($border)) - { - $x=$this->x; - $y=$this->y; - if(is_int(strpos($border,'L'))) - $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k); - if(is_int(strpos($border,'T'))) - $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k); - if(is_int(strpos($border,'R'))) - $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k); - if(is_int(strpos($border,'B'))) - $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k); - } - if($txt!='') - { - if($align=='R') - $dx=$w-$this->cMargin-$this->GetStringWidth($txt); - elseif($align=='C') - $dx=($w-$this->GetStringWidth($txt))/2; - else - $dx=$this->cMargin; - if($this->ColorFlag) - $s.='q '.$this->TextColor.' '; - $txt2=str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$txt))); - $s.=sprintf('BT %.2f %.2f Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt2); - if($this->underline) - $s.=' '.$this->_dounderline($this->x+$dx,$this->y+.5*$h+.3*$this->FontSize,$txt); - if($this->ColorFlag) - $s.=' Q'; - if($link) - $this->Link($this->x+$dx,$this->y+.5*$h-.5*$this->FontSize,$this->GetStringWidth($txt),$this->FontSize,$link); - } - if($s) - $this->_out($s); - $this->lasth=$h; - if($ln>0) - { - //Go to next line - $this->y+=$h; - if($ln==1) - $this->x=$this->lMargin; - } - else - $this->x+=$w; -} - -function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) -{ - //Output text with automatic or explicit line breaks - $cw=&$this->CurrentFont['cw']; - if($w==0) - $w=$this->w-$this->rMargin-$this->x; - $wmax=($w-2*$this->cMargin)*1000/$this->FontSize; - $s=str_replace("\r",'',$txt); - $nb=strlen($s); - if($nb>0 and $s[$nb-1]=="\n") - $nb--; - $b=0; - if($border) - { - if($border==1) - { - $border='LTRB'; - $b='LRT'; - $b2='LR'; - } - else - { - $b2=''; - if(is_int(strpos($border,'L'))) - $b2.='L'; - if(is_int(strpos($border,'R'))) - $b2.='R'; - $b=is_int(strpos($border,'T')) ? $b2.'T' : $b2; - } - } - $sep=-1; - $i=0; - $j=0; - $l=0; - $ns=0; - $nl=1; - while($i<$nb) - { - //Get next character - $c=$s{$i}; - if($c=="\n") - { - //Explicit line break - if($this->ws>0) - { - $this->ws=0; - $this->_out('0 Tw'); - } - $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); - $i++; - $sep=-1; - $j=$i; - $l=0; - $ns=0; - $nl++; - if($border and $nl==2) - $b=$b2; - continue; - } - if($c==' ') - { - $sep=$i; - $ls=$l; - $ns++; - } - $l+=$cw[$c]; - if($l>$wmax) - { - //Automatic line break - if($sep==-1) - { - if($i==$j) - $i++; - if($this->ws>0) - { - $this->ws=0; - $this->_out('0 Tw'); - } - $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); - } - else - { - if($align=='J') - { - $this->ws=($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0; - $this->_out(sprintf('%.3f Tw',$this->ws*$this->k)); - } - $this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill); - $i=$sep+1; - } - $sep=-1; - $j=$i; - $l=0; - $ns=0; - $nl++; - if($border and $nl==2) - $b=$b2; - } - else - $i++; - } - //Last chunk - if($this->ws>0) - { - $this->ws=0; - $this->_out('0 Tw'); - } - if($border and is_int(strpos($border,'B'))) - $b.='B'; - $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); - $this->x=$this->lMargin; -} - -function Write($h,$txt,$link='') -{ - //Output text in flowing mode - $cw=&$this->CurrentFont['cw']; - $w=$this->w-$this->rMargin-$this->x; - $wmax=($w-2*$this->cMargin)*1000/$this->FontSize; - $s=str_replace("\r",'',$txt); - $nb=strlen($s); - $sep=-1; - $i=0; - $j=0; - $l=0; - $nl=1; - while($i<$nb) - { - //Get next character - $c=$s{$i}; - if($c=="\n") - { - //Explicit line break - $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link); - $i++; - $sep=-1; - $j=$i; - $l=0; - if($nl==1) - { - $this->x=$this->lMargin; - $w=$this->w-$this->rMargin-$this->x; - $wmax=($w-2*$this->cMargin)*1000/$this->FontSize; - } - $nl++; - continue; - } - if($c==' ') - $sep=$i; - $l+=$cw[$c]; - if($l>$wmax) - { - //Automatic line break - if($sep==-1) - { - if($this->x>$this->lMargin) - { - //Move to next line - $this->x=$this->lMargin; - $this->y+=$h; - $w=$this->w-$this->rMargin-$this->x; - $wmax=($w-2*$this->cMargin)*1000/$this->FontSize; - $i++; - $nl++; - continue; - } - if($i==$j) - $i++; - $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link); - } - else - { - $this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',0,$link); - $i=$sep+1; - } - $sep=-1; - $j=$i; - $l=0; - if($nl==1) - { - $this->x=$this->lMargin; - $w=$this->w-$this->rMargin-$this->x; - $wmax=($w-2*$this->cMargin)*1000/$this->FontSize; - } - $nl++; - } - else - $i++; - } - //Last chunk - if($i!=$j) - $this->Cell($l/1000*$this->FontSize,$h,substr($s,$j),0,0,'',0,$link); -} - -function Image($file,$x,$y,$w=0,$h=0,$type='',$link='') -{ - //Put an image on the page - if(!isset($this->images[$file])) - { - //First use of image, get info - if($type=='') - { - $pos=strrpos($file,'.'); - if(!$pos) - $this->Error('Image file has no extension and no type was specified: '.$file); - $type=substr($file,$pos+1); - } - $type=strtolower($type); - $mqr=get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - if($type=='jpg' or $type=='jpeg') - $info=$this->_parsejpg($file); - elseif($type=='png') - $info=$this->_parsepng($file); - else - { - //Allow for additional formats - $mtd='_parse'.$type; - if(!method_exists($this,$mtd)) - $this->Error('Unsupported image type: '.$type); - $info=$this->$mtd($file); - } - set_magic_quotes_runtime($mqr); - $info['i']=count($this->images)+1; - $this->images[$file]=$info; - } - else - $info=$this->images[$file]; - //Automatic width and height calculation if needed - if($w==0 and $h==0) - { - //Put image at 72 dpi - $w=$info['w']/$this->k; - $h=$info['h']/$this->k; - } - if($w==0) - $w=$h*$info['w']/$info['h']; - if($h==0) - $h=$w*$info['h']/$info['w']; - $this->_out(sprintf('q %.2f 0 0 %.2f %.2f %.2f cm /I%d Do Q',$w*$this->k,$h*$this->k,$x*$this->k,($this->h-($y+$h))*$this->k,$info['i'])); - if($link) - $this->Link($x,$y,$w,$h,$link); -} - -function Ln($h='') -{ - //Line feed; default value is last cell height - $this->x=$this->lMargin; - if(is_string($h)) - $this->y+=$this->lasth; - else - $this->y+=$h; -} - -function GetX() -{ - //Get x position - return $this->x; -} - -function SetX($x) -{ - //Set x position - if($x>=0) - $this->x=$x; - else - $this->x=$this->w+$x; -} - -function GetY() -{ - //Get y position - return $this->y; -} - -function SetY($y) -{ - //Set y position and reset x - $this->x=$this->lMargin; - if($y>=0) - $this->y=$y; - else - $this->y=$this->h+$y; -} - -function SetXY($x,$y) -{ - //Set x and y positions - $this->SetY($y); - $this->SetX($x); -} - -function Output($name='',$dest='') -{ - //Output PDF to some destination - global $HTTP_SERVER_VARS; - - //Finish document if necessary - if($this->state<3) - $this->Close(); - //Normalize parameters - if(is_bool($dest)) - $dest=$dest ? 'D' : 'F'; - $dest=strtoupper($dest); - if($dest=='') - { - if($name=='') - { - $name='doc.pdf'; - $dest='I'; - } - else - $dest='F'; - } - switch($dest) - { - case 'I': - //Send to standard output - if(isset($HTTP_SERVER_VARS['SERVER_NAME'])) - { - //We send to a browser - Header('Content-Type: application/pdf'); - if(headers_sent()) - $this->Error('Some data has already been output to browser, can\'t send PDF file'); - Header('Content-Length: '.strlen($this->buffer)); - Header('Content-disposition: inline; filename='.$name); - } - echo $this->buffer; - break; - case 'D': - //Download file - if(isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']) and strpos($HTTP_SERVER_VARS['HTTP_USER_AGENT'],'MSIE')) - Header('Content-Type: application/force-download'); - else - Header('Content-Type: application/octet-stream'); - if(headers_sent()) - $this->Error('Some data has already been output to browser, can\'t send PDF file'); - Header('Content-Length: '.strlen($this->buffer)); - Header('Content-disposition: attachment; filename='.$name); - echo $this->buffer; - break; - case 'F': - //Save to local file - $f=fopen($name,'wb'); - if(!$f) - $this->Error('Unable to create output file: '.$name); - fwrite($f,$this->buffer,strlen($this->buffer)); - fclose($f); - break; - case 'S': - //Return as a string - return $this->buffer; - default: - $this->Error('Incorrect output destination: '.$dest); - } - return ''; -} - -/******************************************************************************* -* * -* Protected methods * -* * -*******************************************************************************/ -function _dochecks() -{ - //Check for locale-related bug - if(1.1==1) - $this->Error('Don\'t alter the locale before including class file'); - //Check for decimal separator - if(sprintf('%.1f',1.0)!='1.0') - setlocale(LC_NUMERIC,'C'); -} - -function _begindoc() -{ - //Start document - $this->state=1; - $this->_out('%PDF-1.3'); -} - -function _putpages() -{ - $nb=$this->page; - if(!empty($this->AliasNbPages)) - { - //Replace number of pages - for($n=1;$n<=$nb;$n++) - $this->pages[$n]=str_replace($this->AliasNbPages,$nb,$this->pages[$n]); - } - if($this->DefOrientation=='P') - { - $wPt=$this->fwPt; - $hPt=$this->fhPt; - } - else - { - $wPt=$this->fhPt; - $hPt=$this->fwPt; - } - $filter=($this->compress) ? '/Filter /FlateDecode ' : ''; - for($n=1;$n<=$nb;$n++) - { - //Page - $this->_newobj(); - $this->_out('<_out('/Parent 1 0 R'); - if(isset($this->OrientationChanges[$n])) - $this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$hPt,$wPt)); - $this->_out('/Resources 2 0 R'); - if(isset($this->PageLinks[$n])) - { - //Links - $annots='/Annots ['; - foreach($this->PageLinks[$n] as $pl) - { - $rect=sprintf('%.2f %.2f %.2f %.2f',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]); - $annots.='<_textstring($pl[4]).'>>>>'; - else - { - $l=$this->links[$pl[4]]; - $h=isset($this->OrientationChanges[$l[0]]) ? $wPt : $hPt; - $annots.=sprintf('/Dest [%d 0 R /XYZ 0 %.2f null]>>',1+2*$l[0],$h-$l[1]*$this->k); - } - } - $this->_out($annots.']'); - } - $this->_out('/Contents '.($this->n+1).' 0 R>>'); - $this->_out('endobj'); - //Page content - $p=($this->compress) ? gzcompress($this->pages[$n]) : $this->pages[$n]; - $this->_newobj(); - $this->_out('<<'.$filter.'/Length '.strlen($p).'>>'); - $this->_putstream($p); - $this->_out('endobj'); - } - //Pages root - $this->offsets[1]=strlen($this->buffer); - $this->_out('1 0 obj'); - $this->_out('<_out($kids.']'); - $this->_out('/Count '.$nb); - $this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$wPt,$hPt)); - $this->_out('>>'); - $this->_out('endobj'); -} - -function _putfonts() -{ - $nf=$this->n; - foreach($this->diffs as $diff) - { - //Encodings - $this->_newobj(); - $this->_out('<>'); - $this->_out('endobj'); - } - $mqr=get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - foreach($this->FontFiles as $file=>$info) - { - //Font file embedding - $this->_newobj(); - $this->FontFiles[$file]['n']=$this->n; - if(defined('FPDF_FONTPATH')) - $file=FPDF_FONTPATH.$file; - $size=filesize($file); - if(!$size) - $this->Error('Font file not found'); - $this->_out('<_out('/Filter /FlateDecode'); - $this->_out('/Length1 '.$info['length1']); - if(isset($info['length2'])) - $this->_out('/Length2 '.$info['length2'].' /Length3 0'); - $this->_out('>>'); - $f=fopen($file,'rb'); - $this->_putstream(fread($f,$size)); - fclose($f); - $this->_out('endobj'); - } - set_magic_quotes_runtime($mqr); - foreach($this->fonts as $k=>$font) - { - //Font objects - $this->fonts[$k]['n']=$this->n+1; - $type=$font['type']; - $name=$font['name']; - if($type=='core') - { - //Standard font - $this->_newobj(); - $this->_out('<_out('/BaseFont /'.$name); - $this->_out('/Subtype /Type1'); - if($name!='Symbol' and $name!='ZapfDingbats') - $this->_out('/Encoding /WinAnsiEncoding'); - $this->_out('>>'); - $this->_out('endobj'); - } - elseif($type=='Type1' or $type=='TrueType') - { - //Additional Type1 or TrueType font - $this->_newobj(); - $this->_out('<_out('/BaseFont /'.$name); - $this->_out('/Subtype /'.$type); - $this->_out('/FirstChar 32 /LastChar 255'); - $this->_out('/Widths '.($this->n+1).' 0 R'); - $this->_out('/FontDescriptor '.($this->n+2).' 0 R'); - if($font['enc']) - { - if(isset($font['diff'])) - $this->_out('/Encoding '.($nf+$font['diff']).' 0 R'); - else - $this->_out('/Encoding /WinAnsiEncoding'); - } - $this->_out('>>'); - $this->_out('endobj'); - //Widths - $this->_newobj(); - $cw=&$font['cw']; - $s='['; - for($i=32;$i<=255;$i++) - $s.=$cw[chr($i)].' '; - $this->_out($s.']'); - $this->_out('endobj'); - //Descriptor - $this->_newobj(); - $s='<$v) - $s.=' /'.$k.' '.$v; - $file=$font['file']; - if($file) - $s.=' /FontFile'.($type=='Type1' ? '' : '2').' '.$this->FontFiles[$file]['n'].' 0 R'; - $this->_out($s.'>>'); - $this->_out('endobj'); - } - else - { - //Allow for additional types - $mtd='_put'.strtolower($type); - if(!method_exists($this,$mtd)) - $this->Error('Unsupported font type: '.$type); - $this->$mtd($font); - } - } -} - -function _putimages() -{ - $filter=($this->compress) ? '/Filter /FlateDecode ' : ''; - reset($this->images); - while(list($file,$info)=each($this->images)) - { - $this->_newobj(); - $this->images[$file]['n']=$this->n; - $this->_out('<_out('/Subtype /Image'); - $this->_out('/Width '.$info['w']); - $this->_out('/Height '.$info['h']); - if($info['cs']=='Indexed') - $this->_out('/ColorSpace [/Indexed /DeviceRGB '.(strlen($info['pal'])/3-1).' '.($this->n+1).' 0 R]'); - else - { - $this->_out('/ColorSpace /'.$info['cs']); - if($info['cs']=='DeviceCMYK') - $this->_out('/Decode [1 0 1 0 1 0 1 0]'); - } - $this->_out('/BitsPerComponent '.$info['bpc']); - $this->_out('/Filter /'.$info['f']); - if(isset($info['parms'])) - $this->_out($info['parms']); - if(isset($info['trns']) and is_array($info['trns'])) - { - $trns=''; - for($i=0;$i_out('/Mask ['.$trns.']'); - } - $this->_out('/Length '.strlen($info['data']).'>>'); - $this->_putstream($info['data']); - unset($this->images[$file]['data']); - $this->_out('endobj'); - //Palette - if($info['cs']=='Indexed') - { - $this->_newobj(); - $pal=($this->compress) ? gzcompress($info['pal']) : $info['pal']; - $this->_out('<<'.$filter.'/Length '.strlen($pal).'>>'); - $this->_putstream($pal); - $this->_out('endobj'); - } - } -} - -function _putresources() -{ - $this->_putfonts(); - $this->_putimages(); - //Resource dictionary - $this->offsets[2]=strlen($this->buffer); - $this->_out('2 0 obj'); - $this->_out('<_out('/Font <<'); - foreach($this->fonts as $font) - $this->_out('/F'.$font['i'].' '.$font['n'].' 0 R'); - $this->_out('>>'); - if(count($this->images)) - { - $this->_out('/XObject <<'); - foreach($this->images as $image) - $this->_out('/I'.$image['i'].' '.$image['n'].' 0 R'); - $this->_out('>>'); - } - $this->_out('>>'); - $this->_out('endobj'); -} - -function _putinfo() -{ - $this->_out('/Producer '.$this->_textstring('FPDF '.FPDF_VERSION)); - if(!empty($this->title)) - $this->_out('/Title '.$this->_textstring($this->title)); - if(!empty($this->subject)) - $this->_out('/Subject '.$this->_textstring($this->subject)); - if(!empty($this->author)) - $this->_out('/Author '.$this->_textstring($this->author)); - if(!empty($this->keywords)) - $this->_out('/Keywords '.$this->_textstring($this->keywords)); - if(!empty($this->creator)) - $this->_out('/Creator '.$this->_textstring($this->creator)); - $this->_out('/CreationDate '.$this->_textstring('D:'.date('YmdHis'))); -} - -function _putcatalog() -{ - $this->_out('/Type /Catalog'); - $this->_out('/Pages 1 0 R'); - if($this->ZoomMode=='fullpage') - $this->_out('/OpenAction [3 0 R /Fit]'); - elseif($this->ZoomMode=='fullwidth') - $this->_out('/OpenAction [3 0 R /FitH null]'); - elseif($this->ZoomMode=='real') - $this->_out('/OpenAction [3 0 R /XYZ null null 1]'); - elseif(!is_string($this->ZoomMode)) - $this->_out('/OpenAction [3 0 R /XYZ null null '.($this->ZoomMode/100).']'); - if($this->LayoutMode=='single') - $this->_out('/PageLayout /SinglePage'); - elseif($this->LayoutMode=='continuous') - $this->_out('/PageLayout /OneColumn'); - elseif($this->LayoutMode=='two') - $this->_out('/PageLayout /TwoColumnLeft'); -} - -function _puttrailer() -{ - $this->_out('/Size '.($this->n+1)); - $this->_out('/Root '.$this->n.' 0 R'); - $this->_out('/Info '.($this->n-1).' 0 R'); -} - -function _enddoc() -{ - $this->_putpages(); - $this->_putresources(); - //Info - $this->_newobj(); - $this->_out('<<'); - $this->_putinfo(); - $this->_out('>>'); - $this->_out('endobj'); - //Catalog - $this->_newobj(); - $this->_out('<<'); - $this->_putcatalog(); - $this->_out('>>'); - $this->_out('endobj'); - //Cross-ref - $o=strlen($this->buffer); - $this->_out('xref'); - $this->_out('0 '.($this->n+1)); - $this->_out('0000000000 65535 f '); - for($i=1;$i<=$this->n;$i++) - $this->_out(sprintf('%010d 00000 n ',$this->offsets[$i])); - //Trailer - $this->_out('trailer'); - $this->_out('<<'); - $this->_puttrailer(); - $this->_out('>>'); - $this->_out('startxref'); - $this->_out($o); - $this->_out('%%EOF'); - $this->state=3; -} - -function _beginpage($orientation) -{ - $this->page++; - $this->pages[$this->page]=''; - $this->state=2; - $this->x=$this->lMargin; - $this->y=$this->tMargin; - $this->FontFamily=''; - //Page orientation - if(!$orientation) - $orientation=$this->DefOrientation; - else - { - $orientation=strtoupper($orientation{0}); - if($orientation!=$this->DefOrientation) - $this->OrientationChanges[$this->page]=true; - } - if($orientation!=$this->CurOrientation) - { - //Change orientation - if($orientation=='P') - { - $this->wPt=$this->fwPt; - $this->hPt=$this->fhPt; - $this->w=$this->fw; - $this->h=$this->fh; - } - else - { - $this->wPt=$this->fhPt; - $this->hPt=$this->fwPt; - $this->w=$this->fh; - $this->h=$this->fw; - } - $this->PageBreakTrigger=$this->h-$this->bMargin; - $this->CurOrientation=$orientation; - } -} - -function _endpage() -{ - //End of page contents - $this->state=1; -} - -function _newobj() -{ - //Begin a new object - $this->n++; - $this->offsets[$this->n]=strlen($this->buffer); - $this->_out($this->n.' 0 obj'); -} - -function _dounderline($x,$y,$txt) -{ - //Underline text - $up=$this->CurrentFont['up']; - $ut=$this->CurrentFont['ut']; - $w=$this->GetStringWidth($txt)+$this->ws*substr_count($txt,' '); - return sprintf('%.2f %.2f %.2f %.2f re f',$x*$this->k,($this->h-($y-$up/1000*$this->FontSize))*$this->k,$w*$this->k,-$ut/1000*$this->FontSizePt); -} - -function _parsejpg($file) -{ - //Extract info from a JPEG file - $a=GetImageSize($file); - if(!$a) - $this->Error('Missing or incorrect image file: '.$file); - if($a[2]!=2) - $this->Error('Not a JPEG file: '.$file); - if(!isset($a['channels']) or $a['channels']==3) - $colspace='DeviceRGB'; - elseif($a['channels']==4) - $colspace='DeviceCMYK'; - else - $colspace='DeviceGray'; - $bpc=isset($a['bits']) ? $a['bits'] : 8; - //Read whole file - $f=fopen($file,'rb'); - $data=''; - while(!feof($f)) - $data.=fread($f,4096); - fclose($f); - return array('w'=>$a[0],'h'=>$a[1],'cs'=>$colspace,'bpc'=>$bpc,'f'=>'DCTDecode','data'=>$data); -} - -function _parsepng($file) -{ - //Extract info from a PNG file - $f=fopen($file,'rb'); - if(!$f) - $this->Error('Can\'t open image file: '.$file); - //Check signature - if(fread($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) - $this->Error('Not a PNG file: '.$file); - //Read header chunk - fread($f,4); - if(fread($f,4)!='IHDR') - $this->Error('Incorrect PNG file: '.$file); - $w=$this->_freadint($f); - $h=$this->_freadint($f); - $bpc=ord(fread($f,1)); - if($bpc>8) - $this->Error('16-bit depth not supported: '.$file); - $ct=ord(fread($f,1)); - if($ct==0) - $colspace='DeviceGray'; - elseif($ct==2) - $colspace='DeviceRGB'; - elseif($ct==3) - $colspace='Indexed'; - else - $this->Error('Alpha channel not supported: '.$file); - if(ord(fread($f,1))!=0) - $this->Error('Unknown compression method: '.$file); - if(ord(fread($f,1))!=0) - $this->Error('Unknown filter method: '.$file); - if(ord(fread($f,1))!=0) - $this->Error('Interlacing not supported: '.$file); - fread($f,4); - $parms='/DecodeParms <>'; - //Scan chunks looking for palette, transparency and image data - $pal=''; - $trns=''; - $data=''; - do - { - $n=$this->_freadint($f); - $type=fread($f,4); - if($type=='PLTE') - { - //Read palette - $pal=fread($f,$n); - fread($f,4); - } - elseif($type=='tRNS') - { - //Read transparency info - $t=fread($f,$n); - if($ct==0) - $trns=array(ord(substr($t,1,1))); - elseif($ct==2) - $trns=array(ord(substr($t,1,1)),ord(substr($t,3,1)),ord(substr($t,5,1))); - else - { - $pos=strpos($t,chr(0)); - if(is_int($pos)) - $trns=array($pos); - } - fread($f,4); - } - elseif($type=='IDAT') - { - //Read image data block - $data.=fread($f,$n); - fread($f,4); - } - elseif($type=='IEND') - break; - else - fread($f,$n+4); - } - while($n); - if($colspace=='Indexed' and empty($pal)) - $this->Error('Missing palette in '.$file); - fclose($f); - return array('w'=>$w,'h'=>$h,'cs'=>$colspace,'bpc'=>$bpc,'f'=>'FlateDecode','parms'=>$parms,'pal'=>$pal,'trns'=>$trns,'data'=>$data); -} - -function _freadint($f) -{ - //Read a 4-byte integer from file - $i=ord(fread($f,1))<<24; - $i+=ord(fread($f,1))<<16; - $i+=ord(fread($f,1))<<8; - $i+=ord(fread($f,1)); - return $i; -} - -function _textstring($s) -{ - //Format a text string - return '('.$this->_escape($s).')'; -} - -function _escape($s) -{ - //Add \ before \, ( and ) - return str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$s))); -} - -function _putstream($s) -{ - $this->_out('stream'); - $this->_out($s); - $this->_out('endstream'); -} - -function _out($s) -{ - //Add a line to the document - if($this->state==2) - $this->pages[$this->page].=$s."\n"; - else - $this->buffer.=$s."\n"; -} -//End of class -} - -//Handle special IE contype request -if(isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']) and $HTTP_SERVER_VARS['HTTP_USER_AGENT']=='contype') -{ - Header('Content-Type: application/pdf'); - exit; -} - -} -?> diff --git a/lam/lib/functions.js b/lam/lib/functions.js deleted file mode 100644 index fd118d1d..00000000 --- a/lam/lib/functions.js +++ /dev/null @@ -1,130 +0,0 @@ -/* -$Id$ - - This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - Copyright (C) 2003 Roland Gruber - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -*/ - - -// functions for row checking and mouseOver effects - -// mouseOver function -function user_over(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == false) list.setAttribute('class','userlist-over', 0); -} - -// mouseOut function -function user_out(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == false) list.setAttribute('class','userlist', 0); -} - -// onClick function -function user_click(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == true) { - cbox.checked = false; - list.setAttribute('class','userlist-over', 0); - } - else { - cbox.checked = true; - list.setAttribute('class','userlist-checked', 0); - } -} - - - -// mouseOver function -function group_over(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == false) list.setAttribute('class','grouplist-over', 0); -} - -// mouseOut function -function group_out(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == false) list.setAttribute('class','grouplist', 0); -} - -// onClick function -function group_click(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == true) { - cbox.checked = false; - list.setAttribute('class','grouplist-over', 0); - } - else { - cbox.checked = true; - list.setAttribute('class','grouplist-checked', 0); - } -} - - - -// mouseOver function -function host_over(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == false) list.setAttribute('class','hostlist-over', 0); -} - -// mouseOut function -function host_out(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == false) list.setAttribute('class','hostlist', 0); -} - -// onClick function -function host_click(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == true) { - cbox.checked = false; - list.setAttribute('class','hostlist-over', 0); - } - else { - cbox.checked = true; - list.setAttribute('class','hostlist-checked', 0); - } -} - - - -// mouseOver function -function domain_over(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == false) list.setAttribute('class','domainlist-over', 0); -} - -// mouseOut function -function domain_out(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == false) list.setAttribute('class','domainlist', 0); -} - -// onClick function -function domain_click(list, box) { - cbox = document.getElementsByName(box)[0]; - if (cbox.checked == true) { - cbox.checked = false; - list.setAttribute('class','domainlist-over', 0); - } - else { - cbox.checked = true; - list.setAttribute('class','domainlist-checked', 0); - } -} diff --git a/lam/lib/include.inc b/lam/lib/include.inc deleted file mode 100644 index a25e8b90..00000000 --- a/lam/lib/include.inc +++ /dev/null @@ -1,58 +0,0 @@ - diff --git a/lam/lib/lamdaemon.inc b/lam/lib/lamdaemon.inc deleted file mode 100644 index 88497abb..00000000 --- a/lam/lib/lamdaemon.inc +++ /dev/null @@ -1,91 +0,0 @@ -decrypt_login(); - /* $towrite has the following syntax: - * admin-username, admin-password, owner of homedir, 'home', operation='add' - * use escapeshellarg to make exec() shell-safe - */ - $towrite = escapeshellarg($_SESSION['config']->scriptServer)." ".escapeshellarg($_SESSION['config']->scriptPath)." ". - escapeshellarg($ldap_q[0]).' '.escapeshellarg($ldap_q[1]); - - $userstring = implode ("\n", $commands); - if (function_exists(proc_open)) { - // New Code, requires PHP 4.3 - $descriptorspec = array( - 0 => array("pipe", "r"), // stdin - 1 => array("pipe", "w"), // stout - 2 => array("file", "/dev/null", "a") // sterr - ); - $process = proc_open(escapeshellarg($_SESSION['lampath']."lib/lamdaemon.pl")." ".$towrite, - $descriptorspec, - $pipes); - if (is_resource($process)) { - /* perl-script is running - * $pipes[0] is writeable handle to child stdin - * $pipes[1] is readable handle to child stdout - * any error is send to /dev/null - */ - // Write to stdin - fwrite($pipes[0], $userstring); - } - fclose($pipes[0]); - while (!feof($pipes[1])) { - $output = fgets($pipes[1], 1024); - if ($output!='') $output_array[] = $output; - } - fclose($pipes[1]); - proc_close($process); - } - else { // PHP 4.3> - $command = escapeshellarg($_SESSION['lampath']."lib/lamdaemon.pl")." ".$towrite; - $pipe = popen("echo \"$userstring\"|$command" , 'r'); - while(!feof($pipe)) { - //$output .= fread($pipe, 1024); - $output = fgets($pipe, 1024); - if ($output!='') $output_array[] = $output; - } - pclose($pipe); - } - return $output_array; -} - -?> diff --git a/lam/lib/lamdaemon.pl b/lam/lib/lamdaemon.pl deleted file mode 100755 index 6cff64f6..00000000 --- a/lam/lib/lamdaemon.pl +++ /dev/null @@ -1,228 +0,0 @@ -#! /usr/bin/perl - -# $Id$ -# -# This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) -# Copyright (C) 2003 Tilo Lutz -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# -# LDAP Account Manager daemon to create and delete homedirecotries and quotas - - -#use strict; # Use strict for security reasons - -@quota_grp; -@quota_usr; # Filesystems with enabled userquotas - # vals = DN, PAssword, user, home, (add|rem), - # quota, (set|get),(u|g), (mountpoint,blocksoft,blockhard,filesoft,filehard)+ - # chown options -$|=1; # Disable buffering - -sub get_fs { # Load mountpoints from mtab if enabled quotas - Quota::setmntent(); - my $i=0; - my @args; - while (my @temp = Quota::getmntent()) { - $args[$i][0] = $temp[0]; - $args[$i][1] = $temp[1]; - $args[$i][2] = $temp[2]; - $args[$i][3] = $temp[3]; - $i++; - } - Quota::endmntent(); - my $j=0; my $k=0; $i=0; - while ($args[$i][0]) { - if ( $args[$i][3] =~ m/usrquota/ ) { - $quota_usr[$j][0] = $args[$i][0]; - $quota_usr[$j][1] = $args[$i][1]; - $quota_usr[$j][2] = $args[$i][2]; - $quota_usr[$j][3] = $args[$i][3]; - $j++; - } - if ( $args[$i][3] =~ m/grpquota/ ) { - $quota_grp[$k][0] = $args[$i][0]; - $quota_grp[$k][1] = $args[$i][1]; - $quota_grp[$k][2] = $args[$i][2]; - $quota_grp[$k][3] = $args[$i][3]; - $k++; - } - $i++; - } - } - -# ***************** Check values -if ($( == 0 ) { # we are root - # Drop root Previleges - ($<, $>) = ($>, $<); - if ($ARGV[0] eq "*test") { - use Quota; # Needed to get and set quotas - print "Perl quota module successfully installed.\n"; - print "If you haven't seen any errors lamdaemon.pl was set up successfully.\n"; - } - else { - # loop for every transmitted user - my $string = do {local $/;}; - @input = split ("\n", $string ); - for ($i=0; $i<=$#input; $i++) { - $return = ""; - @vals = split (' ', $input[$i]); - switch: { - # Get user information - if (($vals[3] eq 'user') || ($vals[1] eq 'home')) { @user = getpwnam($vals[0]); } - else { @user = getgrnam($vals[0]); } - $vals[1] eq 'home' && do { - switch2: { - $vals[2] eq 'add' && do { - # split homedir to set all directories below the last dir. to 755 - my $path = $user[7]; - $path =~ s,/(?:[^/]*)$,,; - ($<, $>) = ($>, $<); # Get root privileges - if (! -e $path) { - system 'mkdir', '-m 755', '-p', $path; # Create paths to homedir - } - if (! -e $user[7]) { - system 'mkdir', '-m 755', $user[7]; # Create himdir itself - system "cp -a /etc/skel/* /etc/skel/.[^.]* $user[7]"; # Copy /etc/sekl into homedir - system 'chown', '-R', "$user[2]:$user[3]" , $user[7]; # Change owner to new user - if (-e '/usr/sbin/useradd.local') { - system '/usr/sbin/useradd.local', $user[0]; # run useradd-script - } - } - else { - $return = "ERROR,Lamdaemon,Homedirectory already exists.:$return"; - } - ($<, $>) = ($>, $<); # Give up root previleges - last switch2; - }; - $vals[2] eq 'rem' && do { - ($<, $>) = ($>, $<); # Get root previliges - if (-d $user[7]) { - # Fixme, only delete files owned by user. - system 'rm', '-R', $user[7]; # Delete Homedirectory - if (-e '/usr/sbin/userdel.local') { - system '/usr/sbin/userdel.local', $user[0]; - } - } - else { - $return = "ERROR,Lamdaemon,Homedirectory doesn't exists.:$return"; - } - ($<, $>) = ($>, $<); # Give up root previleges - last switch2; - }; - } - # Show error if undfined command is used - $return = "ERROR,Lamdaemon,Unknown command $vals[2].:$return"; - last switch; - }; - $vals[1] eq 'quota' && do { - use Quota; # Needed to get and set quotas - get_fs(); # Load list of devices with enabled quotas - # Store quota information in array - @quota_temp1 = split (':', $vals[4]); - $group=0; - $i=0; - while ($quota_temp1[$i]) { - $j=0; - @temp = split (',', $quota_temp1[$i]); - while ($temp[$j]) { - $quota[$i][$j] = $temp[$j]; - $j++; - } - $i++; - } - if ($vals[3] eq 'user') { $group=false; } - else { - $group=1; - @quota_usr = @quota_grp; - } - switch2: { - $vals[2] eq 'rem' && do { - $i=0; - ($<, $>) = ($>, $<); # Get root privileges - while ($quota_usr[$i][0]) { - $dev = Quota::getqcarg($quota_usr[$i][1]); - $return = Quota::setqlim($dev,$user[2],0,0,0,0,1,$group); - $i++; - } - ($<, $>) = ($>, $<); # Give up root previleges - last switch2; - }; - $vals[2] eq 'set' && do { - $i=0; - ($<, $>) = ($>, $<); # Get root privileges - while ($quota_usr[$i][0]) { - $dev = Quota::getqcarg($quota[$i][0]); - $return = Quota::setqlim($dev,$user[2],$quota[$i][1],$quota[$i][2],$quota[$i][3],$quota[$i][4],1,$group); - $i++; - } - ($<, $>) = ($>, $<); # Give up root previleges - last switch2; - }; - $vals[2] eq 'get' && do { - $i=0; - ($<, $>) = ($>, $<); # Get root privileges - while ($quota_usr[$i][0]) { - if ($vals[0]ne'+') { - $dev = Quota::getqcarg($quota_usr[$i][1]); - @temp = Quota::query($dev,$user[2],$group); - if ($temp[0]ne'') { - $return = "$quota_usr[$i][1],$temp[0],$temp[1],$temp[2],$temp[3],$temp[4],$temp[5],$temp[6],$temp[7]:$return"; - } - else { $return = "$quota_usr[$i][1],0,0,0,0,0,0,0,0:$return"; } - } - else { $return = "$quota_usr[$i][1],0,0,0,0,0,0,0,0:$return"; } - $i++; - } - ($<, $>) = ($>, $<); # Give up root previleges - last switch2; - }; - $return = "ERROR,Lamdaemon,Unknown command $vals[2].:$return"; - } - }; - last switch; - $return = "ERROR,Lamdaemon,Unknown command $vals[1].:$return"; - }; - print "$return\n"; - } - } - } -else { - $hostname = shift @ARGV; - $remotepath = shift @ARGV; - use Net::SSH::Perl; - if ($ARGV[2] eq "*test") { print "Net::SSH::Perl successfully installed.\n"; } - @username = split (',', $ARGV[0]); - $username[0] =~ s/uid=//; - $password = $ARGV[1]; - # Put all transfered lines in one string - if ($ARGV[2] ne "*test") { - $string = do {local $/;}; - } - else { $argv = "*test\n"; } - my $ssh = Net::SSH::Perl->new($hostname, options=>[ - "UserKnownHostsFile /dev/null"], - protocol => "2,1" ); - $ssh->login($username[0], $password); - # Change needed to prevent buffer overrun - @string2 = split ("\n", $string); - for ($i=0; $i<=$#string2; $i++) { - ($stdout2, $stderr, $exit) = $ssh->cmd("sudo $remotepath $argv", $string2[$i]); - $stdout .= $stdout2; - } - #($stdout, $stderr, $exit) = $ssh->cmd("sudo $remotepath $argv", $string); - print $stdout; - } diff --git a/lam/lib/ldap.inc b/lam/lib/ldap.inc deleted file mode 100644 index 79262fd4..00000000 --- a/lam/lib/ldap.inc +++ /dev/null @@ -1,451 +0,0 @@ -conf = $config; - else return false; - mt_srand((double)microtime()*1000000); - $this->rand = mt_rand(); - return true; - } - - /** - * Connects to the server using the given username and password - * - * @param string $user user name - * @param string $passwd password - * @return mixed if connect succeeds the server handle is returned, else false - */ - function connect($user, $passwd) { - // close any prior connection - @$this->close(); - // do not allow anonymous bind - if ((!$user)||($user == "")||(!$passwd)) { - return false; - } - // save password und username encrypted - $this->encrypt_login($user, $passwd); - $this->server = @ldap_connect($this->conf->get_ServerURL()); - if ($this->server) { - // use LDAPv3 - ldap_set_option($this->server, LDAP_OPT_PROTOCOL_VERSION, 3); - // start TLS if possible - if (function_exists('ldap_start_tls')) { - @ldap_start_tls($this->server); - // connect without TLS if it failed - if (ldap_errno($this->server) != 0) { - @ldap_close($this->server); - $this->server = @ldap_connect($this->conf->get_ServerURL()); - ldap_set_option($this->server, LDAP_OPT_PROTOCOL_VERSION, 3); - } - } - $bind = @ldap_bind($this->server, $user, $passwd); - if ($bind) { - // read objectClasses from server and update capabilities if needed - if (! $this->objectClasses) { - $this->updateClasses(); - $this->updateCapabilities(); - } - // return success number - return ldap_errno($this->server); - } - // return error number - else return ldap_errno($this->server); - } - else return false; - } - - /** Closes connection to server */ - function close() { - @ldap_close($this->server); - } - - /** - * Returns an array with all organizational units under the given suffix - * - * @param string $suffix search suffix - * @return array DNs of organizational units - */ - function search_units($suffix) { - $ret = array(); - $sr = @ldap_search($this->server(), $suffix, "objectClass=organizationalunit", array("DN")); - if ($sr) { - $units = ldap_get_entries($this->server, $sr); - // extract Dns - for ($i = 0; $i < sizeof($units); $i++) { - if ($units[$i]['dn']) $ret[] = $units[$i]['dn']; - } - } - // add root suffix if needed - $found = false; - for ($i = 0; $i < sizeof($ret); $i++) { // search suffix case-intensitive - if (strtolower($suffix) == strtolower($ret[$i])) { - $found = true; - break; - } - } - if (!$found) { - $ret[] = $suffix; - } - usort($ret, array($this,"cmp_array")); - return $ret; - } - - /** Reads the array of objectClasses from the LDAP server */ - function updateClasses() { - // read from default cn - $sr = @ldap_read($this->server, 'cn=subschema', '(objectClass=*)', array('objectclasses')); - // if default was not correct check different cn - if (!$sr) $sr = @ldap_read($this->server, 'cn=schema', '(objectClass=*)', array('objectclasses')); - if ($sr) { - // get search result and save it - $info = @ldap_get_entries($this->server,$sr); - if ($info) { - $this->objectClasses = $info[0]['objectclasses']; - array_shift($this->objectClasses); - } - } - // if search failed save empty result - else $this->objectClasses = array(); - - // read from default cn - $sr = @ldap_read($this->server, 'cn=subschema', '(objectClass=*)', array('attributetypes')); - // if default was not correct check different cn - if (!$sr) $sr = @ldap_read($this->server, 'cn=schema', '(objectClass=*)', array('attributetypes')); - if ($sr) { - // get search result and save it - $info = @ldap_get_entries($this->server,$sr); - if ($info) { - $attributes = $info[0]['attributetypes']; - array_shift($attributes); - } - } - // build Attribute list - for ($i=0; $iattributes[$name] = $values; - $start = $end + 3; - } - } - else { - $end = $start; - while ($attributes[$i][$end]!='\'') $end++; - $name = substr($attributes[$i], $start, $end-$start); - $this->attributes[$name] = $values; - } - } - } - - /** Updates the capabilities values (var $supports_*) */ - function updateCapabilities() { - for ($i = 0; $i < sizeof($this->objectClasses); $i++) { - $line = $this->objectClasses[$i]; - // search keywords - if (strpos($line, "NAME 'inetOrgPerson'") && strpos($line, " host ")) $this->supports_unix_hosts = true; - if (strpos($line, "NAME 'sambaAccount'")) $this->supports_samba2_schema = true; - if (strpos($line, "NAME 'sambaSamAccount'")) $this->supports_samba3_schema = true; - } - } - - /** - * Returns the LDAP connection handle - * - * @return object connection handle - */ - function server() { - return $this->server; - } - - /** Closes connection to LDAP server before serialization */ - function __sleep() { - $this->close(); - // define which attributes to save - return array("conf", "username", "password", "ldapUserAttributes", "ldapGroupAttributes", - "ldapHostAttributes", "objectClasses", "attributes", "supports_unix_hosts", "supports_samba2_schema", - "supports_samba3_schema", "rand"); - } - - /** Reconnects to LDAP server when deserialized */ - function __wakeup() { - $data = $this->decrypt_login(); - $this->connect($data[0], $data[1]); - // change random number - mt_srand($this->rand + (microtime() * 1000000)); - $this->rand = mt_rand(); - // delete PDF files which are older than 10 min - if (isset($_SESSION['lampath'])) { - $relpath = $_SESSION['lampath'] . 'tmp/'; - $time = time(); - $dir = @opendir($relpath); - while ($file = @readdir($dir)) { - if (substr($file, -4) == '.pdf') { - $path = $relpath . $file; - if ($time - filemtime($path) > 600) { - @unlink($path); - } - } - } - @closedir($dir); - } - } - - /** Calculates a new value for rand */ - function new_rand() { - // change random number - mt_srand($this->rand + (microtime() * 1000000)); - $this->rand = mt_rand(); - } - - /** - * Encrypts a string - * - * @param string $data string to encrypt - * @return object encrypted string - */ - function encrypt($data) { - // use MCrypt if available - if (function_exists('mcrypt_create_iv')) { - // read key and iv from cookie - $iv = base64_decode($_COOKIE["IV"]); - $key = base64_decode($_COOKIE["Key"]); - // encrypt string - return mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_ECB, $iv); - } - // use Blowfish if MCrypt is not available - else { - // read key and iv from cookie - $iv = base64_decode($_COOKIE["IV"]); - $key = base64_decode($_COOKIE["Key"]); - $b_key = $iv . $key; - // encrypt string - $b_fish = new Cipher_blowfish(); - return $b_fish->encrypt($data, $b_key); - } - } - - /** - * Decrypts a string - * - * @param object $data string to decrypt - * @return string decrypted string - */ - function decrypt($data) { - // use MCrypt if available - if (function_exists('mcrypt_create_iv')) { - // read key and iv from cookie - $iv = base64_decode($_COOKIE["IV"]); - $key = base64_decode($_COOKIE["Key"]); - // decrypt string - $ret = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_ECB, $iv); - $ret = str_replace(chr(00), "", $ret); - return $ret; - } - // use Blowfish if MCrypt is not available - else { - // read key and iv from cookie - $iv = base64_decode($_COOKIE["IV"]); - $key = base64_decode($_COOKIE["Key"]); - $b_key = $iv . $key; - // decrypt string - $b_fish = new Cipher_blowfish(); - return $b_fish->decrypt($data, $b_key); - } - } - - /** - * Encrypts username and password - * - * @param string $username LDAP user name - * @param string $password LDAP password - */ - function encrypt_login($username, $password) { - // encrypt username and password - $this->username = base64_encode($this->encrypt($username)); - $this->password = base64_encode($this->encrypt($password)); - } - - /** - * Decrypts username and password - * - * @return array array(user name, password) - */ - function decrypt_login() { - // decrypt username and password - $username = $this->decrypt(base64_decode($this->username)); - $password = $this->decrypt(base64_decode($this->password)); - $ret = array($username, $password); - return $ret; - } - - /** Closes connection to LDAP server and deletes encrypted username/password */ - function destroy() { - $this->close(); - $this->username="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; - $this->password="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; - } - - - /** - * Helper function to sort the unit DNs - * - * @param string $a first argument to compare - * @param string $b second argument to compare - * @return integer 0 if equal, 1 if $a is greater, -1 if $b is greater - */ - function cmp_array($a, $b) { - // split DNs - $array_a = explode(",", $a); - $array_b = explode(",", $b); - $len_a = sizeof($array_a); - $len_b = sizeof($array_b); - // check how many parts to compare - $len = min($len_a, $len_b); - // compare from last part on - for ($i = 0; $i < $len; $i++) { - // get parts to compare - $part_a = strtolower($array_a[$len_a - $i - 1]); - $part_b = strtolower($array_b[$len_b - $i - 1]); - // compare parts - if ($part_a == $part_b) { // part is identical - if ($i == ($len - 1)) { - if ($len_a > $len_b) return 1; - elseif ($len_a < $len_b) return -1; - else return 0; // DNs are identical - } - } - elseif ($part_a == max($part_a, $part_b)) return 1; - else return -1; - } - return -1; - } - - -} - -?> diff --git a/lam/lib/lists.inc b/lam/lib/lists.inc deleted file mode 100644 index 14747323..00000000 --- a/lam/lib/lists.inc +++ /dev/null @@ -1,223 +0,0 @@ -\n"); - echo("\n"); - echo("  "); - if ($page != 1) { - echo("<=\n"); - } - else { - echo("<="); - } - echo(" "); - - if ($page < ($count / $max_page_entries)) { - echo("=>\n"); - } - else { - echo("=>"); - } - - echo(""); - echo" "; - printf($text, $count); - echo(""); - - echo(""); - for ($i = 0; $i < ($count / $max_page_entries); $i++) { - if ($i == $page - 1) { - echo(" " . ($i + 1)); - } - else { - echo(" " . ($i + 1) . "\n"); - } - } - echo("\n"); -} - -/** -* Prints the attribute and filter row at the account table head -* -* @param string $scope account type (user, group, host) -* @param string $searchFilter search filter for hyperlinks -* @param array $desc_array list of attribute descriptions -* @param array $attr_array list of attribute names -* @param array $_POST HTTP-POST values -* @param string $sort sort attribute -*/ -function listPrintTableHeader($scope, $searchFilter, $desc_array, $attr_array, $_POST, $sort) { - // print table header - echo "\n"; - echo "\n\n\n"; - // table header - for ($k = 0; $k < sizeof($desc_array); $k++) { - if (strtolower($attr_array[$k]) == $sort) { - echo "\n"; - } - else echo "\n"; - } - echo "\n"; - - // print filter row - echo "\n\n\n"; - // print input boxes for filters - for ($k = 0; $k < sizeof ($desc_array); $k++) { - echo "\n"; - } - echo "\n"; -} - - -/** -* Returns the LDAP attribute names and their description for the user list -* -* @return array list of LDAP attributes and descriptions -*/ -function listGetAttributeUserArray() { - return array ( - "uid" => _("User ID"), - "uidnumber" => _("UID number"), - "gidnumber" => _("GID number"), - "cn" => _("Username"), - "host" => _("Allowed hosts"), - "givenname" => _("First name"), - "sn" => _("Last name"), - "homedirectory" => _("Home directory"), - "loginshell" => _("Login shell"), - "mail" => _("E-Mail"), - "gecos" => _("Description") - ); -} - -/** -* Returns the LDAP attribute names and their description for the group list -* -* @return array list of LDAP attributes and descriptions -*/ -function listGetAttributeGroupArray() { - return array ( - "cn" => _("Group name"), - "gidnumber" => _("GID number"), - "memberuid" => _("Group members"), - "member" => _("Group member DNs"), - "description" => _("Group description") - ); -} - -/** -* Returns the LDAP attribute names and their description for the host list -* -* @return array list of LDAP attributes and descriptions -*/ -function listGetAttributeHostArray() { - return array ( - "uid" => _("Host username"), - "cn" => _("Host name"), - "rid" => _("RID (Windows UID)"), - "description" => _("Host description"), - "uidnumber" => _("UID number"), - "gidnumber" => _("GID number") - ); -} - - -?> \ No newline at end of file diff --git a/lam/lib/modules.inc b/lam/lib/modules.inc deleted file mode 100644 index 166c8a3a..00000000 --- a/lam/lib/modules.inc +++ /dev/null @@ -1,1478 +0,0 @@ -read()) -if ((substr($entry, strlen($entry) - 4, 4) == '.inc') && is_file($modulesINC_dirname . '/'.$entry)) { - include_once($modulesINC_dirname . '/'.$entry); -} - -/** -* Returns the alias name of a module -* -* @param string $name the module name -* @param string $scope the account type ("user", "group", "host") -* @return string alias name -*/ -function getModuleAlias($name, $scope) { - $module = new $name($scope); - return $module->get_alias(); -} - -/** -* Returns true if the module is a base module -* -* @param string $name the module name -* @param string $scope the account type ("user", "group", "host") -* @return boolean true if base module -*/ -function is_base_module($name, $scope) { - $module = new $name($scope); - return $module->is_base_module(); -} - -/** -* Returns the LDAP filter used by the account lists -* -* @param string $scope the account type ("user", "group", "host") -* @return string LDAP filter -*/ -function get_ldap_filter($scope) { - $mods = $_SESSION['config']->get_AccountModules($scope); - $filters = array(); - $orFilter = ''; - for ($i = 0; $i < sizeof($mods); $i++) { - if (is_base_module($mods[$i], $scope)) { - $module = new $mods[$i]($scope); - $modinfo = $module->get_ldap_filter(); - if (isset($modinfo['or'])) $filters['or'][] = $modinfo['or']; - if (isset($modinfo['and'])) $filters['and'][] = $modinfo['and']; - } - } - // build OR filter - if (sizeof($filters['or']) == 1) { - $orFilter = $filters['or'][0]; - } - elseif (sizeof($filters['or']) > 1) { - $orFilter = "(|" . implode("", $filters['or']) . ")"; - } - // add built OR filter to AND filters - if ($orFilter != '') $filters['and'][] = $orFilter; - // collapse AND filters - if (sizeof($filters['and']) < 2) return $filters['and'][0]; - else return "(&" . implode("", $filters['and']) . ")"; -} - -/** -* Returns a list of LDAP attributes which can be used to form the RDN. -* -* The list is already sorted by the priority given by the nodules. -* -* @param string $scope account type (user, group, host) -* @return array list of LDAP attributes -*/ -function getRDNAttributes($scope) { - $mods = $_SESSION['config']->get_AccountModules($scope); - $return = array(); - $attrs_low = array(); - $attrs_normal = array(); - $attrs_high = array(); - for ($i = 0; $i < sizeof($mods); $i++) { - // get list of attributes - $module = new $mods[$i]($scope); - $attrs = $module->get_RDNAttributes(); - $keys = array_keys($attrs); - // sort attributes - for ($k = 0; $k < sizeof($keys); $k++) { - switch ($attrs[$keys[$k]]) { - case "low": - $attrs_low[] = $keys[$k]; - break; - case "normal": - $attrs_normal[] = $keys[$k]; - break; - case "high": - $attrs_high[] = $keys[$k]; - break; - default: - $attrs_low[] = $keys[$k]; - break; - } - } - } - // merge arrays - $return = $attrs_high; - for ($i = 0; $i < sizeof($attrs_normal); $i++) $return[] = $attrs_normal[$i]; - for ($i = 0; $i < sizeof($attrs_low); $i++) $return[] = $attrs_low[$i]; - $return = array_values(array_unique($return)); - return $return; -} - -/** -* Returns a hash array (module name => dependencies) of all module dependencies -* -* "dependencies" contains an array with two sub arrays: depends, conflicts -*
The elements of "depends" are either module names or an array of module names (OR-case). -*
The elements of conflicts are module names. -* -* @param string $scope the account type (user, group, host) -* @return array dependencies -*/ -function getModulesDependencies($scope) { - $mods = getAvailableModules($scope); - for ($i = 0; $i < sizeof($mods); $i++) { - $module = new $mods[$i]($scope); - $return[$mods[$i]] = $module->get_dependencies(); - } - return $return; -} - - -/** -* Checks if there are missing dependencies between modules. -* -* @param array $selected selected module names -* @param array $deps module dependencies -* @return mixed false if no misssing dependency was found, -* otherwise an array of array(selected module, depending module) if missing dependencies were found -*/ -function check_module_depends($selected, $deps) { - $ret = array(); - for ($m = 0; $m < sizeof($selected); $m++) { // check selected modules - for ($i = 0; $i < sizeof($deps[$selected[$m]]['depends']); $i++) { // check dependencies of module - // check if we have OR-combined modules - if (is_array($deps[$selected[$m]]['depends'][$i])) { - // one of the elements is needed - $found = false; - $depends = $deps[$selected[$m]]['depends'][$i]; - for ($d = 0; $d < sizeof($depends); $d++) { - if (in_array($depends[$d], $selected)) { - $found = true; - break; - } - } - if (! $found) { - // missing dependency, add to return value - $ret[] = array($selected[$m], implode(" || ", $depends)); - } - } - else { - // single dependency - if (! in_array($deps[$selected[$m]]['depends'][$i], $selected)) { - // missing dependency, add to return value - $ret[] = array($selected[$m], $deps[$selected[$m]]['depends'][$i]); - } - } - } - } - if (sizeof($ret) > 0) return $ret; - else return false; -} - -/** -* Checks if there are conflicts between modules -* -* @param array $selected selected module names -* @param array $deps module dependencies -* @return false if no conflict was found, -* otherwise an array of array(selected module, conflicting module) if conflicts were found -*/ -function check_module_conflicts($selected, $deps) { - $ret = array(); - for ($m = 0; $m < sizeof($selected); $m++) { - for ($i = 0; $i < sizeof($deps[$selected[$m]]['conflicts']); $i++) { - if (in_array($deps[$selected[$m]]['conflicts'][$i], $selected)) { - $ret[] = array($selected[$m], $deps[$selected[$m]]['conflicts'][$i]); - } - } - } - if (sizeof($ret) > 0) return $ret; - else return false; -} - -/** -* Returns an array with all available user module names -* -* @param string $scope account type (user, group, host) -* @return array list of possible modules -*/ -function getAvailableModules($scope) { - $dirname = substr(__FILE__, 0, strlen(__FILE__) - 12) . "/modules"; - $dir = dir($dirname); - $return = array(); - // get module names. - while ($entry = $dir->read()) - if ((substr($entry, strlen($entry) - 4, 4) == '.inc') && is_file($dirname . '/'.$entry)) { - $entry = substr($entry, 0, strpos($entry, '.')); - $temp = new $entry($scope); - if ($temp->can_manage()) $return[] = $entry; - } - return $return; -} - -/** -* Returns the elements for the profile page. -* -* @param string $scope account type (user, group, host) -* @return array profile elements -*/ -function getProfileOptions($scope) { - $mods = $_SESSION['config']->get_AccountModules($scope); - $return = array(); - for ($i = 0; $i < sizeof($mods); $i++) { - $module = new $mods[$i]($scope); - $return[$mods[$i]] = $module->get_profileOptions(); - } - return $return; -} - -/** -* Checks if the profile options are valid -* -* @param string $scope account type (user, group, host) -* @param array $options hash array containing all options (name => array(...)) -* @return array list of error messages -*/ -function checkProfileOptions($scope, $options) { - $mods = $_SESSION['config']->get_AccountModules($scope); - $return = array(); - for ($i = 0; $i < sizeof($mods); $i++) { - $module = new $mods[$i]($scope); - $temp = $module->check_profileOptions($options); - $return = array_merge($return, $temp); - } - return $return; -} - -/** -* Returns a hash array (module name => elements) of all module options for the configuration page. -* -* @param array $scopes hash array (module name => array(account types)) -* @return array configuration options -*/ -function getConfigOptions($scopes) { - $return = array(); - $modules = array_keys($scopes); - for ($i = 0; $i < sizeof($modules); $i++) { - $m = new $modules[$i]('none'); - $return[$modules[$i]] = $m->get_configOptions($scopes[$modules[$i]]); - } - return $return; -} - -/** -* Returns a hash array (module name => descriptions) containing descriptions shown on configuration pages. -* -* The returned array has the format array('legend' => array('posixAccount' => '...', ...), descriptions => array('option1' => '...', ...)). -*
The "legend" value is used as text for the fieldset, the descriptions are used when the configuration is printed. -* -* @return array configuration descriptions -*/ -function getConfigDescriptions() { - $return = array('legend' => array(), 'descriptions' => array()); - $modules = array_merge(getAvailableModules('user'), getAvailableModules('group'), getAvailableModules('host')); - $modules = array_values(array_unique($modules)); - for ($i = 0; $i < sizeof($modules); $i++) { - $m = new $modules[$i]('none'); - $desc = $m->get_configDescriptions(); - $return['legend'][$modules[$i]] = $desc['legend']; - $return['descriptions'] = array_merge($return['descriptions'], $desc['descriptions']); - } - return $return; -} - -/** -* Checks if the configuration options are valid -* -* @param array $scopes hash array (module name => array(account types)) -* @param array $options hash array containing all options (name => array(...)) -* @return array list of error messages -*/ -function checkConfigOptions($scopes, $options) { - $return = array(); - $modules = array_keys($scopes); - for ($i = 0; $i < sizeof($modules); $i++) { - $m = new $modules[$i]('none'); - $errors = $m->check_configOptions($scopes[$modules[$i]], $options); - $return = array_merge($return, $errors); - } - return $return; -} - -/** -* Returns a help entry from an account module. -* -* @param string $helpID help identifier -* @param string $module module name -* @return array help entry -*/ -function getHelp($module,$helpID,$scope='') { - $moduleObject = new $module((($scope != '') ? $scope : 'none')); - return $moduleObject->get_help($helpID); -} - -/** -* Returns a list of available PDF entries. -* -* @param string $scope account type (user, group, host) -* @return array PDF entries -*/ -function getAvailablePDFFields($scope) { - // create new account container if needed - if (! isset($_SESSION["profile_account_$scope"])) { - $_SESSION["profile_account_$scope"] = new accountContainer($scope, "profile_account_$scope"); - $_SESSION["profile_account_$scope"]->new_account(); - } - // get options - return $_SESSION["profile_account_$scope"]->getAvailablePDFFields(); -} - -/** - * Return a list of current available scopes - * - * @return array Available scopes - */ -function getAvailableScopes() { - return array('user','group','host', 'domain'); -} - -/** -* Returns an array containing all input columns for the file upload. -* -* Syntax: -*
array( -*
string: name, // fixed non-translated name which is used as column name (should be of format: _) -*
string: description, // short descriptive name -*
string: help, // help ID -*
string: example, // example value -*
boolean: required // true, if user must set a value for this column -*
) -* -* @param string $scope account type -* @return array column list -*/ -function getUploadColumns($scope) { - $mods = $_SESSION['config']->get_AccountModules($scope); - $return = array(); - for ($i = 0; $i < sizeof($mods); $i++) { - $module = new $mods[$i]($scope); - $return[$mods[$i]] = $module->get_uploadColumns(); - } - return $return; -} - -/** -* This function builds the LDAP accounts for the file upload. -* -* If there are problems status messages will be printed automatically. -* -* @param string $scope account type -* @param array $data array containing one account in each element -* @param array $ids array( => ) -* @return mixed array including accounts or false if there were errors -*/ -function buildUploadAccounts($scope, $data, $ids) { - // build module order - $unOrdered = $_SESSION['config']->get_AccountModules($scope); - $ordered = array(); - $predepends = array(); - // get dependencies - for ($i = 0; $i < sizeof($unOrdered); $i++) { - $mod = new $unOrdered[$i]($scope); - $predepends[$unOrdered[$i]] = $mod->get_uploadPreDepends(); - } - // first all modules without predepends can be ordered - for ($i = 0; $i < sizeof($unOrdered); $i++) { - if (sizeof($predepends[$unOrdered[$i]]) == 0) { - $ordered[] = $unOrdered[$i]; - unset($unOrdered[$i]); - $unOrdered = array_values($unOrdered); - $i--; - } - } - $unOrdered = array_values($unOrdered); // fix indexes - // now add all modules with fulfilled dependencies until all are in order - while (sizeof($unOrdered) > 0) { - $newRound = false; - for ($i = 0; $i < sizeof($unOrdered); $i++) { - $deps = $predepends[$unOrdered[$i]]; - $depends = false; - for ($d = 0; $d < sizeof($deps); $d++) { - if (in_array($deps[$d], $unOrdered)) { - $depends = true; - break; - } - } - if (!$depends) { // add to order if dependencies are fulfilled - $ordered[] = $unOrdered[$i]; - unset($unOrdered[$i]); - $unOrdered = array_values($unOrdered); - $newRound = true; - break; - } - } - if ($newRound) continue; - // this point should never be reached, LAM was unable to find a correct module order - StatusMessage("ERROR", "Internal Error: Unable to find correct module order.", ""); - return false; - } - // give raw data to modules - $errors = array(); - $partialAccounts = array(); - for ($i = 0; $i < sizeof($data); $i++) $partialAccounts[$i]['objectClass'] = array(); - for ($i = 0; $i < sizeof($ordered); $i++) { - $module = new $ordered[$i]($scope); - $errors = $module->build_uploadAccounts($data, $ids, $partialAccounts); - if (sizeof($errors) > 0) { - array_unshift($errors, array("INFO", _("Displayed account numbers start at \"0\". Add 2 to get the row in your spreadsheet."), "")); - $errors[] = array("ERROR", _("Upload was stopped after errors in %s module!"), "", array($module->get_alias())); - break; - } - } - if (sizeof($errors) > 0) { - for ($i = 0; (($i < sizeof($errors)) || ($i > 49)); $i++) call_user_func_array("StatusMessage", $errors[$i]); - return false; - } - else return $partialAccounts; -} - -/** -* This function executes one post upload action. -* -* @param string $scope account type -* @param array $data array containing one account in each element -* @param array $ids array( => ) -* @param array $failed list of accounts which were not created successfully -* @return array current status -*
array ( -*
'status' => 'finished' | 'inProgress' -*
'module' => -*
'progress' => 0..100 -*
'errors' => array () -*
) -*/ -function doUploadPostActions($scope, $data, $ids, $failed) { - // check if function is called the first time - if (! isset($_SESSION['mass_postActions']['remainingModules'])) { - // make list of remaining modules - $moduleList = $_SESSION['config']->get_AccountModules($scope); - $_SESSION['mass_postActions']['remainingModules'] = $moduleList; - } - $activeModule = $_SESSION['mass_postActions']['remainingModules'][0]; - // initialize temporary variable - if (!isset($_SESSION['mass_postActions'][$activeModule])) { - $_SESSION['mass_postActions'][$activeModule] = array(); - } - // let first module do one post action - $module = new $activeModule($scope); - $return = $module->doUploadPostActions($data, $ids, $failed, $_SESSION['mass_postActions'][$activeModule]); - // remove active module from list if already finished - if ($return['status'] == 'finished') { - unset($_SESSION['mass_postActions']['remainingModules'][0]); - $_SESSION['mass_postActions']['remainingModules'] = array_values($_SESSION['mass_postActions']['remainingModules']); - } - // update status and return back to upload page - $return['module'] = $activeModule; - if (sizeof($_SESSION['mass_postActions']['remainingModules']) > 0) { - $return['status'] = 'inProgress'; - } - else { - $return['status'] = 'finished'; - } - return $return; -} - - -/** -* This class includes all modules and attributes of an account. -* -* @package modules -*/ -class accountContainer { - // Constructor - function accountContainer($type, $base) { - /* Set the type of account. Valid - * types are: user, group, host - */ - // Check input variable - - if (!is_string($type)) trigger_error('Argument of accountContainer must be string.', E_USER_ERROR); - if (!is_string($base)) trigger_error('Argument of accountContainer must be string.', E_USER_ERROR); - // *** fixme use global variable to determine allowed types - if (!in_array($type, getAvailableScopes())) trigger_error('Account type not recognized.', E_USER_ERROR); - $this->type = $type; - $this->base = $base; - // Set startpage - $this->current_page=0; - $this->subpage='attributes'; - return 0; - } - - /* Array of all used attributes - * Syntax is attribute => array ( objectClass => MUST or MAY, ...) - */ - var $attributes; - /* This variale stores the type - * of account. Current unix, group, host are supported - */ - var $type; - var $module; // This is an array with all module objects - // DN of the account - var $dn; - var $dn_orig; - // this are stores the module order - var $order; - // name of accountContainer so we can read other classes in accuontArray - var $base; - // This variable stores the number of the current displayed page - var $current_page; - // This variable os set to the pagename of a subpage if it should be displayed - var $subpage; - - - /* Get the type of account. Valid - * types are: user, group, host - */ - function get_type() { - return $this->type; - } - - function continue_main($post) { - if ($this->subpage=='') $this->subpage='attributes'; - if ($post['form_main_reset']) { - $this->load_account($this->dn_orig); - } - else { - if ($this->current_page==0) { - if ($this->subpage=='attributes') { - $result = 0; - // change dn - if ($post['suffix']!='') $this->dn = $post['suffix']; - - // load profile - if ($post['selectLoadProfile'] && $post['loadProfile']) { - // *** fixme load*Profile must return array in the same way ldap_get_attributes does. - $newattributes = loadAccountProfile($post['selectLoadProfile'], $scope); - // pass newattributes to each module - $modules = array_keys($this->module); - foreach ($modules as $module) $this->module[$module]->load_attributes($newattributes); - $result = 0; - } - // save account - if ($post['create']) { - $errors = $this->save_account(); - if (is_array($errors)) $result = array($errors); - // return name of subpage - $result = 'finish'; - } - // save profile - if ($post['saveProfile']) { - if ($post['selectSaveProfile']=='') $errors['saveProfile'][] = array('ERROR', _('Save profile'), _('No profilename given.')); - else { - //saveAccountProfile($scope); // TODO missing parameters, remove? - if ($function) $errors['saveProfile'][] = array('INFO', _('Save profile'), _('New profile created.')); - else $errors['saveProfile'][] = array('ERROR', _('Save profile'), _('Wrong profilename given.')); - } - if (is_array($errors)) $result = $errors; - else $result = 0; - } - } - if ($this->subpage=='finish') { - if ($post['createagain']) { - // Reset objects - $modules = array_keys($this->module); - foreach ($modules as $module) unset($this->module[$module]); - // Reset accountContainer - $this->dn = ''; - $this->dn_orig = ''; - $this->attributes = array(); - $this->order = array(); - $this->current_page = 0; - $this->subpage = ''; - // Add all required objects etc. - $this->new_account(); - $result = 0; - } - if ($post['backmain']) { - // Return to *-list - // *** fixme unset accountContainer in session - metaRefresh("../lists/list".$this->type."s.php"); - exit; - } - if ($post['outputpdf']) { - // Create / display PDf-file - $function = 'create'.ucfirst($this->type).'PDF(array($_SESSION[$this->base]));'; - //eval($function); - call_user_func('create'.ucfirst($this->type).'PDF', array($_SESSION[$this->base])); - exit; - } - } - } - else $result = call_user_func(array(&$this->module[$this->order[$this->current_page]], 'proccess_'.$this->subpage), &$post); - } - if (is_string($result)) $this->subpage = $result; - if (is_int($result)) { - if ($post['form_main_main']) { - $this->current_page = 0; - $this->subpage='attributes'; - } - else for ($i=1; $iorder); $i++ ) - if ($post['form_main_'.$this->order[$i]] && ($this->module[$this->order[$i]]->module_ready())) { - $this->current_page = $i; - $this->subpage='attributes'; - } - } - // Write HTML-Code - echo $_SESSION['header']; - echo ""; - if ($this->dn_orig!='') echo _("Modify Account"); - else echo _("Create new Account"); - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - // Display error-messages - if (is_array($result)) - foreach ($result as $result2) - if (is_array($result2)) - for ($i=0; $i\n
\n
" . $desc_array[$k] . "" . $desc_array[$k] . "
"; - echo ""; - echo ""; - echo (""); - echo "
"; - echo ""; - - echo "\n"; - echo "
type."edit-dark\">type."edit-bright\">"; - echo _('Please select page:'); - echo "\n"; - $x=0; - // print normal button - echo "\n
"; - $x++; - // Loop for module - // $x is used to count up tabindex - for ($i=1; $iorder); $i++ ) { - // print normal button - echo "order[$i]."\" type=\"submit\" value=\""; - echo $this->module[$this->order[$i]]->get_alias(); - echo "\" tabindex=$x>\n
"; - $x++; - } - if ($this->dn_orig!='') echo "
\n"; - echo "
"; - if ($this->current_page==0) { - echo "
type."edit-dark\">type."edit-bright\">"; - echo _('Main'); - echo "\n"; - } - else { - echo "
type."edit-dark\">type."edit-bright\">"; - echo $this->module[$this->order[$this->current_page]]->get_alias($type); - echo "\n"; - } - // display html-code from mdule - if ($this->current_page==0) { - if ($this->subpage=='attributes') { - $modules = array_keys($this->module); - $table = array(); - $disabled = false; - foreach ($modules as $module) { - if (!$this->module[$module]->module_complete()) { - $disabled = true; - $table[] = array ( 0 => array ( 'kind' => 'message', 'type' => 'ERROR', 'headline' => _('Some required information is missing'), - 'text' => sprintf(_('Please set up all required attributes on page: %s'), $this->module[$module]->get_alias()) )); - } - } - } - - if (count($table)!=0) $return[] = array ( 0 => array ( 'kind' => 'table', 'value' => $table ) ); - // loop through all suffixes - $rootsuffix = call_user_func(array(&$_SESSION['config'], 'get_' . ucfirst($this->type) . 'Suffix')); - foreach ($_SESSION['ldap']->search_units($rootsuffix) as $suffix) { - if ($this->dn == $suffix) $option_selected = $suffix; - $suffixes[] = $suffix; - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Suffix') ), - 1 => array ( 'kind' => 'select', 'name' => 'suffix', 'options' => $suffixes, - 'option_selected' => array($option_selected) ), - 2 => array ('kind' => 'help', 'value' => 'suffix')); - - // Get list of profiles - $profilelist = getAccountProfiles($this->type); - if (count($profilelist)!=0) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _("Load profile") ), - 1 => array ( 'kind' => 'select', 'name' => 'selectLoadProfile', 'options' => $profilelist ), - 2 => array ('kind' => 'help', 'value' => 'selectLoadProfile')); - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _("Save profile") ), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( - 0 => array ( 'kind' => 'input', 'name' => 'selectSaveProfile', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', ), - 1 => array ('kind' => 'input', 'name' => 'saveProfile', 'type' => 'submit', - 'value' => _('Save profile'), 'disabled' => $disabled))) ), - 2 => array ('kind' => 'help', 'value' => 'saveProfile')); - if ($this->dn_orig!='') $text = _('Modify Account'); - else $text = _('Create Account'); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => $text ), - 1 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'create', 'value' => $text ), - 2 => array ('kind' => 'help', 'value' => 'create')); - if ($this->subpage=='finish') { - // Show success message - if ($this->dn_orig == '') { - $text = _("Account was created successfully."); - } - else { - $text = _("Account was modified successfully."); - } - $return[] = array ( 0 => array ( 'kind' => 'message', 'type' => 'INFO', 'headline' => _('LDAP operation successful.'), - 'text' => $text )); - - $return[] = array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'createagain', - 'value' => _('Create another account')), - 1 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'outputpdf', - 'value' => _('Create PDF file') ), - 2 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'backmain', - 'value' => _('Back to account list'))); - } - } - else $return = call_user_func(array($this->module[$this->order[$this->current_page]], 'display_html_'.$this->subpage), &$post); - $this->parse_html($this->order[$this->current_page], $return); - // Display rest of html-page - echo "
\n"; - echo "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - return 0; - } - - function parse_html($module, $input, $y=5000, $z=10000) { - /* $y and $z are used to change the the taborder. - * Unfortunatly we don't now how many taborders we need - * Every link also help needs a taborder. - * Therefore we start with taborder=10000 for help - * and taborder=5000 for input fields - * taborder starts at 5000 because we need also some - * taborders for the side bar. - */ - if (is_array($input)) { - echo "\n"; - for ($i=0; $i\n"; - for ($j=0; $j\n"; - echo $input[$i][$j]['text'] . "\n"; - break; - case 'input': - echo "\n"; - $output = "\n"; - echo "
\n"; - if ($input[$i][$j]['legend']!='') echo "" . $input[$i][$j]['legend'] . "\n"; - $this->parse_html($module, $input[$i][$j]['value'], &$y, &$z); - echo "
\n"; - break; - case 'select': - if (!is_array($input[$i][$j]['options'])) $input[$i][$j]['options'] = array ( $input[$i][$j]['options'] ); - if (!is_array($input[$i][$j]['options_selected'])) $input[$i][$j]['options_selected'] = array ( $input[$i][$j]['options_selected'] ); - echo "\n"; - echo "\n"; - break; - case 'table': - echo "\n"; - $this->parse_html($module, $input[$i][$j]['value'], &$y, &$z); - echo "\n"; - break; - case 'help': - echo "\n"; - echo "" . _('Help') . "\n"; - $z++; - break; - case 'message': - echo "\n"; - StatusMessage($input[$i][$j]['type'], $input[$i][$j]['headline'], $input[$i][$j]['text']); - echo "\n"; - break; - default: - echo "
\n"; - break; - } - } - echo "\n"; - } - } - echo "
Unrecognized type: " . $input[$i][$j]['kind'] . "
\n"; - } - - /* Add attributes to variable. Syntax is array( attribute = array ( objectClass1 => MUST|MAX, objectClass2 => MUST|MAY ), ... ) - */ - function add_attributes($objectClass) { - // loop through every existing objectlass and select current objectClass - $line=-1; - for ($i=0; $iobjectClasses) || $i==-1; $i++) { - if (strpos(strtolower($_SESSION['ldap']->objectClasses[$i]), strtolower("NAME '$objectClass'"))) $line = $i; - } - // Return error if objectClass isn't found - if ($line==-1) trigger_error (sprintf(_("ObjectClass %s required but not defined in LDAP."), $objectClass), E_USER_WARNING); - // create array with must-attributes - // Get startposition in string - if (strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')+6); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - $must = explode(" $ ", $string); - // Ad must - foreach ($must as $attribute) { - if (!isset($this->attributes[$attribute])) $this->attributes[$attribute][$objectClass] = 'MUST'; - else $this->attributes[$attribute][$objectClass] = 'MUST'; - } - } - // create array with may-attributes - // Get startposition in string - if (strpos($_SESSION['ldap']->objectClasses[$line], 'MAY (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MAY (')+5); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - $may = explode(" $ ", $string); - // Ad may - foreach ($may as $attribute) { - if (!isset($this->attributes[$attribute])) $this->attributes[$attribute][$objectClass] = 'MAY'; - else $this->attributes[$attribute][$objectClass] = 'MAY'; - } - } - // Get attributes of subclasses - while (strpos($_SESSION['ldap']->objectClasses[$line], "SUP ")) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'SUP ')+4); - $subclass = substr($string_withtail, 0, strpos($string_withtail, ' ')); - // Add account type to object - for ($i=0; $iobjectClasses) || $i==-1; $i++) { - if (strpos($_SESSION['ldap']->objectClasses[$i], "NAME '$subclass'")) $line = $i; - } - // Return error if objectClass isn't found - if ($line==-1) trigger_error (sprintf(_("ObjectClass %s required but not defined in LDAP."), $objectClass), E_USER_WARNING); - // create array with must-attributes - // Get startposition in string - if (strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')+6); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - $must = explode(" $ ", $string); - // Ad must - foreach ($must as $attribute) { - if (!isset($this->attributes[$attribute])) $this->attributes[$attribute][$objectClass] = 'MUST'; - else $this->attributes[$attribute][$objectClass] = 'MUST'; - } - } - // create array with may-attributes - // Get startposition in string - if (strpos($_SESSION['ldap']->objectClasses[$line], 'MAY (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MAY (')+5); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - $may = explode(" $ ", $string); - // Ad may - foreach ($may as $attribute) { - if (!isset($this->attributes[$attribute])) $this->attributes[$attribute][$objectClass] = 'MAY'; - else $this->attributes[$attribute][$objectClass] = 'MAY'; - } - } - } - } - - /* This function return ldap attributes - * Syntax is get_attributes($value, $scope) - * $scope = 'objectClass', $value = objectClass return value are all attributes of objectClass - * $scope = 'attribute', $value = attribute returns alle objectClasses which are using the attribute - */ - function get_attributes($value, $scope) { - if ($scope=='attribute' && isset($this->attributes[$value])) return $this->attributes[$value]; - if ($scope=='objectClass') { - $keys = array_keys($this->attributes); - foreach ($keys as $attribute) { - if (isset($this->attributes[$attribute][$value])) $return[$attribute] = $this->attributes[$attribute][$value]; - } - return $return; - } - return 0; - } - - - /* This function returns all ldap attributes in an array which are used by $objectClass - * ldap attributs already in use by another objectClass are passed as reference. - * Therefore this function must be called as reference: $result =& ..get_module_attributes - * - * if original is true referencees will be set to original attributes. This are the original attributes - * when an ldap entry is loaded. - */ - function get_module_attributes($objectClass, $original=false) { - // Add account type to object - $line=-1; - for ($i=0; $iobjectClasses) || $i==-1; $i++) { - if (strpos(strtolower($_SESSION['ldap']->objectClasses[$i]), strtolower("NAME '$objectClass'"))) $line = $i; - } - // Return empty array if no objectClass wasn't found - if ($line==-1) return array(); - //if ($line==-1) trigger_error (sprintf(_("ObjectClass %s required but not defined in ldap."), $objectClass), E_USER_WARNING); - // get casesensitive objectClass name - $objectClassName = substr($_SESSION['ldap']->objectClasses[$line], 6+strpos($_SESSION['ldap']->objectClasses[$line], "NAME '"), strlen($objectClass) ); - if (strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')+6); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - // Ad must - foreach (explode(" $ ", $string) as $attribute) { - $return[$attribute] = array(''); - } - } - // create array with may-attributes - // Get startposition in string - if (strpos($_SESSION['ldap']->objectClasses[$line], 'MAY (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MAY (')+5); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - // Ad may - foreach (explode(" $ ", $string) as $attribute) { - $return[$attribute] = array(''); - } - } - // Get attributes of subclasses - while (strpos($_SESSION['ldap']->objectClasses[$line], "SUP ")) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'SUP ')+4); - $subclass = substr($string_withtail, 0, strpos($string_withtail, ' ')); - // Add account type to object - for ($i=0; $iobjectClasses) || $i==-1; $i++) { - if (strpos($_SESSION['ldap']->objectClasses[$i], "NAME '$subclass'")) $line = $i; - } - // Return error if objectClass isn't found - if ($line==-1) trigger_error (sprintf(_("ObjectClass %s required but not defined in LDAP."), $subclass), E_USER_WARNING); - // create array with must-attributes - // Get startposition in string - if (strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')+6); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - // Ad must - foreach (explode(" $ ", $string) as $attribute) { - $return[$attribute] = array(''); - } - } - // create array with may-attributes - // Get startposition in string - if (strpos($_SESSION['ldap']->objectClasses[$line], 'MAY (')) { - $string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MAY (')+5); - // Now we have a string with all must-attributes - $string = substr($string_withtail, 0, strpos($string_withtail, ')')); - $string = trim($string); - // Ad may - foreach (explode(" $ ", $string) as $attribute) { - $return[$attribute] = array(''); - } - } - } - - // make references with attibutes which are used by more than one module - $newattributes = array_keys($return); - $module = array_keys($this->module); - if (!$original) { - // Only add attributes when original is false. We don't want to add them twice - $this->add_attributes($objectClass); - for ($i=0; $imodule[$module[$i]]->attributes[$attribute]) && ($attribute!='objectClass')) - $return[$attribute] =& $this->module[$module[$i]]->attributes[$attribute]; - } - } - else { - for ($i=0; $imodule[$module[$i]]->orig[$attribute]) && ($attribute!='objectClass')) - $return[$attribute] =& $this->module[$module[$i]]->orig[$attribute]; - } - } - $return['objectClass'] = array(); - return $return; - } - - /* This function return ldap attributes which are uses by $objectClass - * Syntax is get_attributes($attributes, $orig) - * Return is an array as needed for $this->saveAccount() - */ - function save_module_attributes($attributes, $orig) { - // Get list of all "easy" attributes - $attr_names = array_keys($attributes); - // Get attributes which should be added - for ($i=0; $idn]['add'] = $toadd; - if (count($torem)!=0) $return[$this->dn]['remove'] = $torem; - if (count($tomodify)!=0) $return[$this->dn]['modify'] = $tomodify; - if (count($notchanged)!=0) $return[$this->dn]['notchanged'] = $notchanged; - return $return; - } - - - /* This function checks if all MUST-attribtues are set. - * If not it will return an array with all modules - * which have to be set first - */ - function check_attributes() { - $return = array(); - if (is_array($this->attributes)) { - // get named list of attributes - $attributes = array_keys($this->attributes); - for ($i=0; $iattributes[$attributes[$i]]); - for ($j=0; $jattributes[$attributes[$i]][$singleattribute[$j]]=='MUST') { - // Check if attribute is set - if ($this->module[$singleattribute[$j]]->attributes[$attributes[$i]]=='') { - if (!in_array($singleattribute[$j], $return)) $return[] = $singleattribute[$j]; - } - } - } - } - return $return; - } - } - - /* This function will load an account. - * $dn is the dn of the account which should be loaded - */ - function load_account($dn) { - $modules = $_SESSION['config']->get_AccountModules($this->type); - $search = substr($dn, 0, strpos($dn, ',')); - $result = ldap_search($_SESSION['ldap']->server(), $dn, $search); - $entry = ldap_first_entry($_SESSION['ldap']->server(), $result); - $this->dn = substr($dn, strpos($dn, ',')+1); - $this->dn_orig = $dn; - $attr = ldap_get_attributes($_SESSION['ldap']->server(), $entry); - - foreach ($modules as $module) { - if (!isset($this->module[$module])) { - $this->module[$module] = new $module($this->type); - $this->module[$module]->init($this->base); - } - $this->module[$module]->load_attributes($attr); - } - - // sortm modules and make all active because all required attributes should be set - $module = array_keys ($this->module); - $modulelist = array(); - // loop until all modules are in order. - // We don't want to loop forever - $remain = count($module) * count($module); - $order = array(); - while ( (count($module) != count($modulelist)) && ($remain!=0) ) { - $remain--; - foreach ($module as $moduleitem) { - $required = $this->module[$moduleitem]->get_dependencies($this->type); - $everything_found = true; - if (is_array($required['require'])) { - foreach ($required['require'] as $requireditem) - if (!in_array($reuquireditem, $modulelist)) $everthing_found = false; - } - if ($everything_found && !in_array($moduleitem, $order) ) $order[] = $moduleitem; - } - } - // Write Module-Order in variable - $this->order = array_merge ('main' ,$order); - return 0; - } - - - // TODO remove this function? - function proccess_profile($post) { - $return = array(); - $module = array_keys ($this->module); - foreach ($module as $singlemodule) { - // get list of display functions. - $list = $this->module[$singlemodule]->pages(); - foreach ($list as $item) { - $function = 'display_html_' . $item; - $page = $this->module[$singlemodule]->$function($post,true); - //eval($function); - $return = array_merge($return, $page); - } - } - return $return; - } - - /* This function will prepare the object - * for a new account - */ - function new_account() { - $modules = $_SESSION['config']->get_AccountModules($this->type); - foreach ($modules as $module) { - $this->module[$module] = new $module($this->type); - $this->module[$module]->init($this->base); - } - - $module = array_keys ($this->module); - $modulelist = array(); - // loop until all modules are in order. - // We don't want to loop forever - $remain = count($module) * count($module); - $order = array(); - while ( (count($module) != count($modulelist)) && ($remain!=0) ) { - $remain--; - foreach ($module as $moduleitem) { - $required = $this->module[$moduleitem]->get_dependencies($this->type); - $everything_found = true; - if (is_array($required['require'])) { - foreach ($required['require'] as $requireditem) - if (!in_array($reuquireditem, $modulelist)) $everthing_found = false; - } - if ($everything_found && !in_array($moduleitem, $order) ) $order[] = $moduleitem; - } - } - // Write Module-Order in variable - $this->order = array_merge ('main' ,$order); - // *** fixme load*Profile must return array in the same way ldap_get_attributes does. - $function = '$newattributes = load'.ucfirst($this->type).'Profile(\'default\');'; // TODO function is called loadAccountProfile() - //eval($function); - return 0; - } - - /* This function will save an account. - */ - function save_account() { - $module = array_keys ($this->module); - $attributes = array(); - // load attributes - foreach ($module as $singlemodule) { - // load changes - $temp = $this->module[$singlemodule]->save_attributes(); - // merge changes - $DNs = array_keys($temp); - // *** fixme don't include references - $attributes = array_merge_recursive($temp, $attributes); - for ($i=0; $itype=='group') $search = 'cn'; - else $search = 'uid'; - $added = false; - foreach ($attributes as $DN) { - if (isset($DN['modify'][$search][0]) && !$added) { - $attributes[$search.'='.$DN['modify'][$search][0].','.$this->dn] = $attributes[$this->dn]; - unset ($attributes[$this->dn]); - $this->dn = $search.'='.$DN['modify'][$search][0].','.$this->dn; - $added = true; - } - if (isset($DN['add'][$search][0]) && !$added) { - $attributes[$search.'='.$DN['add'][$search][0].','.$this->dn] = $attributes[$this->dn]; - unset ($attributes[$this->dn]); - $this->dn = $search.'='.$DN['add'][$search][0].','.$this->dn; - $added = true; - } - if (isset($DN['notchanged'][$search][0]) && !$added) { - $attributes[$search.'='.$DN['notchanged'][$search][0].','.$this->dn] = $attributes[$this->dn]; - unset ($attributes[$this->dn]); - $this->dn = $search.'='.$DN['notchanged'][$search][0].','.$this->dn; - $added = true; - } - } - // Add old dn if dn hasn't changed - if (!$added) { - $attributes[$this->dn_orig] = $attributes[$this->dn]; - unset ($attributes[$this->dn]); - $this->dn = $this->dn_orig; - } - // Set to true if an real error has happened - $stopprocessing = false; - // Add new DN - if (isset($attributes[$DNs[$i]]['errors'])) { - foreach ($attributes[$DNs[$i]]['errors'] as $singleerror) { - $errors[] = $singleerror; - if ($singleerror[0] = 'ERROR') $stopprocessing = true; - } - } - // fixme *** ad update_cache after every ldap-change - - print_r($attributes); - if (!$stopprocessing) { - if ($this->dn != $this->dn_orig) { - // move existing DN - if ($this->dn_orig!='') { - // merge attributes together - $attr = array_merge_recursive($attributes[$this->dn]['add'], $attributes[$this->dn]['notchanged'], $attributes[$this->dn]['modify']); - $success = ldap_add($_SESSION['ldap']->server(), $this->dn, $attr); - if ($success) { - $_SESSION['cache']->update_cache($this->$dn, 'add', $attr); - $success = ldap_delete($_SESSION['ldap']->server(), $this->dn_orig); - if (!$success) { - $errors[] = array('ERROR', 'LDAP', sprintf(_('Was unable to delete DN: %s.'), $this->dn_orig)); - $stopprocessing = true; - } - if ($success) - $_SESSION['cache']->update_cache($this->$dn, 'delete_dn'); - } - if (!$success) { - $errors[] = array('ERROR', 'LDAP', sprintf(_('Was unable to create DN: %s.'), $this->dn)); - $stopprocessing = true; - } - } - // create complete new dn - else { - $attr = array_merge_recursive($attributes[$this->dn]['add'], $attributes[$this->dn]['notchanged'], $attributes[$this->dn]['modify']); - $success = ldap_add($_SESSION['ldap']->server(), $this->dn, $attr); - if (!$success) { - $errors[] = array('ERROR', 'LDAP', sprintf(_('Was unable to create DN: %s.'), $this->dn)); - $stopprocessing = true; - } - else - $_SESSION['cache']->update_cache($this->$dn, 'add', $attr); - } - unset($attributes[$this->dn]); - } - } - $DNs = array_keys($attributes); - for ($i=0; $iserver(), $DNs[$i], $attributes[$DNs[$i]]['modify']); - if (!$success) { - $errors[] = array('ERROR', 'LDAP', sprintf(_('Was unable to modify attribtues from DN: %s.'), $DNs[$i])); - $stopprocessing = true; - } - else - $_SESSION['cache']->update_cache($this->$dn, 'modify', $attributes[$this->dn]['modify']); - } - // add attributes - if (isset($attributes[$DNs[$i]]['add']) && !$stopprocessing) { - $success = @ldap_mod_add($_SESSION['ldap']->server(), $DNs[$i], $attributes[$DNs[$i]]['add']); - if (!$success) { - $errors[] = array('ERROR', 'LDAP', sprintf(_('Was unable to add attribtues to DN: %s.'), $DNs[$i])); - $stopprocessing = true; - } - else - $_SESSION['cache']->update_cache($this->$dn, 'add', $attributes[$this->dn]['add']); - } - // removce attributes - if (isset($attributes[$DNs[$i]]['remove']) && !$stopprocessing) { - $success = @ldap_mod_del($_SESSION['ldap']->server(), $DNs[$i], $attributes[$DNs[$i]]['remove']); - if (!$success) { - $errors[] = array('ERROR', 'LDAP', sprintf(_('Was unable to remove attribtues from DN: %s.'), $DNs[$i])); - $stopprocessing = true; - } - else - $_SESSION['cache']->update_cache($this->$dn, 'remove', $attributes[$this->dn]['remove']); - } - } - } - - if (!$stopprocessing) { - foreach ($attributes as $DN) { - if (is_array($DN['lamdaemon']['command'])) $result = lamdaemon($DN['lamdaemon']['command']); - // Error somewhere in lamdaemon - if (is_array($result)) - foreach ($result as $singleresult) { - if (is_array($singleresult)) { - if ($singleresult[0] = 'ERROR') $stopprocessing = true; - $temparray[0] = $singleresult[0]; - $temparray[1] = _($singleresult[1]); - $temparray[2] = _($singleresult[2]); - $errors[] = $temparray; - } - } - } - } - if (count($errors)!=0) return $errors; - return 0; - } - - /** - * - * - * @param string account_type - * - * @return - */ - function get_pdfEntries($acount_type) { - $return = array(); - while(($current = current($this->module)) != null) { - $return = array_merge($return,$current->get_pdfEntries($account_type)); - next($this->module); - } - $return = array_merge($return,array( 'main_dn' => array('' . _('DN') . '' . $this->dn . ''))); - return $return; - } - - /** - * - * - * @return - */ - function getAvailablePDFFields() { - $return = array(); - foreach($this->module as $moduleName => $module) { - $return[$moduleName] = $module->get_pdfFields($this->type); - } - $return['main'] = array( 'dn'); - return $return; - } - } -?> diff --git a/lam/lib/modules/account.inc b/lam/lib/modules/account.inc deleted file mode 100644 index 1e7ccdd1..00000000 --- a/lam/lib/modules/account.inc +++ /dev/null @@ -1,215 +0,0 @@ - array(), 'conflicts' => array('inetOrgPerson')); - // available PDF fields - $return['PDF_fields'] = array( - 'description' - ); - // help Entries - $return['help'] = array ( - 'host' => array( - 'description' => array ( - "Headline" => _("Gecos"), - "Text" => _("Host description. If left empty host name will be used.") - ) - ) - ); - // upload columns - if ($_SESSION['loggedIn']) { - if ($this->get_scope() == 'user') { - $return['upload_columns'][] = array( - 'name' => 'account_hosts', - 'description' => _('Host list'), - 'help' => 'host' - ); - } - $modules = $_SESSION['config']->get_AccountModules($this->get_scope()); - if (!in_array('posixAccount', $modules)) { - $return['upload_columns'][] = array( - 'name' => 'account_uid', - 'description' => _('User name'), - 'help' => 'uid', - 'required' => true - ); - $return['upload_columns'] = array( - array( - 'name' => 'account_description', - 'description' => _('Description'), - 'help' => 'description' - ) - ); - } - } - return $return; - } - - // Constructor - function init($base) { - // call parent init - parent::init($base); - } - - /** this functin fills the error message array with messages - **/ - function load_Messages() { - } - - /* This function returns true if all required attributes from other - * modules are set. This is required to prevent undefined states - */ - function module_ready() { - return true; - } - - /* This functions return true - * if all needed settings are done - */ - function module_complete() { - if (!$this->module_ready()) return false; - return true; - } - - /* This function returns a list of all html-pages in module - * This is usefull for mass upload and pdf-files - * because lam can walk trough all pages itself and do some - * error checkings - */ - function pages() { - return array('attributes'); - } - - /* This function loads all attributes into the object - * $attr is an array as it's retured from ldap_get_attributes - */ - function load_attributes($attr) { - $this->load_ldap_attributes($attr); - return 0; - } - - /* This function returns an array with 4 entries: - * array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr), 'lamdaemon' => array(cmds)), DN2 .... ) - * DN is the DN to change. It may be possible to change several DNs, - * e.g. create a new user and add him to some groups via attribute memberUid - * add are attributes which have to be added to ldap entry - * remove are attributes which have to be removed from ldap entry - * lamdaemon are lamdaemon commands to modify homedir, quotas, ... - */ - function save_attributes() { - // Get easy attributes - $return = $_SESSION[$this->base]->save_module_attributes($this->attributes, $this->orig); - // Return attributes - return $return; - } - - function delete_attributes($post) { - return 0; - } - - /* Write variables into object and do some regexp checks - */ - function proccess_attributes($post) { - // Load attributes - $this->attributes['description'][0] = $post['description']; - return 0; - } - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_attributes($post) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Description') ), - 1 => array ( 'kind' => 'input', 'name' => 'description', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['description'][0] ), - 2 => array ('kind' => 'help', 'value' => 'description')); - - return $return; - } - - function display_html_delete($post) { - return 0; - } - - /* - * (non-PHPDoc) - * @see baseModule#get_pdfEntries - */ - function get_pdfEntries($account_type = "user") { - return array('account_description' => array('' . _('Description') . '' . $this->attributes['description'][0] . '')); - } - - /** - * In this function the LDAP account is built up. - * - * @param array $rawAccounts list of hash arrays (name => value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - $messages = array(); - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - // add object class - if (!in_array("account", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "account"; - $modules = $_SESSION['config']->get_AccountModules($this->get_scope()); - if (!in_array('posixAccount', $modules)) { - // description - if ($rawAccounts[$i][$ids['account_description']] && ($rawAccounts[$i][$ids['account_description']] != '')) { - $partialAccounts[$i]['description'] = $rawAccounts[$i][$ids['account_description']]; - } - else { - $partialAccounts[$i]['description'] = $rawAccounts[$i][$ids['account_uid']]; - } - // user name - if (get_preg($rawAccounts[$i][$ids['account_uid']], 'username')) { - $partialAccounts[$i]['uid'] = $rawAccounts[$i][$ids['account_uid']]; - } - else { - $errMsg = $this->messages['uid'][7]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - if ($this->get_scope() == 'user') { - } - } - return $messages; - } - -} - -?> diff --git a/lam/lib/modules/ieee802device.inc b/lam/lib/modules/ieee802device.inc deleted file mode 100644 index e84be43a..00000000 --- a/lam/lib/modules/ieee802device.inc +++ /dev/null @@ -1,263 +0,0 @@ - array('account'), 'conflicts' => array()); - // help Entries - $return['help'] = array( - 'mac' => array( - "Headline" => _("MAC address"), - "Text" => _("This is the MAC address of the network card of the device (e.g. 00:01:02:DE:EF:18).") - ), - 'macList' => array( - "Headline" => _("MAC address list"), - "Text" => _("This is a comma separated list of MAC addresses.") - )); - // upload fields - $return['upload_columns'] = array( - array( - 'name' => 'ieee802Device_mac', - 'description' => _('MAC address'), - 'help' => 'macList', - 'example' => '00:01:02:DE:EF:18' - ) - ); - // available PDF fields - $return['PDF_fields'] = array( - 'macAddress' - ); - return $return; - } - - /** - * This function fills the error message array with messages - */ - function load_Messages() { - $this->messages['mac'][0] = array('ERROR', 'MAC address is invalid!'); // third array value is set dynamically - $this->messages['mac'][1] = array('ERROR', _('Account %s:') . ' ieee802Device_mac', 'MAC address is invalid!'); - } - - /** - * This function loads all needed attributes into the object. - * - * @param array $attr an array as it is retured from ldap_get_attributes - */ - function load_attributes($attr) { - $this->attributes['objectClass'] = array(); - $this->attributes['macAddress'] = array(); - $this->orig['objectClass'] = array(); - $this->orig['macAddress'] = array(); - if (isset($attr['objectClass'])) { - unset($attr['objectClass']['count']); - $this->attributes['objectClass'] = $attr['objectClass']; - $this->orig['objectClass'] = $attr['objectClass']; - } - if (isset($attr['macAddress'])) { - unset($attr['macAddress']['count']); - $this->attributes['macAddress'] = $attr['macAddress']; - $this->orig['macAddress'] = $attr['macAddress']; - } - return 0; - } - - /** - * Returns a list of modifications which have to be made to the LDAP account. - * - * @return array list of modifications - *
This function returns an array with 3 entries: - *
array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... ) - *
DN is the DN to change. It may be possible to change several DNs (e.g. create a new user and add him to some groups via attribute memberUid) - *
"add" are attributes which have to be added to LDAP entry - *
"remove" are attributes which have to be removed from LDAP entry - *
"modify" are attributes which have to been modified in LDAP entry - */ - function save_attributes() { - return $_SESSION[$this->base]->save_module_attributes($this->attributes, $this->orig); - } - - /** - * This function returns a list of all account pages in this module. - */ - function pages() { - return array('attributes'); - } - - /** - * This function will create the meta HTML code to show a page with all attributes. - * - * @param array $post HTTP-POST values - */ - function display_html_attributes($post) { - $return = array(); - // list current MACs - for ($i = 0; $i < sizeof($this->attributes['macAddress']); $i++) { - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('MAC address')), - 1 => array('kind' => 'input', 'name' => 'macAddress' . $i, 'type' => 'text', 'size' => '17', 'maxlength' => '17', 'value' => $this->attributes['macAddress'][$i]), - 2 => array('kind' => 'input', 'type' => 'submit', 'name' => 'delMAC' . $i, 'value' => _("Remove")), - 3 => array('kind' => 'help', 'value' => 'mac')); - } - // input box for new MAC - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('New MAC address')), - 1 => array('kind' => 'input', 'name' => 'macAddress', 'type' => 'text', 'size' => '17', 'maxlength' => '17', 'value' => ''), - 2 => array('kind' => 'input', 'type' => 'submit', 'name' => 'addMAC', 'value' => _("Add")), - 3 => array('kind' => 'help', 'value' => 'mac'), - 4 => array('kind' => 'input', 'type' => 'hidden', 'value' => sizeof($this->attributes['macAddress']), 'name' => 'mac_number')); - return $return; - } - - /** - * Write variables into object and do some regex checks - * - * @param array $post HTTP-POST values - */ - function proccess_attributes($post) { - $this->triggered_messages = array(); - $this->attributes['macAddress'] = array(); - // check old MACs - if (isset($post['mac_number'])) { - for ($i = 0; $i < $post['mac_number']; $i++) { - if (isset($post['delMAC' . $i])) continue; - if (isset($post['macAddress' . $i]) && ($post['macAddress' . $i] != "")) { - // check if address has correct format - if (!get_preg($post['macAddress' . $i], 'macAddress')) { - $message = $this->messages['mac'][0]; - $message[] = $post['macAddress' . $i]; - $this->triggered_messages[] = array($message); - } - $this->attributes['macAddress'][] = $post['macAddress' . $i]; - } - } - } - // check new MAC - if (isset($post['macAddress']) && ($post['macAddress'] != "")) { - // check if address has correct format - if (get_preg($post['macAddress'], 'macAddress')) { - $this->attributes['macAddress'][] = $post['macAddress']; - } - else { - $message = $this->messages['mac'][0]; - $message[] = $post['macAddress']; - $this->triggered_messages[] = array($message); - } - } - $this->attributes['macAddress'] = array_unique($this->attributes['macAddress']); - if (sizeof($this->triggered_messages) > 0) { - $this->inputCorrect = false; - return $this->triggered_messages; - } - else { - $this->inputCorrect = true; - return 0; - } - } - - /** - * This function returns true if all needed settings are done. - */ - function module_complete() { - return $this->inputCorrect; - } - - /** - * Returns true if all settings on module page are correct. - */ - function module_ready() { - return $this->inputCorrect; - } - - /** - * In this function the LDAP account is built up. - * - * @param array $rawAccounts list of hash arrays (name => value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - $messages = array(); - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - // add object class - if (!in_array("ieee802Device", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "ieee802Device"; - // add MACs - if ($rawAccounts[$i][$ids['ieee802Device_mac']] != "") { - $macs = explode(',', $rawAccounts[$i][$ids['ieee802Device_mac']]); - // check format - for ($m = 0; $m < sizeof($macs); $m++) { - if (get_preg($macs[$m], 'macAddress')) { - $partialAccounts[$i]['macAddress'][] = $macs[$m]; - } - else { - $errMsg = $this->messages['mac'][1]; - array_push($errMsg, array($i)); - $messages[] = $errMsg; - } - } - } - } - return $messages; - } - - /** - * Returns a list of PDF entries - */ - function get_pdfEntries() { - $return = array(); - if (sizeof($this->attributes['macAddress']) > 0) { - $return['ieee802Device_macAddress'] = '' . _('MAC address list') . '' . implode(', ', $this->attributes['macAddress']) . ''; - } - return $return; - } - -} - - -?> diff --git a/lam/lib/modules/inetOrgPerson.inc b/lam/lib/modules/inetOrgPerson.inc deleted file mode 100644 index 72c00b16..00000000 --- a/lam/lib/modules/inetOrgPerson.inc +++ /dev/null @@ -1,625 +0,0 @@ -messages['host'][0] = array('ERROR', _('Unix workstations'), _('Unix workstations is invalid.')); - $this->messages['givenName'][0] = array('ERROR', _('First name'), _('First name contains invalid characters!')); - $this->messages['givenName'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_lastName', _('First name contains invalid characters!')); - $this->messages['lastname'][0] = array('ERROR', _('Last name'), _('Last name contains invalid characters!')); - $this->messages['lastname'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_firstName', _('Last name contains invalid characters!')); - $this->messages['telephoneNumber'][0] = array('ERROR', _('Telephone number'), _('Please enter a valid telephone number!')); - $this->messages['telephoneNumber'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_telephone', _('Please enter a valid telephone number!')); - $this->messages['mobileTelephone'][0] = array('ERROR', _('Mobile number'), _('Please enter a valid mobile number!')); - $this->messages['mobileTelephone'][1] = array('ERROR', _('Account %s:') . " inetOrgPerson_mobile", _('Please enter a valid mobile number!')); - $this->messages['facsimileNumber'][0] = array('ERROR', _('Fax number'), _('Please enter a valid fax number!')); - $this->messages['facsimileNumber'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_fax', _('Please enter a valid fax number!')); - $this->messages['email'][0] = array('ERROR', _('eMail address'), _('Please enter a valid eMail address!')); - $this->messages['email'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_email', _('Please enter a valid eMail address!')); - $this->messages['street'][0] = array('ERROR', _('Street'), _('Please enter a valid street name!')); - $this->messages['street'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_street', _('Please enter a valid street name!')); - $this->messages['postalAddress'][0] = array('ERROR', _('Postal address'), _('Please enter a valid postal address!')); - $this->messages['postalAddress'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_address', _('Please enter a valid postal address!')); - $this->messages['postalCode'][0] = array('ERROR', _('Postal code'), _('Please enter a valid postal code!')); - $this->messages['postalCode'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_postalCode', _('Please enter a valid postal code!')); - $this->messages['title'][0] = array('ERROR', _('Job title'), _('Please enter a valid job title!')); - $this->messages['title'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_title', _('Please enter a valid job title!')); - $this->messages['employeeType'][0] = array('ERROR', _('Employee type'), _('Please enter a valid employee type!')); - $this->messages['employeeType'][1] = array('ERROR', _('Account %s:') . ' inetOrgPerson_type', _('Please enter a valid employee type!')); - $this->messages['cn'][0] = array('ERROR', _('Account %s:') . ' inetOrgPerson_cn', _('Please enter a valid common name!')); - } - - /** - * Returns meta data that is interpreted by parent class - * - * @return array array with meta data - */ - function get_metaData() { - $return = array(); - // manages user accounts - $return["account_types"] = array("user"); - // alias name - $return["alias"] = _('Personal'); - // RDN attribute - $return["RDN"] = array("cn" => "low"); - // module dependencies - $return['dependencies'] = array('depends' => array('posixAccount'), 'conflicts' => array('account')); - // profile elements - $return['profile_options'] = array( - array( - 0 => array('kind' => 'text', 'text' => _('Job title') . ":"), - 1 => array('kind' => 'input', 'name' => 'inetOrgPerson_title', 'type' => 'text', 'size' => '30', 'maxlength' => '255'), - 2 => array('kind' => 'help', 'value' => 'title')), - array( - 0 => array('kind' => 'text', 'text' => _('Employee type') . ":"), - 1 => array('kind' => 'input', 'name' => 'inetOrgPerson_employeeType', 'type' => 'text', 'size' => '30', 'maxlength' => '255'), - 2 => array('kind' => 'help', 'value' => 'employeeType')) - ); - // profile checks - $return['profile_checks']['inetOrgPerson_title'] = array( - 'type' => 'ext_preg', - 'regex' => 'title', - 'error_message' => $this->messages['title'][0]); - $return['profile_checks']['inetOrgPerson_employeeType'] = array( - 'type' => 'ext_preg', - 'regex' => 'employeeType', - 'error_message' => $this->messages['employeeType'][0]); - $return['upload_columns'] = array( - array( - 'name' => 'inetOrgPerson_cn', - 'description' => _('Common name'), - 'help' => 'cn', - 'example' => _('Steve Miller'), - 'default' => '<inetOrgPerson_firstName> <inetOrgPerson_lastName>' - ), - array( - 'name' => 'inetOrgPerson_firstName', - 'description' => _('First name'), - 'help' => 'givenName', - 'example' => _('Steve') - ), - array( - 'name' => 'inetOrgPerson_lastName', - 'description' => _('Last name'), - 'help' => 'sn', - 'example' => _('Miller'), - 'required' => true - ), - array( - 'name' => 'inetOrgPerson_description', - 'description' => _('Description'), - 'help' => 'description', - 'example' => _('Temp, contract until december') - ), - array( - 'name' => 'inetOrgPerson_title', - 'description' => _('Job title'), - 'help' => 'title', - 'example' => _('President') - ), - array( - 'name' => 'inetOrgPerson_type', - 'description' => _('Employee type'), - 'help' => 'employeeType', - 'example' => _('Temp') - ), - array( - 'name' => 'inetOrgPerson_street', - 'description' => _('Street'), - 'help' => 'street', - 'example' => _('Mystreetname 42') - ), - array( - 'name' => 'inetOrgPerson_postalCode', - 'description' => _('Postal code'), - 'help' => 'postalCode', - 'example' => '12345' - ), - array( - 'name' => 'inetOrgPerson_address', - 'description' => _('Postal address'), - 'help' => 'postalAddress', - 'example' => _('Mycity') - ), - array( - 'name' => 'inetOrgPerson_telephone', - 'description' => _('Telephone number'), - 'help' => 'telephoneNumber', - 'example' => '123-123-1234' - ), - array( - 'name' => 'inetOrgPerson_mobile', - 'description' => _('Mobile number'), - 'help' => 'mobileTelephoneNumber', - 'example' => '123-123-1234' - ), - array( - 'name' => 'inetOrgPerson_fax', - 'description' => _('Fax number'), - 'help' => 'facsimileTelephoneNumber', - 'example' => '123-123-1234' - ), - array( - 'name' => 'inetOrgPerson_email', - 'description' => _('eMail address'), - 'help' => 'mail', - 'example' => _('user@company.com') - ) - ); - // TODO unix workstations for upload - // available PDF fields - $return['PDF_fields'] = array( - 'description', - 'host', - 'title', - 'givenName', - 'sn', - 'employeeType', - 'street', - 'postalCode', - 'postalAddress', - 'telephoneNumber', - 'mobileTelephoneNumber', - 'facimilieTelefonNumber', - 'mail' - ); - // help Entries - $return['help'] = array ( - 'user' => array ( - 'description' => array ( - "Headline" => _("Gecos"), - "Text" => _("User description. If left empty sur- and give name will be used.") - ), - 'title' => array ( - "Headline" => _("Job title"), - "Text" => _("Job title of user: President, department manager, ...") - ), - 'givenName' => array ( - "Headline" => _("First name"), - "Text" => _("First name of user. Only letters, - and spaces are allowed.") - ), - 'sn' => array ( - "Headline" => _("Last name"), - "Text" => _("Last name of user. Only letters, - and spaces are allowed.") - ), - 'employeeType' => array ( - "Headline" => _("Employee type"), - "Text" => _("Employee type: Contractor, Employee, Intern, Temp, External, ...") - ), - 'street' => array ( - "Headline" => _("Street"), - "Text" => _("Street") - ), - 'postalCode' => array ( - "Headline" => _("Postal code"), - "Text" => _("Postal code") - ), - 'postalAddress' => array ( - "Headline" => _("Postal address"), - "Text" => _("Postal address, city") - ), - 'telephoneNumber' => array ( - "Headline" => _("Telephone number"), - "Text" => _("Telephone number") - ), - 'mobileTelephoneNumber' => array ( - "Headline" => _("Mobile number"), - "Text" => _("Mobile number") - ), - 'facsimileTelephoneNumber' => array ( - "Headline" => _("Fax number"), - "Text" => _("Fax number") - ), - 'mail' => array ( - "Headline" => _("eMail address"), - "Text" => _("eMail address") - ) - ), - 'host' => array( - 'description' => array ( - "Headline" => _("Gecos"), - "Text" => _("Host description. If left empty host name will be used.") - ) - ) - ); - - return $return; - } - - /** - * Initializes the module in its accountContainer - * - * @param string $base the name of account_container in session - */ - function init($base) { - // call parent init - parent::init($base); - } - - /* This function returns true if all required attributes from other - * modules are set. This is required to prevent undefined states - */ - function module_ready() { - return true; - } - - /* This functions return true - * if all needed settings are done - */ - function module_complete() { - if (!$this->module_ready()) return false; - if ($this->attributes['sn'][0] == '') return false; - if ($this->attributes['givenName'][0] == '') return false; - return true; - } - - /* This function returns a list of all html-pages in module - * This is usefull for mass upload and pdf-files - * because lam can walk trough all pages itself and do some - * error checkings - */ - function pages() { - return array('attributes'); - } - - /* This function loads all attributes into the object - * $attr is an array as it's retured from ldap_get_attributes - */ - function load_attributes($attr) { - $this->load_ldap_attributes($attr); - return 0; - } - - - - /* This function returns an array with 4 entries: - * array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr), 'lamdaemon' => array(cmds)), DN2 .... ) - * DN is the DN to change. It may be possible to change several DNs, - * e.g. create a new user and add him to some groups via attribute memberUid - * add are attributes which have to be added to ldap entry - * remove are attributes which have to be removed from ldap entry - * lamdaemon are lamdaemon commands to modify homedir, quotas, ... - */ - function save_attributes() { - // Get easy attributes - $return = $_SESSION[$this->base]->save_module_attributes($this->attributes, $this->orig); - // unset password. First we hanlde userPassword with posixAccount, second we hanlde it completly separat - // because it en/decrypted in session - if (isset($return[$_SESSION[$this->base]->dn]['modify']['userPassword'])) - unset($return[$_SESSION[$this->base]->dn]['modify']['userPassword']); - // Return attributes - return $return; - } - /* Write variables into object and do some regexp checks - */ - - function delete_attributes($post) { - return 0; - } - - function proccess_attributes($post) { - // Load attributes - $this->attributes['description'][0] = $post['description']; - $this->attributes['sn'][0] = $post['sn']; - $this->attributes['givenName'][0] = $post['givenName']; - $this->attributes['title'][0] = $post['title']; - $this->attributes['mail'][0] = $post['mail']; - $this->attributes['telephoneNumber'][0] = $post['telephoneNumber']; - $this->attributes['mobileTelephoneNumber'][0] = $post['mobileTelephoneNumber']; - $this->attributes['facsimileTelephoneNumber'][0] = $post['facsimileTelephoneNumber']; - $this->attributes['street'][0] = $post['street']; - $this->attributes['postalCode'][0] = $post['postalCode']; - $this->attributes['postalAddress'][0] = $post['postalAddress']; - $this->attributes['employeeType'][0] = $post['employeeType']; - - // handle host-attribute in on epice because it's not set by default - if (isset($this->attributes['host'])) { - $host = $post['host']; - if (!get_preg($host,'unixhost')) - $triggered_messages['host'][] = $this->messages['host'][0]; - $hosts = explode(" ", $host); - $this->attributes['host'] = array(); - foreach ($hosts as $host) - if ($host!="") $this->attributes['host'][] = $host; - } - - // Do some regex-checks and return error if attributes are set to wrong values - if ( !get_preg($this->attributes['givenName'][0], 'realname')) $triggered_messages['givenName'][] = $this->messages['givenName'][0]; - if ( !get_preg($this->attributes['sn'][0], 'realname')) $triggered_messages['sn'][] = $this->messages['lastname'][0]; - if ( !get_preg($this->attributes['telephoneNumber'][0], 'telephone')) $triggered_messages['telephoneNumber'][] = $this->messages['telephoneNumber'][0]; - if ( !get_preg($this->attributes['mobileTelephoneNumber'][0], 'telephone')) $triggered_messages['mobileTelephoneNumber'][] = $this->messages['mobileTelephone'][0]; - if ( !get_preg($this->attributes['facsimileTelephoneNumber'][0], 'telephone')) $triggered_messages['facsimileTelephoneNumber'][] = $this->messages['facsimileNumber'][0]; - if ( !get_preg($this->attributes['mail'][0], 'email')) $triggered_messages['mail'][] = $this->messages['email'][0]; - if ( !get_preg($this->attributes['street'][0], 'street')) $triggered_messages['street'][] = $this->messages['street'][0]; - if ( !get_preg($this->attributes['postalAddress'][0], 'postalAddress')) $triggered_messages['postalAdress'][] = $this->messages['postalAddress'][0]; - if ( !get_preg($this->attributes['personal_postalCode'][0], 'postalCode')) $triggered_messages['personal_postalCode'][] = $this->messages['postalCode'][0]; - if ( !get_preg($this->attributes['title'][0], 'title')) $triggered_messages['title'][] = $this->messages['title'][0]; - if ( !get_preg($this->attributes['employeeType'][0], 'employeeType')) $triggered_messages['employeeType'][] = $this->messages['employeeType'][0]; - // Return error-messages - if (is_array($triggered_messages)) return $triggered_messages; - return 0; - } - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_attributes($post) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Description') ), - 1 => array ( 'kind' => 'input', 'name' => 'description', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['description'][0] ), - 2 => array ('kind' => 'help', 'value' => 'description')); - if (isset($this->attributes['host'])) { - if (is_array($this->attributes['host'])) - foreach ($this->attributes['host'] as $host) $hostvalue .= $host." "; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Unix workstations') ), - 1 => array ( 'kind' => 'input', 'name' => 'host', 'type' => 'text', 'size' => '20', - 'maxlength' => '255', 'value' => $hostvalues ), - 2 => array ('kind' => 'help', 'value' => 'host')); - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Job title') ), - 1 => array ( 'kind' => 'input', 'name' => 'title', 'type' => 'text', 'size' => '10', - 'value' => $this->attributes['title'][0] ), - 2 => array ('kind' => 'help', 'value' => 'title')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('First name').'*' ), - 1 => array ( 'kind' => 'input', 'name' => 'givenName', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['givenName'][0] ), - 2 => array ('kind' => 'help', 'value' => 'givenName')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Last name').'*' ), - 1 => array ( 'kind' => 'input', 'name' => 'sn', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['sn'][0] ), - 2 => array ('kind' => 'help', 'value' => 'sn')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Employee type') ), - 1 => array ( 'kind' => 'input', 'name' => 'employeeType', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['employeeType'][0] ), - 2 => array ('kind' => 'help', 'value' => 'employeeType')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Street') ), - 1 => array ( 'kind' => 'input', 'name' => 'street', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['street'][0] ), - 2 => array ('kind' => 'help', 'value' => 'street')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Postal code') ), - 1 => array ( 'kind' => 'input', 'name' => 'postalCode', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['postalCode'][0] ), - 2 => array ('kind' => 'help', 'value' => 'postalCode')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Postal address') ), - 1 => array ( 'kind' => 'input', 'name' => 'postalAddress', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['postalAddress'][0] ), - 2 => array ('kind' => 'help', 'value' => 'postalAddress')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Telephone number') ), - 1 => array ( 'kind' => 'input', 'name' => 'telephoneNumber', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['telephoneNumber'][0] ), - 2 => array ('kind' => 'help', 'value' => 'telephoneNumber')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Mobile number') ), - 1 => array ( 'kind' => 'input', 'name' => 'mobileTelephoneNumber', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['mobileTelephoneNumber'][0] ), - 2 => array ('kind' => 'help', 'value' => 'mobileTelephoneNumber')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Fax number') ), - 1 => array ( 'kind' => 'input', 'name' => 'facsimileTelephoneNumber', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['facsimileTelephoneNumber'][0] ), - 2 => array ('kind' => 'help', 'value' => 'facsimileTelephoneNumber')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('eMail address') ), - 1 => array ( 'kind' => 'input', 'name' => 'mail', 'type' => 'text', 'size' => '30', - 'maxlength' => '255', 'value' => $this->attributes['mail'][0] ), - 2 => array ('kind' => 'help', 'value' => 'mail')); - return $return; - } - - function display_html_delete($post) { - return 0; - } - - /* - * (non-PHPDoc) - * @see baseModule#get_pdfEntries - */ - function get_pdfEntries($account_type = "user") { - return array( 'inetOrgPerson_description' => array('' . _('Description') . '' . $this->attributes['description'][0] . ''), - 'inetOrgPerson_host' => array('' . _('Unix workstations') . '' . $this->attributes['host'][0] . ''), - 'inetOrgPerson_title' => array('' . _('Job title') . '' . $this->attributes['title'][0] . ''), - 'inetOrgPerson_givenName' => array('' . _('First name') . '' . $this->attributes['givenName'][0] . ''), - 'inetOrgPerson_sn' => array('' . _('Last name') . '' . $this->attributes['sn'][0] . ''), - 'inetOrgPerson_employeeType' => array('' . _('Employee type') . '' . $this->attributes['employeeType'][0]), - 'inetOrgPerson_street' => array('' . _('Street') . '' . $this->attributes['street'] . ''), - 'inetOrgPerson_postalCode' => array('' . _('Postal code') . '' . $this->attributes['postalCode'][0] . ''), - 'inetOrgPerson_postalAddress' => array('' . _('Postal address') . '' . $this->attributes['postalAddress'][0] . ''), - 'inetOrgPerson_telephoneNumber' => array('' . _('Telephone number') . '' . $this->attributes['telephoneNumber'][0] . ''), - 'inetOrgPerson_mobileTelephoneNumber' => array('' . _('Mobile number') . '' . $this->attributes['mobileTelephoneNumber'][0] . ''), - 'inetOrgPerson_facimileTelefonNumber' => array('' . _('Fax number') . '' . $this->attributes['facsimileTelephoneNumber'][0] . ''), - 'inetOrgPerson_mail' => array('' . _('eMail address') . '' . $this->attributes['mail'][0] . '')); - } - - /** - * In this function the LDAP account is built up. - * - * @param array $rawAccounts list of hash arrays (name => value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - $triggered_messages = array(); - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - if (!in_array("inetOrgPerson", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "inetOrgPerson"; - // last name - if (get_preg($rawAccounts[$i][$ids['inetOrgPerson_lastName']], 'realname')) { - $partialAccounts[$i]['sn'] = $rawAccounts[$i][$ids['inetOrgPerson_lastName']]; - } - else { - $errMsg = $this->messages['lastname'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // first name - if (($rawAccounts[$i][$ids['inetOrgPerson_firstName']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_firstName']], 'realname')) { - $partialAccounts[$i]['givenName'] = $rawAccounts[$i][$ids['inetOrgPerson_firstName']]; - } - else { - $errMsg = $this->messages['givenName'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // description - if ($rawAccounts[$i][$ids['inetOrgPerson_description']] != "") { - $partialAccounts[$i]['description'] = $rawAccounts[$i][$ids['inetOrgPerson_description']]; - } - else { - if ($partialAccounts[$i]['givenName'] != "") { - $partialAccounts[$i]['description'] = $partialAccounts[$i]['givenName'] . " " . $partialAccounts[$i]['sn']; - } - else { - $partialAccounts[$i]['description'] = $partialAccounts[$i]['sn']; - } - } - // title - if (($rawAccounts[$i][$ids['inetOrgPerson_title']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_title']], 'title')) { - $partialAccounts[$i]['title'] = $rawAccounts[$i][$ids['inetOrgPerson_title']]; - } - else { - $errMsg = $this->messages['title'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // employee type - if (($rawAccounts[$i][$ids['inetOrgPerson_type']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_type']], 'employeeType')) { - $partialAccounts[$i]['employeeType'] = $rawAccounts[$i][$ids['inetOrgPerson_type']]; - } - else { - $errMsg = $this->messages['employeeType'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // street - if (($rawAccounts[$i][$ids['inetOrgPerson_street']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_street']], 'street')) { - $partialAccounts[$i]['street'] = $rawAccounts[$i][$ids['inetOrgPerson_street']]; - } - else { - $errMsg = $this->messages['street'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // postal code - if (($rawAccounts[$i][$ids['inetOrgPerson_postalCode']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_postalCode']], 'postalCode')) { - $partialAccounts[$i]['postalCode'] = $rawAccounts[$i][$ids['inetOrgPerson_postalCode']]; - } - else { - $errMsg = $this->messages['postalCode'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // postal address - if (($rawAccounts[$i][$ids['inetOrgPerson_address']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_address']], 'postalAddress')) { - $partialAccounts[$i]['postalAddress'] = $rawAccounts[$i][$ids['inetOrgPerson_address']]; - } - else { - $errMsg = $this->messages['postalAddress'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // telephone - if (($rawAccounts[$i][$ids['inetOrgPerson_telephone']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_telephone']], 'telephone')) { - $partialAccounts[$i]['telephoneNumber'] = $rawAccounts[$i][$ids['inetOrgPerson_telephone']]; - } - else { - $errMsg = $this->messages['telephone'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // mobile - if (($rawAccounts[$i][$ids['inetOrgPerson_mobile']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_mobile']], 'telephone')) { - $partialAccounts[$i]['mobiletelephoneNumber'] = $rawAccounts[$i][$ids['inetOrgPerson_mobile']]; - } - else { - $errMsg = $this->messages['mobileTelephone'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // facsimile - if (($rawAccounts[$i][$ids['inetOrgPerson_fax']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_fax']], 'telephone')) { - $partialAccounts[$i]['facsimileTelephoneNumber'] = $rawAccounts[$i][$ids['inetOrgPerson_fax']]; - } - else { - $errMsg = $this->messages['facsimileNumber'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // eMail - if (($rawAccounts[$i][$ids['inetOrgPerson_email']] != "") && get_preg($rawAccounts[$i][$ids['inetOrgPerson_email']], 'email')) { - $partialAccounts[$i]['mail'] = $rawAccounts[$i][$ids['inetOrgPerson_email']]; - } - else { - $errMsg = $this->messages['email'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // cn - if ($rawAccounts[$i][$ids['inetOrgPerson_cn']] != "") { - if (get_preg($rawAccounts[$i][$ids['inetOrgPerson_cn']], 'cn')) { - $partialAccounts[$i]['cn'] = $rawAccounts[$i][$ids['inetOrgPerson_cn']]; - } - else { - $errMsg = $this->messages['cn'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - else { - if ($partialAccounts[$i]['givenName'] != "") { - $partialAccounts[$i]['cn'] = $partialAccounts[$i]['givenName'] . " " . $partialAccounts[$i]['sn']; - } - else { - $partialAccounts[$i]['cn'] = $partialAccounts[$i]['sn']; - } - } - } - return $triggered_messages; - } - - -} - -?> diff --git a/lam/lib/modules/posixAccount.inc b/lam/lib/modules/posixAccount.inc deleted file mode 100644 index 8487316b..00000000 --- a/lam/lib/modules/posixAccount.inc +++ /dev/null @@ -1,1276 +0,0 @@ -orig['homeDirectory'][0], $this->attributes['homeDirectory'][0])); - break; - } - break; - case 'gidNumber': switch ($id) { - case 0: return array('INFO', _('GID number'), sprintf(_('GID number has changed. To keep file ownership you have to run the following command as root: \'find / -gid %s -uid %s -exec chgrp %s {} \;\''), $this->orig['gidNumber'][0], $this->orig['uidNumber'][0], $_SESSION['cache']->getgid($this->attribtues['gidNumber'][0]))); - break; - } - break; - case 'uidNumber': switch ($id) { - case 0: return array('INFO', _('UID number'), sprintf(_('UID number has changed. To keep file ownership you have to run the following command as root: \'find / -uid %s -exec chown %s {} \;\''), $this->orig['uidNumber'][0], $this->attributes['uidNumber'][0])); - break; - } - break; - } - } - - /** this functin fills the error message array with messages - **/ - function load_Messages() { - // error messages for input checks - $this->messages['minUID'][0] = array('ERROR', _('Users') . ':  ' . _('Minimum UID number'), _("Minimum UID number is invalid!")); - $this->messages['maxUID'][0] = array('ERROR', _('Users') . ':  ' . _('Maximum UID number'), _("Maximum UID number is invalid!")); - $this->messages['minMachine'][0] = array('ERROR', _('Hosts') . ':  ' . _('Minimum UID number'), _("Minimum UID number is invalid!")); - $this->messages['maxMachine'][0] = array('ERROR', _('Hosts') . ':  ' . _('Maximum UID number'), _("Maximum UID number is invalid!")); - $this->messages['cmp_UID'][0] = array('ERROR', _('Users') . ':  ' . _('Maximum UID number'), _("Maximum UID number must be greater than minimum UID number!")); - $this->messages['cmp_Machine'][0] = array('ERROR', _('Hosts') . ':  ' . _('Maximum UID number'), _("Maximum UID number must be greater than minimum UID number!")); - $this->messages['cmp_both'][0] = array('ERROR', _('UID ranges for Unix accounts'), _("The UID ranges for users and hosts overlap! This is a problem because LAM uses the highest UID in use + 1 for new accounts. Please set the minimum UID to equal values or use independent ranges.")); - $this->messages['homeDirectory'][0] = array('ERROR', _('Home directory'), _('Homedirectory contains invalid characters.')); - $this->messages['homeDirectory'][1] = array('INFO', _('Home directory'), _('Replaced $user or $group in homedir.')); - $this->messages['homeDirectory'][2] = array('ERROR', _('Account %s:') . ' posixAccount_homedir', _('Homedirectory contains invalid characters.')); - $this->messages['uidNumber'][1] = array('ERROR', _('ID-Number'), _('No free ID-Number!')); - $this->messages['uidNumber'][2] = array('WARN', _('ID-Number'), _('It is possible that this ID-number is reused. This can cause several problems because files with old permissions might still exist. To avoid this warning set maxUID to a higher value.')); - $this->messages['uidNumber'][3] = array('ERROR', _('ID-Number'), _('ID is already in use')); - $this->messages['uidNumber'][4] = array('ERROR', _('Account %s:') . ' posixAccount_uid', _('UID must be a number. It has to be inside the UID range which is defined in your configuration profile.')); - $this->messages['userPassword'][0] = array('ERROR', _('Password'), _('Please enter the same password in both password-fields.')); - $this->messages['userPassword'][1] = array('ERROR', _('Password'), _('Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !')); - $this->messages['userPassword'][3] = array('ERROR', _('Password'), _('You cannot use this password options at the same time.')); - $this->messages['userPassword'][4] = array('ERROR', _('Account %s:') . ' posixAccount_password', _('Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !')); - $this->messages['uid'][0] = array('INFO', _('UID'), _('UID has changed. Do you want to change home directory?')); - $this->messages['uid'][1] = array('WARN', _('Username'), _('You are using a capital letters. This can cause problems because windows isn\'t case-sensitive.')); - $this->messages['uid'][2] = array('ERROR', _('Username'), _('Username contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !')); - $this->messages['uid'][3] = array('WARN', _('Hostname'), _('You are using a capital letters. This can cause problems because windows isn\'t case-sensitive.')); - $this->messages['uid'][4] = array('ERROR', _('Hostname'), _('Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ ! Hostname must end with $ !')); - $this->messages['uid'][5] = array('WARN', _('Username'), _('Username in use. Selected next free username.')); - $this->messages['uid'][6] = array('WARN', _('Hostname'), _('Hostname in use. Selected next free hostname.')); - $this->messages['uid'][7] = array('ERROR', _('Account %s:') . ' posixAccount_userName', _('Username contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !')); - $this->messages['uid'][8] = array('ERROR', _('Account %s:') . ' posixAccount_hostName', _('Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !')); - $this->messages['gidNumber'][0] = array('ERROR', _('Account %s:') . ' posixAccount_group', _('LAM was unable to find a group with this name!')); - $this->messages['gidNumber'][1] = array('ERROR', _('Account %s:') . ' posixAccount_group', _('This GID number is invalid! Please provide either a number or a group name.')); - $this->messages['gecos'][0] = array('ERROR', _('Account %s:') . ' posixAccount_gecos', _('This gecos value is invalid!')); - $this->messages['shell'][0] = array('ERROR', _('Account %s:') . ' posixAccount_shell', _('This login shell is invalid!')); - $this->messages['passwordDisabled'][0] = array('ERROR', _('Account %s:') . ' posixAccount_passwordDisabled', _('This value can only be \"true\" or \"false\".')); - } - - /** - * Returns meta data that is interpreted by parent class - * - * @return array array with meta data - */ - function get_metaData() { - $return = array(); - // manages user and host accounts - $return["account_types"] = array("user", "host"); - // user specific data - if ($this->get_scope() == "user") { - // this is a base module - $return["is_base"] = true; - // LDAP filter - $return["ldap_filter"] = array('or' => "(objectClass=posixAccount)", 'and' => "(!(uid=*$))"); - // module dependencies - $return['dependencies'] = array('depends' => array(array('inetOrgPerson', 'account')), 'conflicts' => array()); - } - elseif ($this->get_scope() == "host") { - // module dependencies - $return['dependencies'] = array('depends' => array('account'), 'conflicts' => array()); - } - // alias name - $return["alias"] = _("Unix"); - // RDN attributes - $return["RDN"] = array("uid" => "normal", "cn" => "low"); - // profile checks - $return['profile_checks']['posixAccount_homeDirectory'] = array('type' => 'regex_i', 'regex' => 'homeDirectory', - 'error_message' => $this->messages['homeDirectory'][0]); - // configuration options - $return['config_options']['user'] = array( - array( - 0 => array('kind' => 'text', 'text' => '' . _("Users") . ':  ' . _('Minimum UID number') . ": "), - 1 => array('kind' => 'input', 'name' => 'posixAccount_minUID', 'type' => 'text', 'size' => '10', 'maxlength' => '255'), - 2 => array('kind' => 'text', 'value' => ' '), - 3 => array('kind' => 'text', 'text' => _('Maximum UID number') . ": "), - 4 => array('kind' => 'input', 'name' => 'posixAccount_maxUID', 'type' => 'text', 'size' => '10', 'maxlength' => '255'), - 5 => array('kind' => 'help', 'value' => 'minMaxUser')) - ); - $return['config_options']['host'] = array( - array( - 0 => array('kind' => 'text', 'text' => '' . _("Hosts") . ':  ' . _('Minimum UID number') . ": "), - 1 => array('kind' => 'input', 'name' => 'posixAccount_minMachine', 'type' => 'text', 'size' => '10', 'maxlength' => '255'), - 2 => array('kind' => 'text', 'value' => ' '), - 3 => array('kind' => 'text', 'text' => _('Maximum UID number') . ": "), - 4 => array('kind' => 'input', 'name' => 'posixAccount_maxMachine', 'type' => 'text', 'size' => '10', 'maxlength' => '255'), - 5 => array('kind' => 'help', 'value' => 'minMaxHost')) - ); - $return['config_options']['all'] = array( - array( - 0 => array('kind' => 'text', 'text' => '' . _("Password hash type") . ':  '), - 1 => array('kind' => 'select', 'name' => 'posixAccount_pwdHash', 'size' => '1', - 'options' => array("CRYPT", "SHA", "SSHA", "MD5", "SMD5", "PLAIN"), 'options_selected' => array('SSHA')), - 2 => array('kind' => 'text', 'value' => ' '), - 3 => array('kind' => 'text', 'value' => ' '), - 4 => array('kind' => 'text', 'value' => ' '), - 5 => array('kind' => 'help', 'value' => 'pwdHash')) - ); - // configuration descriptions - $return['config_descriptions'] = array( - 'legend' => _("UID ranges for Unix accounts"), - 'descriptions' => array( - 'posixAccount_minUID' => _("Minimum UID number for Unix accounts (users)"), - 'posixAccount_maxUID' => _("Maximum UID number for Unix accounts (users)"), - 'posixAccount_minMachine' => _("Minimum UID number for Unix accounts (hosts)"), - 'posixAccount_maxMachine' => _("Maximum UID number for Unix accounts (hosts)"), - 'posixAccount_pwdHash' => _("Password hash type for Unix accounts"), - ) - ); - // upload - $return['upload_preDepends'] = array('inetOrgPerson'); - // user specific upload options - if ($this->scope == 'user') { - $return['upload_columns'] = array( - array( - 'name' => 'posixAccount_userName', - 'description' => _('User name'), - 'help' => 'userName', // TODO - 'example' => _('smiller'), - 'required' => true, - 'unique' => true - ), - array( - 'name' => 'posixAccount_uid', - 'description' => _('UID number'), - 'help' => 'uid', // TODO - 'example' => '1234' - ), - array( - 'name' => 'posixAccount_group', - 'description' => _('Primary group'), - 'help' => 'group', // TODO - 'example' => _('users'), - 'required' => true - ), - array( - 'name' => 'posixAccount_additionalGroups', - 'description' => _('Additional groups'), - 'help' => 'additionalGroups', // TODO - 'example' => _('group01,group02') - ), - array( - 'name' => 'posixAccount_homedir', - 'description' => _('Home directory'), - 'help' => 'homedir', // TODO - 'example' => _('/home/smiller'), - 'default' => '/home/<posixAccount_userName>' - ), - array( - 'name' => 'posixAccount_shell', - 'description' => _('Login shell'), - 'help' => 'shell', // TODO - 'example' => '/bin/bash', - 'values' => implode(", ", getshells()), - 'default' => '/bin/bash' - ), - array( - 'name' => 'posixAccount_password', - 'description' => _('Password'), - 'help' => 'password', // TODO - 'example' => _('secret') - ), - array( - 'name' => 'posixAccount_passwordDisabled', - 'description' => _('Lock password'), - 'help' => 'passwordDisabled', // TODO - 'example' => 'false', - 'values' => 'true, false', - 'default' => 'false' - ), - array( - 'name' => 'posixAccount_gecos', - 'description' => _('Gecos'), - 'help' => 'gecos', - 'example' => _('Steve Miller,Room 2.14,123-123-1234,123-123-1234') - ) - ); - } - // host specific upload options - elseif ($this->scope == 'host') { - $return['upload_columns'] = array( - array( - 'name' => 'posixAccount_hostName', - 'description' => _('Host name'), - 'help' => 'hostName', // TODO - 'example' => _('pc01$'), - 'required' => true, - 'unique' => true - ), - array( - 'name' => 'posixAccount_uid', - 'description' => _('UID number'), - 'help' => 'uid', // TODO - 'example' => '1234' - ), - array( - 'name' => 'posixAccount_group', - 'description' => _('Primary group'), - 'help' => 'group', // TODO - 'example' => _('machines'), - 'required' => true - ), - array( - 'name' => 'posixAccount_gecos', - 'description' => _('Gecos'), - 'help' => 'gecos', - 'example' => _('pc01,Room 2.34') - ) - ); - } - if ($_SESSION['loggedIn']) { - $modules = $_SESSION['config']->get_AccountModules($this->get_scope()); - if (!in_array('inetOrgPerson', $modules)) { - $return['upload_columns'][] = - array( - 'name' => 'posixAccount_description', - 'description' => _('Description'), - 'help' => 'description' - ); - } - } - // available PDF fields - $return['PDF_fields'] = array( - 'uid', - 'uidNumber', - 'gidNumber', - 'gecos', - 'primaryGroup', - 'additionalGroups', - 'homeDirectory', - 'userPassword', - 'loginShell' - ); - // help Entries - $return['help'] = array( - 'minMaxUser' => array( - 'Headline' => _('UID number'), - 'Text' => _('These are the minimum and maximum numbers to use for user IDs when creating new user accounts. The range should be different from that of machines. New user accounts will always get the highest number in use plus one.') - ), - 'minMaxHost' => array( - 'Headline' => _('UID number'), - 'Text' => _('These are the minimum and maximum numbers to use for machine IDs when creating new accounts for Samba hosts. The range should be different from that of users. New host accounts will always get the highest number in use plus one.') - ), - 'pwdHash' => array( - "Headline" => _("Password hash type"), - "Text" => _("LAM supports CRYPT, SHA, SSHA, MD5 and SMD5 to generate the hash value of passwords. SSHA and CRYPT are the most common but CRYPT does not support passwords greater than 8 letters. We do not recommend to use plain text passwords.") - ), - 'uidNumber' => array( - "Headline" => _("UID number"), - "Text" => _("If empty UID number will be generated automaticly.") - ), - 'user' => array( - 'uid' => array( - "Headline" => _("Username"), - "Text" => _("Username of the user who should be created. Valid characters are: a-z,0-9, .-_. Lam does not allow a number as first character because useradd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. If username is already used username will be expanded with a number. The next free number will be used. Warning: Older systems have problems with usernames longer than 8 characters. You can not log in to Windows if username is longer than 16 characters.") - ), - 'gecos' => array( - "Headline" => _("Gecos"), - "Text" => _("User description. If left empty sur- and give name will be used.") - ), - 'gidNumber' => array( - "Headline" => _("Primary group"), - "Text" => _("The Primary Group the user should be member of.") - ), - 'homeDirectory' => array( - "Headline" => _("Home directory"), - "Text" => _("$user and $group are replaced with username or primary groupname.") - ), - /*'userPassword' =>*/ - 'userPassword_no' => array( - "Headline" => _("Use no password"), - "Text" => _("If checked no password will be used.") - ), - /*'userPassword_lock' =>*/ - 'loginShell' => array( - "Headline" => _("Login shell"), - "Text" => _("To disable login use /bin/false. List of shells is read from lam/config/shells") - ), - 'addgroup' => array( - "Headline" => _("Additional groups"), - "Text" => _("Hold the CTRL-key to (de)select multiple groups."). ' '. _("Can be left empty.") - ) - ), - 'host' => array( - 'uid' => array( - "Headline" => _("Host name"), - "Text" => _("Host name of the host which should be created. Valid characters are: a-z,0-9, .-_$. Lam does not allow a number as first character because useradd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. Hostnames are always ending with $. If last character is not $ it will be added. If hostname is already used hostname will be expanded with a number. The next free number will be used.") - ), - 'gecos' => array( - "Headline" => _("Gecos"), - "Text" => _("Host description. If left empty host name will be used.") - ), - 'gidNumber' => array( - "Headline" => _("Primary group"), - "Text" => _("The Primary group the host should be member of.") - ) - ) - ); - - return $return; - } - - // Constructor - function init($base) { - // call parent init - parent::init($base); - $groups = $_SESSION['cache']->findgroups(); // list of all groupnames - // TODO better error handling - if (count($groups)==0) trigger_error(_('No groups found in ldap.'), E_USER_WARNING); - $this->createhomedir=false; - } - - // Variables - // Use a unix password? - var $userPassword_nopassword; - // Use invalid password, '*', e.g. * for services - var $userPassword_invalid; - // Lock password - var $userPassword_lock; - /* These two variables keep an array of groups the - * user is also member of. - */ - var $groups; - var $groups_orig; - var $createhomedir; - - /* $attribute['userPassword'] can't accessed directly because it's enrcypted - * To read / write password function userPassword is needed - * This function will return the unencrypted password when - * called without a variable - * If it's called with a new password, the - * new password will be stored encrypted - */ - function userPassword($newpassword=false) { - if (is_string($newpassword)) { - // Write new password - if ($newpassword=='') - $this->attributes['userPassword'][0] = ''; - else $this->attributes['userPassword'][0] = base64_encode($_SESSION['ldap']->encrypt($newpassword)); - return 0; - } - else { - if ($this->attributes['userPassword'][0]!='') // Read existing password if set - return $_SESSION['ldap']->decrypt(base64_decode($this->attributes['userPassword'][0])); - else return ''; - } - } - - function module_ready() { - return true; - } - - /* This functions return true - * if all needed settings are done - */ - function module_complete() { - if (!$this->module_ready()) return false; - if ($this->attributes['uid'][0] == '') return false; - if ($this->attributes['uidNumber'][0] == '') return false; - if ($this->attributes['gidNumber'][0] == '') return false; - if ($this->attributes['homeDirectory'][0] == '') return false; - if ($this->attributes['loginShell'][0] == '') return false; - return true; - } - - /* This function returns a list of all html-pages in module - * This is usefull for mass upload and pdf-files - * because lam can walk trough all pages itself and do some - * error checkings - */ - function pages() { - return array('attributes', 'group'); - } - - /* This function loads all attributes into the object - * $attr is an array as it's retured from ldap_get_attributes - */ - function load_attributes($attr) { - $this->load_ldap_attributes($attr); - - // get all additional groupmemberships - $dn_groups = $_SESSION['cache']->get_cache('memberUid', 'posixGroup', 'group'); - if (is_array($dn_groups)) { - $DNs = array_keys($dn_groups); - foreach ($DNs as $DN) { - if (in_array($attr['uid'][0], $dn_groups[$DN])) { - $this->groups[] = substr($DN, 3, strpos($DN, ',')-3); - } - } - $this->groups = sort ($this->groups); - $this->groups_orig = $this->groups; - } - // Delete password. We don't want to show an encrypted password because it makes no sense - $this->userPassword(''); - return 0; - } - - /* This function returns an array with 3 entries: - * array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... ) - * DN is the DN to change. It may be possible to change several DNs, - * e.g. create a new user and add him to some groups via attribute memberUid - * add are attributes which have to be added to ldap entry - * remove are attributes which have to be removed from ldap entry - * modify are attributes which have to been modified in ldap entry - */ - function save_attributes() { - $return = $_SESSION[$this->base]->save_module_attributes($this->attributes, $this->orig); - // fill gecos with correct attributes frm inetOrgPerson when they are set - // TODO do we have t use 7bit ascci only? - // TODO change gecos evertime something in inetOrgPerson has changes - if (isset($_SESSION[$this->base]->modules['inetOrgPerson'])) { - if (isset($return[$_SESSION[$this->base]->dn]['add']['gecos'])) - $return[$_SESSION[$this->base]->dn]['add']['gecos'] = $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['givenName'][0] . - " " . $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['sn'][0] . "," . - $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['roomNumber'][0] . "," . - $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['telephoneNumber'][0] . "," . - $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['homePhone'][0] ; - if (isset($return[$_SESSION[$this->base]->dn]['modify']['gecos'])) - $return[$_SESSION[$this->base]->dn]['modify']['gecos'] = $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['givenName'][0] . - " " . $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['sn'][0] . "," . - $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['roomNumber'][0] . "," . - $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['telephoneNumber'][0] . "," . - $_SESSION[$this->base]->modules['inetOrgPerson']->attributes['homePhone'][0] ; - } - // unset password when needed - if (isset($return[$_SESSION[$this->base]->dn]['add']['userPassword'])) - unset($return[$_SESSION[$this->base]->dn]['add']['userPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['modify']['userPassword'])) - unset($return[$_SESSION[$this->base]->dn]['modify']['userPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['notchanged']['userPassword'])) - unset($return[$_SESSION[$this->base]->dn]['notchanged']['userPassword']); - // Set unix password - if (isset($this->orig['userPassword'][0])) { - if ($this->userPassword_nopassword) // use no password - $return[$_SESSION[$this->base]->dn]['modify']['userPassword'][0] = pwd_hash('', !$this->userPassword_lock, $this->moduleSettings['posixAccount_pwdHash'][0]); - else if ($this->userPassword_invalid) // use '*' as password - $return[$_SESSION[$this->base]->dn]['modify']['userPassword'][0] = '*'; - else if (($this->attributes['userPassword'][0] != $this->orig['userPassword'][0]) && $this->userPassword()!='') // set password if set - $return[$_SESSION[$this->base]->dn]['modify']['userPassword'][0] = pwd_hash($this->userPassword(), !$this->userPassword_lock, $this->moduleSettings['posixAccount_pwdHash'][0]); - else if ($this->userPassword_lock && (pwd_disable($this->orig['userPassword'][0]) != $this->orig['userPassword'][0])) // lock account if required - $return[$_SESSION[$this->base]->dn]['modify']['userPassword'][0] = pwd_disable($this->orig['userPassword'][0]); - else // password hasn't changed - $return[$_SESSION[$this->base]->dn]['notchanged']['userPassword'][0] = $this->orig['userPassword'][0]; - } - else { - // New user or no old password set - if ($this->userPassword_nopassword) // use no password - $return[$_SESSION[$this->base]->dn]['add']['userPassword'][0] = pwd_hash('', !$this->userPassword_lock, $this->moduleSettings['posixAccount_pwdHash'][0]); - else if ($this->userPassword_invalid) // use '*' as password - $return[$_SESSION[$this->base]->dn]['add']['userPassword'][0] = '*'; - else if ($this->userPassword()!='') // set password if set - $return[$_SESSION[$this->base]->dn]['add']['userPassword'][0] = pwd_hash($this->userPassword(), !$this->userPassword_lock, $this->moduleSettings['posixAccount_pwdHash'][0]); - } - - // Remove primary group from additional groups - for ($i=0; $igroups); $i++) { - if ($this->groups[$i]==$_SESSION['cache']->getgrnam($this->attributes['gidNumber'][0])) unset($this->groups[$i]); - } - - // Set additional group memberships - if ($this->orig['uid'][0]!='' && $this->attributes['uid'][0]!=$this->orig['uid'][0]) { - // remove old memberships - $dn_groups = $_SESSION['cache']->get_cache('memberUid', 'posixGroup', 'group'); - $DNs = array_keys($dn_groups); - foreach ($DNs as $DN) - if (in_array($this->orig['uid'][0], $dn_groups[$DN])) - $return[$DN]['remove']['memberUid'][0] = $this->orig['uid'][0]; - // Add new memberships - if (is_array($this->groups)) - foreach ($this->groups as $group) { - $dn = $_SESSION['ldap']->in_cache ($group, 'cn', 'group'); - $return[$dn]['add']['memberUid'][0] = $this->attributes['uid'][0]; - } - } - else { - if (is_array($this->groups)) { - // There are some additional groups defined - if (is_array($this->groups_orig)) { - //There are some old groups. - $add = array_delete($this->groups_orig, $this->groups); - $remove = array_delete($this->groups, $this->groups_orig); - $dn_cns = $_SESSION['cache']->get_cache('cn', 'posixGroup', 'group'); - // get_cache will return an array ( dn1 => array(cn1), dn2 => array(cn2), ... ) - $DNs = array_keys($dn_cns); - foreach ($DNs as $DN) { - if (is_array($add)) - if (in_array($dn_cns[$DN][0], $add)) $return[$DN]['add']['memberUid'] = $this->attributes['uid'][0]; - if (is_array($remove)) - if (in_array($dn_cns[$DN][0], $remove)) $return[$DN]['remove']['memberUid'] = $this->attributes['uid'][0]; - } - // primary group mut also be removed if it has changed after setting additional groups - if (in_array($_SESSION['cache']->getgrnam($this->attributes['gidNumber'][0]), $this->groups_orig)) $return[$DN]['remove']['memberUid'] = $this->attributes['uid']; - } - else { - // Add user to every group - $dn_cns = $_SESSION['cache']->get_cache('cn', 'posixGroup', 'group'); - // get_cache will return an array ( dn1 => array(cn1), dn2 => array(cn2), ... ) - $DNs = array_keys($dn_cns); - foreach ($DNs as $DN) { - if (in_array($dn_cns[$DN][0], $this->groups)) $return[$DN]['add']['memberUid'] = $this->attributes['uid'][0]; - } - } - } - else { - if (is_array($this->groups_orig)) { - //There are some old groups which have to be removed - $dn_cns = $_SESSION['cache']->get_cache('cn', 'posixGroup', 'group'); - // get_cache will return an array ( dn1 => array(cn1), dn2 => array(cn2), ... ) - $DNs = array_keys($dn_cns); - foreach ($DNs as $DN) { - if (in_array($dn_cns[$DN][0], $this->orig['groups'])) $return[$DN]['remove']['memberUid'] = $this->attributes['uid'][0]; - } - } - } - } - // fixme TODO lamdeamon without DN - if ($this->createhomedir) $return[$_SESSION[$this->base]->dn]['lamdaemon']['command'][] = $this->attributes['uid'][0] . " home add"; - return $return; - } - - function delete_attributes($post) { - $return = array(); - // remove memberUids if set - $groups = $_SESSION['cache']->get_cache('memberUid', 'posixGroup', 'group'); - $DNs = array_keys($groups); - for ($i=0; $iattributes['uid'][0], $groups[$DNs[$i]])) $return[$DNs[$i]]['remove']['memberUid'][] = $this->attributes['uid'][0]; - } - if ($post['deletehomedir']) $return[$_SESSION[$this->base]->dn_orig]['lamdaemon']['command'][] = $this->attributes['uid'][0] . " home rem"; - return $return; - } - - /* Write variables into object and do some regexp checks - */ - function proccess_attributes($post) { - $this->attributes['homeDirectory'][0] = $post['homeDirectory']; - $this->attributes['loginShell'][0] = $post['loginShell']; - if (isset($post['gecos'])) $this->attributes['gecos'][0] = $post['gecos']; - if ($post['createhomedir']) $this->createhomedir = true; - else $this->createhomedir = false; - if ($this->orig['uid'][0]!='' && $post['uid']!=$this->attributes['uid'][0]) - $triggered_messages['uid'][] = $this->messages['uid'][0]; - if ($this->orig['gidNumber'][0]!='' && $_SESSION['cache']->getgid($post['gidNumber'])!=$this->attributes['gidNumber'][0]) - $triggered_messages['gidNumber'][] = $this->dynamic_Message('gidNumber',0); - if ($this->orig['uidNumber'][0]!='' && $post['uidNumber']!=$this->attributes['uidNumber'][0]) - $triggered_messages['uidNumber'][] = $this->dynamic_Message('uidNumber',0); - if (isset($post['homeDirectory']) && $this->orig['homeDirectory'][0]!='' && $post['homeDirectory']!=$this->attributes['homeDirectory'][0]) - $triggered_messages['homeDirectory'][] = $this->dynamic_Message('homeDirectory',0); - // Load attributes - $this->attributes['uid'][0] = $post['uid']; - $this->attributes['cn'][0] = $this->attributes['uid'][0]; - $this->attributes['uidNumber'][0] = $post['uidNumber']; - $this->attributes['gidNumber'][0] = $_SESSION['cache']->getgid($post['gidNumber']); - // Check if UID is valid. If none value was entered, the next useable value will be inserted - // load min and may uidNumber - if ($_SESSION[$this->base]->type=='user') { - $minID = intval($this->moduleSettings['posixAccount_minUID'][0]); - $maxID = intval($this->moduleSettings['posixAccount_maxUID'][0]); - } - if ($_SESSION[$this->base]->type=='host') { - $minID = intval($this->moduleSettings['posixAccount_minMachine'][0]); - $maxID = intval($this->moduleSettings['posixAccount_maxMachine'][0]); - } - $dn_uids = $_SESSION['cache']->get_cache('uidNumber', 'posixAccount', '*'); - // get_cache will return an array ( dn1 => array(uidnumber1), dn2 => array(uidnumber2), ... ) - if(is_array($dn_uids)) { - foreach ($dn_uids as $uid) $uids[] = $uid[0]; - sort ($uids, SORT_NUMERIC); - } - if ($this->attributes['uidNumber'][0]=='') { - // No id-number given - if ($this->orig['uidNumber'][0]=='') { - // new account -> we have to find a free id-number - if (count($uids)!=0) { - // There are some uids - // Store highest id-number - $id = $uids[count($uids)-1]; - // Return minimum allowed id-number if all found id-numbers are too low - if ($id < $minID) $this->attributes['uidNumber'][0] = $minID; - // Return higesht used id-number + 1 if it's still in valid range - if ($id < $maxID) $this->attributes['uidNumber'][0] = $id+1; - /* If this function is still running we have to fid a free id-number between - * the used id-numbers - */ - $i = intval($minID); - while (in_array($i, $uids)) $i++; - if ($i>$maxID) - $triggered_messages['uidNumber'][] = $this->messages['uidNumber'][1]; - else { - $this->attributes['uidNumber'][0] = $i; - $triggered_messages['uidNumber'][] = $this->messages['uidNumber'][2]; - } - } - else $this->attributes['uidNumber'][0] = $minID; - // return minimum allowed id-number if no id-numbers are found - } - else $this->attributes['uidNumber'][0] = $this->orig['uidNumber'][0]; - // old account -> return id-number which has been used - } - else { - // Check manual ID - // id-number is out of valid range - if ( ($this->attributes['uidNumber'][0]!=$post['uidNumber']) && ($this->attributes['uidNumber'][0] < $minID || $this->attributes['uidNumber'][0] > $maxID)) $triggered_messages['uidNumber'][] = array('ERROR', _('ID-Number'), sprintf(_('Please enter a value between %s and %s!'), $minID, $maxID)); - // $uids is allways an array but not if no entries were found - if (is_array($uids)) { - // id-number is in use and account is a new account - if ((in_array($this->attributes['uidNumber'][0], $uids)) && $this->orig['uidNumber'][0]=='') $triggered_messages['uidNumber'][] = array('ERROR', _('ID-Number'), _('ID is already in use')); - // id-number is in use, account is existing account and id-number is not used by itself - if ((in_array($this->attributes['uidNumber'][0], $uids)) && $this->orig['uidNumber'][0]!='' && ($this->orig['uidNumber'][0] != $this->attributes['uidNumber'][0]) ) { - $triggered_messages['uidNumber'][] = $this->messages['uidNumber'][3]; - $this->attributes['uidNumber'][0] = $this->orig['uidNumber'][0]; - } - } - } - if ($_SESSION[$this->base]->type=='user') { - if (($this->attributes['uid'][0] != $post['uid']) && !get_preg($post['uid'], '!upper')) - $triggered_messages['uid'][] = $this->messages['uid'][1]; - if ( !get_preg($this->attributes['homeDirectory'][0], 'homeDirectory' )) - $triggered_messages['homeDirecotry'][] = $this->messages['homeDirectory'][0]; - } - if (($post['userPassword_lock'] && $post['userPassword_invalid']) || ($post['userPassword_nopassword'] && $post['userPassword_invalid'])) { - // found invalid password parameter combination - $triggered_messages['userPassword'][] = $this->messages['userPassword'][3]; - } - else { - if ($post['userPassword_nopassword']) { - $this->userPassword_nopassword=true; - $this->userPassword_invalid=false; - $this->userPassword(''); - $post['userPassword2'] = ''; - if ($post['userPassword_lock']) - $this->userPassword_lock=true; - else $this->userPassword_lock=false; - } - else { - $this->userPassword_nopassword=false; - if ($post['userPassword_invalid']) { - $this->userPassword_invalid=true; - $this->userPassword_lock=false; - $this->userPassword(''); - $post['userPassword2'] = ''; - } - else { - $this->userPassword_invalid=false; - if ($post['genpass']) $this->userPassword(genpasswd()); - else { - if ($post['userPassword'] != $post['userPassword2']) - $triggered_messages['userPassword'][] = $this->messages['userPassword'][0]; - else $this->userPassword($post['userPassword']); - if (!get_preg($this->userPassword(), 'password')) - $triggered_messages['userPassword'][] = $this->messages['userPassword'][1]; - } - if ($post['userPassword_lock']) $this->userPassword_lock=true; - else $this->userPassword_lock=false; - } - } - if ($_SESSION[$this->base]->type=='user') { - $this->attributes['homeDirectory'][0] = str_replace('$group', $_SESSION['cache']->getgrnam($this->attributes['gidNumber'][0]), $this->attributes['homeDirectory'][0]); - if ($this->attributes['uid'][0] != '') - $this->attributes['homeDirectory'][0] = str_replace('$user', $this->attributes['uid'][0], $this->attributes['homeDirectory'][0]); - if ($this->attributes['homeDirectory'][0] != $post['homeDirectory']) $triggered_messages['homeDirecotry'][] = array('INFO', _('Home directory'), _('Replaced $user or $group in homedir.')); - // Check if Username contains only valid characters - if ( !get_preg($this->attributes['uid'][0], 'username') && !$profile) - $triggered_messages['uid'][] = $this->messages['uid'][2]; - } - if ($_SESSION[$this->base]->type=='host') { - // Check if Hostname contains only valid characters - if ( !get_preg($this->attributes['uid'][0], 'hostname')) - $triggered_messages['uid'][] = $this->messages['uid'][4]; - } - // Create automatic useraccount with number if original user already exists - // Reset name to original name if new name is in use - // Set username back to original name if new username is in use - if ($_SESSION['cache']->in_cache($this->attributes['uid'][0],'uid', '*') && ($this->orig['uid'][0]!='')) - $this->attributes['uid'][0] = $this->orig['uid'][0]; - // Change uid to a new uid until a free uid is found - else - while ($_SESSION['cache']->in_cache($this->attributes['uid'][0], 'uid', '*')) { - if ($_SESSION[$this->base]->type=='host') $this->attributes['uid'][0] = substr($this->attributes['uid'][0], 0, -1); - // get last character of username - $lastchar = substr($this->attributes['uid'][0], strlen($this->attributes['uid'][0])-1, 1); - // Last character is no number - if ( !ereg('^([0-9])+$', $lastchar)) - /* Last character is no number. Therefore we only have to - * add "2" to it. - */ - if ($_SESSION[$this->base]->type=='host') $this->attributes['uid'][0] = $this->attributes['uid'][0] . '2$'; - else $this->attributes['uid'][0] = $this->attributes['uid'][0] . '2'; - else { - /* Last character is a number -> we have to increase the number until we've - * found a groupname with trailing number which is not in use. - * - * $i will show us were we have to split groupname so we get a part - * with the groupname and a part with the trailing number - */ - $i=strlen($this->attributes['uid'][0])-1; - $mark = false; - // Set $i to the last character which is a number in $account_new->general_username - while (!$mark) - if (ereg('^([0-9])+$',substr($this->attributes['uid'][0], $i, strlen($this->attributes['uid'][0])-$i))) $i--; - else $mark=true; - // increase last number with one - $firstchars = substr($this->attributes['uid'][0], 0, $i+1); - $lastchars = substr($this->attributes['uid'][0], $i+1, strlen($this->attributes['uid'][0])-$i); - // Put username together - if ($_SESSION[$this->base]->type=='host') $this->attributes['uid'][0] = $firstchars . (intval($lastchars)+1)."$"; - else $this->attributes['uid'][0] = $firstchars . (intval($lastchars)+1); - } - } - // Show warning if lam has changed username - if ($this->attributes['uid'][0] != $post['uid']) { - if ($_SESSION[$this->base]->type=='user') - $triggered_messages['uid'][] = $this->messages['uid'][5]; - if ($_SESSION[$this->base]->type=='host') - $triggered_messages['uid'][] = $this->messages['uid'][6]; - } - if (!get_preg($this->userPassword(), 'password')) - $triggered_messages['userPassword'][] = $this->messages['userPassword'][1]; - } - - $temp = $this->input_check(); - // TODO is this really OK? - if (is_array($temp)) $triggered_messages = array_merge_recursive($triggered_messages, $temp); - // Return error-messages - if (count($triggered_messages)!=0) { - $this->triggered_messages = $triggered_messages; - return $triggered_messages; - } - else $this->triggered_messages = array(); - // Go to additional group page when no error did ocour and button was pressed - if ($post['addgroup']) return 'group'; - return 0; - } - - /* Write variables into object and do some regexp checks - */ - function proccess_group($post) { - do { // X-Or, only one if() can be true - if (isset($post['addgroups']) && isset($post['addgroups_button'])) { // Add groups to list - // Add new group - $this->groups = @array_merge($this->groups, $post['addgroups']); - // sort groups - sort($this->groups); - break; - } - if (isset($post['removegroups']) && isset($post['removegroups_button'])) { // remove groups from list - $this->groups = array_delete($post['removegroups'], $this->groups); - break; - } - } while(0); - if (isset($post['addgroups_button']) || isset($post['removegroups_button'])) return 'group'; - if ($post['back']) return 'attributes'; - return 0; - } - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_attributes($post) { - $groups = $_SESSION['cache']->findgroups(); // list of all groupnames - $shelllist = getshells(); // list of all valid shells - - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _("Username").'*' ), - 1 => array ( 'kind' => 'input', 'name' => 'uid', 'type' => 'text', 'size' => '20', 'maxlength' => '20', 'value' => $this->attributes['uid'][0]), - 2 => array ('kind' => 'help', 'value' => 'uid')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('UID number').'*' ), - 1 => array ( 'kind' => 'input', 'name' => 'uidNumber', 'type' => 'text', 'size' => '6', 'maxlength' => '6', 'value' => $this->attributes['uidNumber'][0]), - 2 => array ('kind' => 'help', 'value' => 'uidNumber')); - if (!isset($_SESSION[$this->base]->modules['inetOrgPerson'])) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Gecos') ), - 1 => array ( 'kind' => 'input', 'name' => 'gecos', 'type' => 'text', 'size' => '30', 'maxlength' => '255', 'value' => $this->attributes['gecos'][0]), - 2 => array ('kind' => 'help', 'value' => 'gecos')); - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Primary group').'*' ), - 1 => array ( 'kind' => 'select', 'name' => 'gidNumber', 'options' => $groups, 'options_selected' => - array ($_SESSION['cache']->getgrnam($this->attributes['gidNumber'][0]))), - 2 => array ('kind' => 'help', 'value' => 'gidNumber')); - - if ($_SESSION[$this->base]->type=='user') { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Additional groups') ), - 1 => array ( 'kind' => 'input', 'name' => 'addgroup', 'type' => 'submit', 'value' => _('Edit groups')), - 2 => array ('kind' => 'help', 'value' => 'addgroup')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Home directory').'*' ), - 1 => array ( 'kind' => 'input', 'name' => 'homeDirectory', 'type' => 'text', 'size' => '30', 'maxlength' => '255', 'value' => $this->attributes['homeDirectory'][0]), - 2 => array ('kind' => 'help', 'value' => 'homeDirectory')); - if ($this->orig['homeDirectory']=='' && isset($_SESSION['config']->scriptPath)) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Create home directory') ), - 1 => array ( 'kind' => 'input', 'name' => 'createhomedir', 'type' => 'checkbox', 'checked' => $this->createhomedir), - 2 => array ('kind' => 'help', 'value' => 'createhomedir')); - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $this->userPassword()), - 2 => array ( 'kind' => 'input', 'name' => 'genpass', 'type' => 'submit', 'value' => _('Generate password'))); - if ($post['userPassword2']!='') $password2 = $post['userPassword2']; - else $password2 = $this->userPassword(); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Repeat password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword2', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $password2), - 2 => array ('kind' => 'help', 'value' => 'userPassword')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Set no password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword_nopassword', 'type' => 'checkbox', 'checked' => $this->userPassword_nopassword), - 2 => array ('kind' => 'help', 'value' => 'userPassword_nopassword')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Invalid password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword_invalid', 'type' => 'checkbox', 'checked' => $this->userPassword_invalid), - 2 => array ('kind' => 'help', 'value' => 'userPassword_invalid')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Lock password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword_lock', 'type' => 'checkbox', 'checked' => $this->userPassword_lock), - 2 => array ('kind' => 'help', 'value' => 'userPassword_lock')); - if (count($shelllist)!=0) - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Login shell').'*' ), - 1 => array ( 'kind' => 'select', 'name' => 'loginShell', 'options' => $shelllist, 'options_selected' => - array ($this->attributes['loginShell'][0])), - 2 => array ('kind' => 'help', 'value' => 'loginShell')); - } - return $return; - } - - function display_html_delete($post) { - if ($_SESSION[$this->base]->type=='user' && isset($_SESSION['config']->scriptPath)) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Delete home directory') ), - 1 => array ( 'kind' => 'input', 'name' => 'deletehomedir', 'type' => 'checkbox'), - 2 => array ('kind' => 'help', 'value' => 'deletehomedir')); - } - return $return; - } - - function display_html_group($post) { - // load list with all groups - $dn_groups = $_SESSION['cache']->get_cache('gidNumber', 'posixGroup', 'group'); - $DNs = array_keys($dn_groups); - foreach ($DNs as $DN) - $groups[] = substr($DN, 3, strpos($DN, ',')-3); - // remove groups the user is member of from grouplist - $groups = array_delete($this->groups, $groups); - // Remove primary group from grouplist - $group = $_SESSION['cache']->getgrnam($this->attributes['gidNumber'][0]); - $groups = array_flip($groups); - unset ($groups[$group]); - $groups = array_flip($groups); - // sort groups - sort($groups, SORT_STRING); - - $return[] = array ( 0 => array ( 'kind' => 'fieldset', 'legend' => _("Additional groups"), 'value' => - array ( 0 => array ( 0 => array ('kind' => 'fieldset', 'td' => array ('valign' => 'top'), 'legend' => _("Selected groups"), 'value' => - array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'removegroups[]', 'size' => '15', 'multiple', 'options' => $this->groups)))), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'addgroups_button', - 'value' => '<=')), 1 => array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'removegroups_button', 'value' => '=>' )), - 2 => array ( 0 => array ( 'kind' => 'help', 'value' => 'addgroup' )))), - 2 => array ('kind' => 'fieldset', 'td' => array ('valign' => 'top'), 'legend' => _("Available groups"), 'value' => - array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'addgroups[]', 'size' => '15', 'multiple', 'options' => $groups)))) - )))); - - $return[] = array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'value' => _('Back'), 'name' => 'back' ), - 1 => array ( 'kind' => 'text'), - 2 => array ('kind' => 'text')); - return $return; - } - - - /** - * Returns a list of elements for the account profiles. - * - * @return profile elements - */ - function get_profileOptions() { - $return = array(); - if ($this->scope == 'user') { - $groups = $_SESSION['cache']->findgroups(); // list of all groupnames - $shelllist = getshells(); // list of all valid shells - // primary Unix group - $return[] = array(0 => array('kind' => 'text', 'text' => _('Primary group') . ": "), - 1 => array('kind' => 'select', 'name' => 'posixAccount_primaryGroup', 'options' => $groups, 'options_selected' => array(), 'size' => 1), - 2 => array('kind' => 'help', 'value' => 'gidNumber', 'scope' => 'user')); - // additional group memberships - $return[] = array(0 => array('kind' => 'text', 'text' => _('Additional groups') . ": "), - 1 => array('kind' => 'select', 'name' => 'posixAccount_additionalGroup', 'options' => $groups, - 'options_selected' => array(), 'size' => 10, 'multiple' => true), - 2 => array('kind' => 'help', 'value' => 'addgroup', 'scope' => 'user')); - // home directory - $return[] = array(0 => array('kind' => 'text', 'text' => _('Home directory') . ": "), - 1 => array('kind' => 'input', 'name' => 'posixAccount_homeDirectory', 'type' => 'text', 'size' => '30', 'maxlength' => '255', 'value' => '/home/$user'), - 2 => array('kind' => 'help', 'value' => 'homeDirectory', 'scope' => 'user')); - // login shell - $return[] = array(0 => array('kind' => 'text', 'text' => _('Login shell') . ": "), - 1 => array('kind' => 'select', 'name' => 'posixAccount_loginShell', 'options' => $shelllist, 'options_selected' => array("/bin/bash")), - 2 => array('kind' => 'help', 'value' => 'loginShell', 'scope' => 'user')); - // do not set password - $return[] = array(0 => array('kind' => 'text', 'text' => _('Set no password') . ": "), - 1 => array('kind' => 'input', 'name' => 'posixAccount_userPassword_no', 'type' => 'checkbox', 'checked' => false), - 2 => array('kind' => 'help', 'value' => 'posixAccount_userPassword_no', 'scope' => 'user')); - // disable account - $return[] = array(0 => array('kind' => 'text', 'text' => _('Lock password') . ": "), - 1 => array('kind' => 'input', 'name' => 'posixAccount_userPassword_lock', 'type' => 'checkbox', 'checked' => false), - 2 => array('kind' => 'help', 'value' => 'posixAccount_userPassword_lock', 'scope' => 'user')); - } - elseif ($this->scope == 'host') { - $groups = $_SESSION['cache']->findgroups(); // list of all groupnames - // primary Unix group - $return[] = array(0 => array('kind' => 'text', 'text' => _('Primary group') . ": "), - 1 => array('kind' => 'select', 'name' => 'posixAccount_primaryGroup', 'options' => $groups, 'options_selected' => array(), 'size' => 1), - 2 => array('kind' => 'help', 'value' => 'gidNumber', 'scope' => 'host')); - } - return $return; - } - - /* - * (non-PHPDoc) - * @see baseModule#get_pdfEntries - */ - function get_pdfEntries($account_type = "user") { - return array( 'posixAccount_uid' => array('' . _('Username') . '' . $this->attributes['uid'][0] . ''), - 'posixAccount_uidNumber' => array('' . _('UID number') . '' . $this->attributes['uidNumber'][0] . ''), - 'posixAccount_gidNumber' => array('' . _('GID number') . '' . $this->attributes['gidNumber'][0] . ''), - 'posixAccount_gecos' => array('' . _('Gecos') . '' . $this->attributes['gecos'][0] . ''), - 'posixAccount_primaryGroup' => array('' . _('Primary group') . '' . $_SESSION['cache']->getgrnam($this->attributes['gidNumber'][0]) . ''), - 'posixAccount_additionalGroups' => array('' . _('Additional groups') . '' . ''), - 'posixAccount_homeDirectory' => array('' . _('Home directory') . '' . $this->attributes['homeDirectory'][0] . ''), - 'posixAccount_userPassword' => array('' . _('Password') . '' . $this->attributes['userPassword'][0] . ''), - 'posixAccount_loginShell' => array('' . _('Login shell') . '' . $this->attributes['loginShell'][0] . ''), - ); - } - - /** - * Checks input values of module settings. - * - * @param array $scopes list of account types which are used - * @param array $options hash array containing the settings (array('option' => array('value'))) - * @return array list of error messages - */ - function check_configOptions($scopes, $options) { - $return = array(); - // user settings - if (in_array('user', $scopes)) { - // min/maxUID are required, check if they are numeric - if (!isset($options['posixAccount_minUID'][0]) || !ereg('^[0-9]+$', $options['posixAccount_minUID'][0])) { - $return[] = $this->messages['minUID'][0]; - } - if (!isset($options['posixAccount_maxUID'][0]) || !ereg('^[0-9]+$', $options['posixAccount_maxUID'][0])) { - $return[] = $this->messages['maxUID'][0]; - } - // minUID < maxUID - if (isset($options['posixAccount_minUID'][0]) && isset($options['posixAccount_maxUID'][0])) { - if ($options['posixAccount_minUID'][0] > $options['posixAccount_maxUID'][0]) { - $return[] = $this->messages['cmp_UID'][0]; - } - } - } - // host settings - if (in_array('host', $scopes)) { - // min/maxUID are required, check if they are numeric - if (!isset($options['posixAccount_minMachine'][0]) || !ereg('^[0-9]+$', $options['posixAccount_minMachine'][0])) { - $return[] = $this->messages['minMachine'][0]; - } - if (!isset($options['posixAccount_maxMachine'][0]) || !ereg('^[0-9]+$', $options['posixAccount_maxMachine'][0])) { - $return[] = $this->messages['maxMachine'][0]; - } - // minUID < maxUID - if (isset($options['posixAccount_minMachine'][0]) && isset($options['posixAccount_maxMachine'][0])) { - if ($options['posixAccount_minMachine'][0] > $options['posixAccount_maxMachine'][0]) { - $return[] = $this->messages['cmp_Machine'][0]; - } - } - } - // check if user and host ranges overlap - if (in_array('user', $scopes) && in_array('host', $scopes)) { - if (isset($options['posixAccount_minUID'][0]) && isset($options['posixAccount_maxUID'][0]) && - isset($options['posixAccount_minMachine'][0]) && isset($options['posixAccount_maxMachine'][0])) { - if (($options['posixAccount_minMachine'][0] > $options['posixAccount_minUID'][0]) && - ($options['posixAccount_minMachine'][0] < $options['posixAccount_maxUID'][0])) { - $return[] = $this->messages['cmp_both'][0]; - } - if (($options['posixAccount_minUID'][0] > $options['posixAccount_minMachine'][0]) && - ($options['posixAccount_minUID'][0] < $options['posixAccount_maxMachine'][0])) { - $return[] = $this->messages['cmp_both'][0]; - } - } - } - return $return; - } - - /** - * In this function the LDAP account is built up. - * - * @param array $rawAccounts list of hash arrays (name => value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - $triggered_messages = array(); - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - if (!in_array("posixAccount", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "posixAccount"; - // UID - if ($rawAccounts[$i][$ids['posixAccount_uid']] == "") { - // TODO autoGID - $partialAccounts[$i]['uidNumber'] = 42; - } - elseif (get_preg($rawAccounts[$i][$ids['posixAccount_uid']], 'digit')) { - if (($this->get_scope() == 'user') && - ($rawAccounts[$i][$ids['posixAccount_uid']] > $this->moduleSettings['posixAccount_minUID'][0]) && - ($rawAccounts[$i][$ids['posixAccount_uid']] < $this->moduleSettings['posixAccount_maxUID'][0])) { - $partialAccounts[$i]['uidNumber'] = $rawAccounts[$i][$ids['posixAccount_uid']]; - } - elseif (($this->get_scope() == 'host') && - ($rawAccounts[$i][$ids['posixAccount_uid']] > $this->moduleSettings['posixAccount_minMachine'][0]) && - ($rawAccounts[$i][$ids['posixAccount_uid']] < $this->moduleSettings['posixAccount_maxMachine'][0])) { - $partialAccounts[$i]['uidNumber'] = $rawAccounts[$i][$ids['posixAccount_uid']]; - } - } - else { - $errMsg = $this->messages['uidNumber'][4]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // GID number - if (get_preg($rawAccounts[$i][$ids['posixAccount_group']], 'digit')) { - $partialAccounts[$i]['gidNumber'] = $rawAccounts[$i][$ids['posixAccount_group']]; - } - if (get_preg($rawAccounts[$i][$ids['posixAccount_group']], 'groupname')) { - $partialAccounts[$i]['gidNumber'] = 42; - $gid = $_SESSION['cache']->getgid($rawAccounts[$i][$ids['posixAccount_group']]); - if (is_numeric($gid)) { - $partialAccounts[$i]['gidNumber'] = $gid; - } - else { - $errMsg = $this->messages['gidNumber'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - else { - $errMsg = $this->messages['gidNumber'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // GECOS // TODO fill default values - if (($rawAccounts[$i][$ids['posixAccount_gecos']] != "") && (get_preg($rawAccounts[$i][$ids['posixAccount_gecos']], 'gecos'))) { - $partialAccounts[$i]['gecos'] = $rawAccounts[$i][$ids['posixAccount_gecos']]; - } - else { - $errMsg = $this->messages['gecos'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // user specific attributes - if ($this->scope == 'user') { - // user name - if (get_preg($rawAccounts[$i][$ids['posixAccount_userName']], 'username')) { - $partialAccounts[$i]['uid'] = $rawAccounts[$i][$ids['posixAccount_userName']]; - } - else { - $errMsg = $this->messages['uid'][7]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // home directory - if ($rawAccounts[$i][$ids['posixAccount_homedir']] == "") { - $partialAccounts[$i]['homeDirectory'] = '/home/' . $partialAccounts[$i]['uid']; - } - elseif (get_preg($rawAccounts[$i][$ids['posixAccount_homedir']], 'homeDirectory')) { - $partialAccounts[$i]['homeDirectory'] = $rawAccounts[$i][$ids['posixAccount_homedir']]; - } - else { - $errMsg = $this->messages['homeDirectory'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // login shell - if ($rawAccounts[$i][$ids['posixAccount_shell']] == "") { - $partialAccounts[$i]['loginShell'] = '/bin/bash'; - } - elseif (in_array($rawAccounts[$i][$ids['posixAccount_shell']], getshells())) { - $partialAccounts[$i]['loginShell'] = $rawAccounts[$i][$ids['posixAccount_shell']]; - } - else { - $errMsg = $this->messages['shell'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - $pwd_enabled = true; - // password enabled/disabled - if ($rawAccounts[$i][$ids['posixAccount_passwordDisabled']] == "") { - $pwd_enabled = true; - } - elseif (in_array($rawAccounts[$i][$ids['posixAccount_passwordDisabled']], array('true', 'false'))) { - if ($rawAccounts[$i][$ids['posixAccount_passwordDisabled']] == 'true') $pwd_enabled = false; - else $pwd_enabled = true; - } - else { - $errMsg = $this->messages['passwordDisabled'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // password - if (($rawAccounts[$i][$ids['posixAccount_password']] != "") && (get_preg($rawAccounts[$i][$ids['posixAccount_password']], 'password'))) { - $partialAccounts[$i]['userPassword'] = pwd_hash($rawAccounts[$i][$ids['posixAccount_password']], $pwd_enabled, $this->moduleSettings['posixAccount_pwdHash'][0]); - } - elseif ($rawAccounts[$i][$ids['posixAccount_password']] != "") { - $errMsg = $this->messages['userPassword'][4]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // description - $modules = $_SESSION['config']->get_AccountModules($this->get_scope()); - if (!in_array('inetOrgPerson', $modules)) { - if ($rawAccounts[$i][$ids['posixAccount_description']] && ($rawAccounts[$i][$ids['posixAccount_description']] != '')) { - $partialAccounts[$i]['description'] = $rawAccounts[$i][$ids['posixAccount_description']]; - } - else { - $partialAccounts[$i]['description'] = $rawAccounts[$i][$ids['posixAccount_hostName']]; - } - } - } - // host specific attributes - elseif ($this->scope == 'host') { - // host name - if (get_preg($rawAccounts[$i][$ids['posixAccount_hostName']], 'hostname')) { - $partialAccounts[$i]['uid'] = $rawAccounts[$i][$ids['posixAccount_hostName']]; - $partialAccounts[$i]['cn'] = $rawAccounts[$i][$ids['posixAccount_hostName']]; - } - else { - $errMsg = $this->messages['uid'][8]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // description - if ($rawAccounts[$i][$ids['posixAccount_description']] && ($rawAccounts[$i][$ids['posixAccount_description']] != '')) { - $partialAccounts[$i]['description'] = $rawAccounts[$i][$ids['posixAccount_description']]; - } - else { - $partialAccounts[$i]['description'] = $rawAccounts[$i][$ids['posixAccount_hostName']]; - } - $partialAccounts[$i]['homeDirectory'] = '/dev/null'; - $partialAccounts[$i]['loginShell'] = '/bin/false'; - } - } - return $triggered_messages; - } - - /** - * This function executes one post upload action. - * - * @param array $data array containing one account in each element - * @param array $ids array( => ) - * @param array $failed list of accounts which were not created successfully - * @param array $temp variable to store temporary data between two post actions - * @return array current status - *
array ( - *
'status' => 'finished' | 'inProgress' - *
'progress' => 0..100 - *
'errors' => array () - *
) - */ - function doUploadPostActions($data, $ids, $failed, &$temp) { - // on first call generate list of ldap operations - if (!isset($temp['counter'])) { - $temp['groups'] = array(); - $temp['counter'] = 0; - $col = $ids['posixAccount_additionalGroups']; - for ($i = 0; $i < sizeof($data); $i++) { - if (in_array($i, $failed)) continue; // ignore failed accounts - if ($data[$i][$col] != "") { - $groups = explode(",", $data[$i][$col]); - for ($g = 0; $g < sizeof($groups); $g++) { - if (!in_array($groups[$g], $temp['groups'])) $temp['groups'][] = $groups[$g]; - $temp['members'][$groups[$g]][] = $data[$i][$ids['posixAccount_userName']]; - } - } - } - return array( - 'status' => 'inProgress', - 'progress' => 0, - 'errors' => array() - ); - } - // get DNs of groups - elseif (!isset($temp['dn'])) { - $temp['dn'] = array(); - $result = $_SESSION['cache']->get_cache('cn', 'posixGroup', 'group'); - $keys = array_keys($result); - for ($i = 0; $i < sizeof($result); $i++) { - $temp['dn'][$result[$keys[$i]][0]] = $keys[$i]; - } - } - // add users to groups - elseif ($temp['counter'] < sizeof($temp['groups'])) { - if (isset($temp['dn'][$temp['groups'][$temp['counter']]])) { - $success = @ldap_mod_add($_SESSION['ldap']->server, $temp['dn'][$temp['groups'][$temp['counter']]], array('memberUID' => $temp['members'][$temp['groups'][$temp['counter']]])); - $errors = array(); - if (!$success) { - $errors[] = array( - "ERROR", - _("LAM was unable to modify group memberships for group: %s"), - ldap_errno($_SESSION[ldap]->server) . ": " . ldap_error($_SESSION[ldap]->server), - array($temp['groups'][$temp['counter']]) - ); - } - $temp['counter']++; - return array ( - 'status' => 'inProgress', - 'progress' => ($temp['counter'] * 100) / sizeof($temp['groups']), - 'errors' => $errors - ); - } - else { - $temp['counter']++; - return array ( - 'status' => 'inProgress', - 'progress' => ($temp['counter'] * 100) / sizeof($temp['groups']), - 'errors' => array(array('ERROR', _('Unable to find group in LDAP.'), $temp['groups'][$temp['counter']])) - ); - } - } - // all groups are modified - else { - return array ( - 'status' => 'finished', - 'progress' => 100, - 'errors' => array() - ); - } - } - -} - -?> diff --git a/lam/lib/modules/posixGroup.inc b/lam/lib/modules/posixGroup.inc deleted file mode 100644 index 64be6a4a..00000000 --- a/lam/lib/modules/posixGroup.inc +++ /dev/null @@ -1,771 +0,0 @@ - value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - $triggered_messages = array(); - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - if (!in_array("posixGroup", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "posixGroup"; - // group name - if (get_preg($rawAccounts[$i][$ids['posixGroup_cn']], 'groupname')) { - $partialAccounts[$i]['cn'] = $rawAccounts[$i][$ids['posixGroup_cn']]; - } - else { - $errMsg = $this->messages['cn'][3]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // GID - if ($rawAccounts[$i][$ids['posixGroup_gid']] == "") { - // TODO autoGID - $partialAccounts[$i]['gidNumber'] = 42; - } - elseif (get_preg($rawAccounts[$i][$ids['posixGroup_gid']], 'digit')) { - $partialAccounts[$i]['gidNumber'] = $rawAccounts[$i][$ids['posixGroup_gid']]; - } - else { - $errMsg = $this->messages['gidNumber'][8]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // description (UTF-8, no regex check needed) - if ($rawAccounts[$i][$ids['posixGroup_description']] == "") { - $partialAccounts[$i]['description'] = $partialAccounts[$i]['cn']; - } - else { - $partialAccounts[$i]['description'] = $rawAccounts[$i][$ids['posixGroup_description']]; - } - // group members - if ($rawAccounts[$i][$ids['posixGroup_members']] != "") { - if (get_preg($rawAccounts[$i][$ids['posixGroup_members']], 'usernameList')) { - $partialAccounts[$i]['memberUid'] = explode(",", $rawAccounts[$i][$ids['posixGroup_members']]); - } - else { - $errMsg = $this->messages['memberUID'][0]; - array_push($errMsg, $i); - $triggered_messages[] =$errMsg; - } - } - // password - if ($rawAccounts[$i][$ids['posixGroup_password']] != "") { - if (get_preg($rawAccounts[$i][$ids['posixGroup_password']], 'password')) { - $partialAccounts[$i]['userPassword'] = pwd_hash($rawAccounts[$i][$ids['posixGroup_password']], true, $this->moduleSettings['posixAccount_pwdHash'][0]); - } - else { - $triggered_messages[] = $this->messages['userPassword'][1]; - } - } - } - return $triggered_messages; - } - - - function delete_attributes($post) { - if ($_SESSION['cache']->in_cache($this->attributes['gidNumber'][0], 'gidNumber', 'user')) - $return[$_SESSION[$this->base]->dn]['errors'][] = array ('ERROR', _('Primary group'), _('There are still users who have this group as their primary group.')); - return $return; - } - - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_attributes($post) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _("Groupname").'*' ), - 1 => array ( 'kind' => 'input', 'name' => 'cn', 'type' => 'text', 'size' => '20', 'maxlength' => '20', 'value' => $this->attributes['cn'][0]), - 2 => array ('kind' => 'help', 'value' => 'cn')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('GID number').'*' ), - 1 => array ( 'kind' => 'input', 'name' => 'gidNumber', 'type' => 'text', 'size' => '6', 'maxlength' => '6', 'value' => $this->attributes['gidNumber'][0]), - 2 => array ('kind' => 'help', 'value' => 'gidNumber')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Description') ), - 1 => array ( 'kind' => 'input', 'name' => 'description', 'type' => 'text', 'size' => '30', 'maxlength' => '255', 'value' => $this->attributes['description'][0]), - 2 => array ('kind' => 'help', 'value' => 'description')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _("Group members").'*' ), - 1 => array ( 'kind' => 'input', 'name' => 'adduser', 'type' => 'submit', 'value' => _('Edit groups')), - 2 => array ('kind' => 'help', 'value' => 'adduser')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $this->userPassword()), - 2 => array ( 'kind' => 'input', 'name' => 'genpass', 'type' => 'submit', 'value' => _('Generate password'))); - if ($post['userPassword2']!='') $password2 = $post['userPassword2']; - else $password2 = $this->userPassword(); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Repeat password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword2', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $password2), - 2 => array ('kind' => 'help', 'value' => 'userPassword')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Set no password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword_nopassword', 'type' => 'checkbox', 'checked' => $this->userPassword_nopassword), - 2 => array ('kind' => 'help', 'value' => 'userPassword_nopassword')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Invalid password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword_invalid', 'type' => 'checkbox', 'checked' => $this->userPassword_invalid), - 2 => array ('kind' => 'help', 'value' => 'userPassword_invalid')); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Lock password') ), - 1 => array ( 'kind' => 'input', 'name' => 'userPassword_lock', 'type' => 'checkbox', 'checked' => $this->userPassword_lock), - 2 => array ('kind' => 'help', 'value' => 'userPassword_lock')); - if ($this->attributes['gidNumber'][0]!=$this->orig['gidNumber'][0] && $this->orig['gidNumber'][0]!='') - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Change GID number of users and hosts') ), - 1 => array ( 'kind' => 'input', 'name' => 'changegids', 'type' => 'checkbox', 'checked' => $this->changegids, 'value' => true), - 2 => array ('kind' => 'help', 'value' => 'changegids')); - return $return; - } - - - function display_html_delete($post) { - // Get list of primary groupmembers. - return 0; - } - - - function display_html_user($post) { - // load list with all groups - $dn_users = $_SESSION['cache']->get_cache('uid', 'posixAccount', 'user'); - if (is_array($dn_users)) { - foreach ($dn_users as $user) $users[] = $user[0]; - // sort groups - sort($users, SORT_STRING); - // remove groups the user is member of from grouplist - $users = array_delete($this->attributes['memberUid'], $users); - // Remove primary group from grouplist - $users_dn = $_SESSION['cache']->get_cache('gidNumber', 'posixAccount', 'user'); - $DNs = array_keys($users_dn); - for ($i=0; $iattributes['gidNumber'][0]) { - $thisuser = substr($DNs[$i], 4, strpos($DNs[$i], ",")-4); - if (in_array($thisuser, $users)) { - $users = @array_flip($users); - unset($users[$thisuser]); - $users = @array_flip($users); - } - } - } - // sort users - sort($users); - } - $return[] = array ( 0 => array ( 'kind' => 'fieldset', 'legend' => _("Group members"), 'value' => - array ( 0 => array ( 0 => array ('kind' => 'fieldset', 'td' => array ('valign' => 'top'), 'legend' => _("Selected users"), 'value' => - array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'removeusers[]', 'size' => '15', 'multiple', 'options' => $this->attributes['memberUid'])))), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'addusers_button', - 'value' => '<=')), 1 => array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'removeusers_button', 'value' => '=>' )), - 2 => array ( 0 => array ( 'kind' => 'help', 'value' => 'adduser' )))), - 2 => array ('kind' => 'fieldset', 'td' => array ('valign' => 'top'), 'legend' => _("Available users"), 'value' => - array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'addusers[]', 'size' => '15', 'multiple', 'options' => $users)))) - )))); - - $return[] = array ( 0 => array ( 'kind' => 'input', 'name' => 'toattributes' ,'type' => 'submit', 'value' => _('Back') ), - 1 => array ( 'kind' => 'text'), - 2 => array ('kind' => 'text')); - return $return; - } - - - /** - * Returns meta data that is interpreted by parent class - * - * @return array array with meta data - */ - function get_metaData() { - $return = array(); - // manages group accounts - $return["account_types"] = array("group"); - if ($this->get_scope() == "group") { - // this is a base module - $return["is_base"] = true; - // LDAP filter - $return["ldap_filter"] = array('or' => "(objectClass=posixGroup)"); - } - // alias name - $return["alias"] = _('Unix'); - // RDN attribute - $return["RDN"] = array("cn" => "normal"); - // module dependencies - $return['dependencies'] = array('depends' => array(), 'conflicts' => array('inetOrgPerson', 'account', 'sambaDomain')); - // configuration options - $return['config_options']['group'] = array( - array( - 0 => array('kind' => 'text', 'text' => '' . _('Minimum GID number') . " *: "), - 1 => array('kind' => 'input', 'name' => 'posixGroup_minGID', 'type' => 'text', 'size' => '10', 'maxlength' => '255'), - 2 => array('kind' => 'text', 'value' => ' '), - 3 => array('kind' => 'text', 'text' => '' . _('Maximum GID number') . " *: "), - 4 => array('kind' => 'input', 'name' => 'posixGroup_maxGID', 'type' => 'text', 'size' => '10', 'maxlength' => '255'), - 5 => array('kind' => 'help', 'value' => 'minMaxGID')), - array( - 0 => array('kind' => 'text', 'text' => '' . _("Password hash type") . ':  '), - 1 => array('kind' => 'select', 'name' => 'posixGroup_pwdHash', 'size' => '1', - 'options' => array("CRYPT", "SHA", "SSHA", "MD5", "SMD5", "PLAIN"), 'options_selected' => array('SSHA')), - 2 => array('kind' => 'text', 'value' => ' '), - 3 => array('kind' => 'text', 'value' => ' '), - 4 => array('kind' => 'text', 'value' => ' '), - 5 => array('kind' => 'help', 'value' => 'pwdHash')) - ); - // configuration descriptions - $return['config_descriptions'] = array( - 'legend' => _("GID ranges for Unix groups"), - 'descriptions' => array( - 'posixGroup_minGID' => _("Minimum GID number for Unix groups"), - 'posixGroup_maxGID' => _("Maximum GID number for Unix groups"), - 'posixGroup_pwdHash' => _("Password hash type for Unix groups"), - ) - ); - // configuration checks - $return['config_checks']['group']['posixGroup_minGID'] = array ( - 'type' => 'ext_preg', - 'regex' => 'digit', - 'required' => true, - 'required_message' => $this->messages['gidNumber'][5], - 'error_message' => $this->messages['gidNumber'][5]); - $return['config_checks']['group']['posixGroup_maxGID'] = array ( - 'type' => 'ext_preg', - 'regex' => 'digit', - 'required' => true, - 'required_message' => $this->messages['gidNumber'][6], - 'error_message' => $this->messages['gidNumber'][6]); - $return['config_checks']['group']['cmpGID'] = array ( - 'type' => 'int_greater', - 'cmp_name1' => 'posixGroup_maxGID', - 'cmp_name2' => 'posixGroup_minGID', - 'error_message' => $this->messages['gidNumber'][7]); - // available PDF fields - $return['PDF_fields'] = array( - 'cn', - 'gidNumber', - 'memberUid', - 'description' - ); - // upload fields - $return['upload_columns'] = array( - array( - 'name' => 'posixGroup_cn', - 'description' => _('Group name'), - 'help' => 'cn', - 'example' => _('adminstrators'), - 'required' => true, - 'unique' => true - ), - array( - 'name' => 'posixGroup_gid', - 'description' => _('GID number'), - 'help' => 'gidNumber', - 'example' => '2034' - ), - array( - 'name' => 'posixGroup_description', - 'description' => _('Group description'), - 'help' => 'description', - 'example' => _('Administrators group') - ), - array( - 'name' => 'posixGroup_members', - 'description' => _('Group members'), - 'help' => 'upload_members', - 'example' => _('user01,user02,user03') - ), - array( - 'name' => 'posixGroup_password', - 'description' => _('Group password'), - 'help' => 'password', - 'example' => _('secret') - ) - ); - // help Entries - $return['help'] = array( - 'cn' => array( - "Headline" => _("Groupname"), - "Text" => _("Group name of the group which should be created. Valid characters are: a-z,0-9, .-_. Lam does not allow a number as first character because groupadd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. If groupname is already used groupname will be expanded with a number. The next free number will be used.") - ), - 'gidNumber' => array( - "Headline" => _("GID number"), - "Text" => _("If empty GID number will be generated automaticly depending on your configuration settings.") - ), - 'description' => array( - "Headline" => _("Description"), - "Text" => _("Group description. If left empty group name will be used.") - ), - 'members' => array( - "Headline" => _("Group members"), - "Text" => _("Users who are member of the current group."). ' '. _("Can be left empty.") - ), - 'upload_members' => array( - "Headline" => _("Group members"), - "Text" => _("Users who will become member of the current group. User names are separated by semicolons.") - ), - 'password' => array( - "Headline" => _("Group password"), - "Text" => _("Sets the group password.") - ), - 'userPassword_no' => array( - "Headline" => _("Use no password"), - "Text" => _("If checked no password will be used.") - ), - /*'userPassword_lock' => */ - 'minMaxGID' => array( - "Headline" => _("GID number"), - "Text" => _("These are the minimum and maximum numbers to use for group IDs when creating new group accounts. New group accounts will always get the highest number in use plus one.") - ), - 'pwdHash' => array( - "Headline" => _("Password hash type"), - "Text" => _("LAM supports CRYPT, SHA, SSHA, MD5 and SMD5 to generate the hash value of passwords. SSHA and CRYPT are the most common but CRYPT does not support passwords greater than 8 letters. We do not recommend to use plain text passwords.") - ) - ); - - return $return; - } - - - /* - * (non-PHPDoc) - * @see baseModule#get_pdfEntries - */ - function get_pdfEntries($account_type = "group") { - return array( 'posixGroup_cn' => array('' . _('Groupname') . '' . $this->attributes['cn'][0] . ''), - 'posixGroup_gidNumber' => array('' . _('GID number') . '' . $this->attributes['gidNumber'][0] . ''), - 'posixGroup_memberUid' => array('' . _('Group members') . '' . $this->attributes['memberUid'][0] . ''), - 'posixGroup_description' => array('' . _('Description') . '' . $this->attributes['description'][0] . '')); - } - - - /** This functin will be called when the module will be loaded **/ - function init($base) { - // call parent init - parent::init($base); - $this->changegids=false; - } - - - /* This function loads all attributes into the object - * $attr is an array as it's retured from ldap_get_attributes - */ - function load_attributes($attr) { - $this->load_ldap_attributes($attr); - // Delete password. We don't want to show an encrypted password because it makes no sense - $this->userPassword(''); - return 0; - } - - - /** this functin fills the error message array with messages - **/ - function load_Messages() { - $this->messages['userPassword'][0] = array('ERROR', _('Password'), _('Please enter the same password in both password-fields.')); - $this->messages['userPassword'][1] = array('ERROR', _('Password'), _('Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !')); - $this->messages['userPassword'][3] = array('ERROR', _('Password'), _('You cannot use this password options at the same time.')); - $this->messages['gidNumber'][0] = array('INFO', _('GID number'), _('GID number has changed. Please select checkbox to change GID number of users and hosts.')); - $this->messages['gidNumber'][2] = array('WARN', _('ID-Number'), _('It is possible that this ID-number is reused. This can cause several problems because files with old permissions might still exist. To avoid this warning set maxUID to a higher value.')); - $this->messages['gidNumber'][3] = array('ERROR', _('ID-Number'), _('No free ID-Number!')); - $this->messages['gidNumber'][4] = array('ERROR', _('ID-Number'), _('ID is already in use')); - $this->messages['gidNumber'][5] = array('ERROR', _('Minimum GID number'), _('Minimum GID number is invalid or empty!')); - $this->messages['gidNumber'][6] = array('ERROR', _('Maximum GID number'), _('Maximum GID number is invalid or empty!')); - $this->messages['gidNumber'][7] = array('ERROR', _('Maximum GID number'), _('Maximum GID number must be greater than minimum GID number!')); - $this->messages['gidNumber'][8] = array('ERROR', _('Account %s:') . ' posixGroup_gid', _('GID number has to be a numeric value!')); - $this->messages['cn'][0] = array('WARN', _('Groupname'), _('You are using a capital letters. This can cause problems because windows isn\'t case-sensitive.')); - $this->messages['cn'][1] = array('WARN', _('Groupname'), _('Groupname in use. Selected next free groupname.')); - $this->messages['cn'][2] = array('ERROR', _('Groupname'), _('Groupname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !')); - $this->messages['cn'][3] = array('ERROR', _('Account %s:') . ' posixGroup_cn', _('Groupname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !')); - $this->messages['memberUID'][0] = array('ERROR', _('Account %s:') . ' posixGroup_members', _("This value must be a list of user names separated by semicolons.")); - } - - - /* This functions return true - * if all needed settings are done - */ - function module_complete() { - if (!$this->module_ready()) return false; - if ($this->attributes['cn'][0] == '') return false; - if ($this->attributes['gidNumber'][0] == '') return false; - return true; - } - - - function module_ready() { - return true; - } - - - /* This function returns a list of all html-pages in module - * This is usefull for mass upload and pdf-files - * because lam can walk trough all pages itself and do some - * error checkings - */ - function pages() { - return array('attributes', 'user'); - } - - - /* Write variables into object and do some regexp checks - */ - function proccess_attributes($post) { - $this->attributes['description'][0] = $post['description']; - - if (($post['userPassword_lock'] && $post['userPassword_invalid']) || ($post['userPassword_nopassword'] && $post['userPassword_invalid'])) { - // found invalid password parameter combination - $triggered_messages['userPassword'][] = $this->messages['userPassword'][3]; - } - else { - if ($post['userPassword_nopassword']) { - $this->userPassword_nopassword=true; - $this->userPassword_invalid=false; - $this->userPassword(''); - $post['userPassword2'] = ''; - if ($post['userPassword_lock']) - $this->userPassword_lock=true; - else $this->userPassword_lock=false; - } - else { - $this->userPassword_nopassword=false; - if ($post['userPassword_invalid']) { - $this->userPassword_invalid=true; - $this->userPassword_lock=false; - $this->userPassword(''); - $post['userPassword2'] = ''; - } - else { - $this->userPassword_invalid=false; - if ($post['genpass']) $this->userPassword(genpasswd()); - else { - if ($post['userPassword'] != $post['userPassword2']) - $triggered_messages['userPassword'][] = $this->messages['userPassword'][0]; - else $this->userPassword($post['userPassword']); - if (!get_preg($this->userPassword(), 'password')) - $triggered_messages['userPassword'][] = $this->messages['userPassword'][1]; - } - if ($post['userPassword_lock']) $this->userPassword_lock=true; - else $this->userPassword_lock=false; - } - } - if ($post['changegids']) $this->changegids=true; - else $this->changegids=false; - if ($this->attributes['gidNumber'][0]!=$post['gidNumber'] || ($this->triggered_messages['gidNumber'][0]='ERROR')) { - // Check if GID is valid. If none value was entered, the next useable value will be inserted - // load min and may uidNumber - $minID = intval($this->moduleSettings['posixGroup_minGID'][0]); - $maxID = intval($this->moduleSettings['posixGroup_maxGID'][0]); - $dn_gids = $_SESSION['cache']->get_cache('gidNumber', 'posixGroup', '*'); - // get_cache will return an array ( dn1 => array(uidnumber1), dn2 => array(uidnumber2), ... ) - if(is_array($dn_gids)) { - foreach ($dn_gids as $gid) $gids[] = $gid[0]; - sort ($gids, SORT_NUMERIC); - } - $this->attributes['gidNumber'][0]=$post['gidNumber']; - if ($this->attributes['gidNumber'][0]=='') { - // No id-number given - if ($this->orig['gidNumber'][0]=='') { - // new account -> we have to find a free id-number - if (count($gids)!=0) { - // There are some uids - // Store highest id-number - $id = $gids[count($gids)-1]; - // Return minimum allowed id-number if all found id-numbers are too low - if ($id < $minID) $this->attributes['gidNumber'][0] = $minID; - // Return higesht used id-number + 1 if it's still in valid range - if ($id < $maxID) $this->attributes['gidNumber'][0] = $id+1; - /* If this function is still running we have to fid a free id-number between - * the used id-numbers - */ - $i = intval($minID); - while (in_array($i, $gids)) $i++; - if ($i>$maxID) - $triggered_messages['gidNumber'][] = $this->messages['gidNumber'][3]; - else { - $this->attributes['gidNumber'][0] = $i; - $triggered_messages['gidNumber'][] = $this->messages['gidNumber'][2]; - } - } - else $this->attributes['gidNumber'][0] = $minID; - // return minimum allowed id-number if no id-numbers are found - } - else $this->attributes['gidNumber'][0] = $this->orig['gidNumber'][0]; - // old account -> return id-number which has been used - } - else { - // Check manual ID - // id-number is out of valid range - if ( ($this->attributes['gidNumber'][0]!=$post['gidNumber']) && ($this->attributes['gidNumber'][0] < $minID || $this->attributes['gidNumber'][0] > $maxID)) $triggered_messages['gidNumber'][] = array('ERROR', _('ID-Number'), sprintf(_('Please enter a value between %s and %s!'), $minID, $maxID)); - // $uids is allways an array but not if no entries were found - if (is_array($gids)) { - // id-number is in use and account is a new account - if ((in_array($this->attributes['gidNumber'][0], $gids)) && $this->orig['gidNumber'][0]=='') $triggered_messages['gidNumber'][] = array('ERROR', _('ID-Number'), _('ID is already in use')); - // id-number is in use, account is existing account and id-number is not used by itself - if ((in_array($this->attributes['gidNumber'][0], $gids)) && $this->orig['gidNumber'][0]!='' && ($this->orig['gidNumber'][0] != $this->attributes['gidNumber'][0]) ) { - $triggered_messages['gidNumber'][] = $this->messages['gidNumber'][4]; - $this->attributes['gidNumber'][0] = $this->orig['gidNumber'][0]; - } - } - } - } - if ($this->attributes['cn'][0]!=$post['cn'] || ($this->triggered_messages['cn'][0]='ERROR')) { - $this->attributes['cn'][0] = $post['cn']; - if (($this->attributes['cn'][0] != $post['cn']) && ereg('[A-Z]$', $post['cn'])) - $triggered_messages['cn'][] = $this->messages['cn'][0]; - // Check if Groupname contains only valid characters - if ( !get_preg($this->attributes['cn'][0],'groupname')) - $triggered_messages['cn'][] = $this->messages['cn'][2]; - // Create automatic useraccount with number if original user already exists - // Reset name to original name if new name is in use - // Set username back to original name if new username is in use - if ($_SESSION['cache']->in_cache($this->attributes['cn'][0],'cn', '*')!=false && ($this->orig['cn'][0]!='')) { - $this->attributes['cn'][0] = $this->orig['cn'][0]; - } - // Change gid to a new gid until a free gid is found - else while ($_SESSION['cache']->in_cache($this->attributes['cn'][0], 'cn', '*')) { - // get last character of username - $lastchar = substr($this->attributes['cn'][0], strlen($this->attributes['cn'][0])-1, 1); - // Last character is no number - if ( !ereg('^([0-9])+$', $lastchar)) - /* Last character is no number. Therefore we only have to - * add "2" to it. - */ - $this->attributes['cn'][0] = $this->attributes['cn'][0] . '2'; - else { - /* Last character is a number -> we have to increase the number until we've - * found a groupname with trailing number which is not in use. - * - * $i will show us were we have to split groupname so we get a part - * with the groupname and a part with the trailing number - */ - $i=strlen($this->attributes['cn'][0])-1; - $mark = false; - // Set $i to the last character which is a number in $account_new->general_username - while (!$mark) { - if (ereg('^([0-9])+$',substr($this->attributes['cn'][0], $i, strlen($this->attributes['cn'][0])-$i))) $i--; - else $mark=true; - } - // increase last number with one - $firstchars = substr($this->attributes['cn'][0], 0, $i+1); - $lastchars = substr($this->attributes['cn'][0], $i+1, strlen($this->attributes['cn'][0])-$i); - // Put username together - $this->attributes['cn'][0] = $firstchars . (intval($lastchars)+1); - } - } - // Show warning if lam has changed username - if ($this->attributes['cn'][0] != $post['cn']) { - $triggered_messages['cn'][] = $this->messages['cn'][0]; - } - // show info when gidnumber has changed - if (($this->orig['gidNumber'][0]!=$this->attributes['gidNumber'][0]) && $this->orig['gidNumber'][0]!='' && $post['gidNumber']!=$this->attributes['gidNumber'][0]) - $triggered_messages['gidNumber'][] = $this->messages['gidNumber'][0]; - } - } - // Return error-messages - if (count($triggered_messages)!=0) { - $this->triggered_messages = $triggered_messages; - return $triggered_messages; - } - else $this->triggered_messages = array(); - // Go to additional group page when no error did ocour and button was pressed - if ($post['adduser']) return 'user'; - return 0; - } - - - /* Write variables into object and do some regexp checks - */ - function proccess_user($post) { - do { // X-Or, only one if() can be true - if (isset($post['addusers']) && isset($post['addusers_button'])) { // Add groups to list - // Add new user - $this->attributes['memberUid'] = @array_merge($this->attributes['memberUid'], $post['addusers']); - // remove doubles - $this->attributes['memberUid'] = @array_flip($this->attributes['memberUid']); - array_unique($this->attributes['memberUid']); - $this->attributes['memberUid'] = @array_flip($this->attributes['memberUid']); - // sort groups - sort($this->attributes['memberUid']); - break; - } - if (isset($post['removeusers']) && isset($post['removeusers_button'])) { // remove groups from list - $this->attributes['memberUid'] = array_delete($post['removeusers'], $this->attributes['memberUid']); - break; - } - } while(0); - if (isset($post['adduser_button']) || isset($post['removeuser_button'])) return 'user'; - if ($post['toattributes']) return 'attributes'; - return 0; - } - - - /* This function returns an array with 3 entries: - * array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... ) - * DN is the DN to change. It may be possible to change several DNs, - * e.g. create a new user and add him to some groups via attribute memberUid - * add are attributes which have to be added to ldap entry - * remove are attributes which have to be removed from ldap entry - * modify are attributes which have to been modified in ldap entry - */ - function save_attributes() { - $return = $_SESSION[$this->base]->save_module_attributes($this->attributes, $this->orig); - - // unset password when needed - if (isset($return[$_SESSION[$this->base]->dn]['add']['userPassword'])) - unset($return[$_SESSION[$this->base]->dn]['add']['userPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['modify']['userPassword'])) - unset($return[$_SESSION[$this->base]->dn]['modify']['userPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['notchanged']['userPassword'])) - unset($return[$_SESSION[$this->base]->dn]['notchanged']['userPassword']); - // Set unix password - if (isset($this->orig['userPassword'][0])) { - if ($this->userPassword_nopassword) // use no password - $return[$_SESSION[$this->base]->dn]['modify']['userPassword'][0] = pwd_hash('', !$this->userPassword_lock, $this->moduleSettings['posixAccount_pwdHash'][0]); - else if ($this->userPassword_invalid) // use '*' as password - $return[$_SESSION[$this->base]->dn]['modify']['userPassword'][0] = '*'; - else if (($this->attributes['userPassword'][0] != $this->orig['userPassword'][0]) && $this->userPassword()!='') // set password if set - $return[$_SESSION[$this->base]->dn]['modify']['userPassword'][0] = pwd_hash($this->userPassword(), !$this->userPassword_lock, $this->moduleSettings['posixAccount_pwdHash'][0]); - else if ($this->userPassword_lock && (pwd_disable($this->orig['userPassword'][0]) != $this->orig['userPassword'][0])) // lock account if required - $return[$_SESSION[$this->base]->dn]['modify']['userPassword'][0] = pwd_disable($this->orig['userPassword'][0]); - else // password hasn't changed - $return[$_SESSION[$this->base]->dn]['notchanged']['userPassword'][0] = $this->orig['userPassword'][0]; - } - else { - // New user or no old password set - if ($this->userPassword_nopassword) // use no password - $return[$_SESSION[$this->base]->dn]['add']['userPassword'][0] = pwd_hash('', !$this->userPassword_lock, $this->moduleSettings['posixAccount_pwdHash'][0]); - else if ($this->userPassword_invalid) // use '*' as password - $return[$_SESSION[$this->base]->dn]['add']['userPassword'][0] = '*'; - else if ($this->userPassword()!='') // set password if set - $return[$_SESSION[$this->base]->dn]['add']['userPassword'][0] = pwd_hash($this->userPassword(), !$this->userPassword_lock, $this->moduleSettings['posixAccount_pwdHash'][0]); - } - - // Remove primary group from users from memberUid - $users_dn = $_SESSION['cache']->get_cache('gidNumber', 'posixAccount', 'user'); - if (is_array($users_dn)) { - $DNs = array_keys($users_dn); - for ($i=0; $iattributes['gidNumber'][0]) { - $thisuser = substr($DNs[$i], 4, strpos($DNs[$i], ",")-4); - if (@in_array($thisuser, $this->attribtues['memberUid'])) { - $this->attribtues['memberUid'] = @array_flip($this->attribtues['memberUid']); - unset($this->attribtues['memberUid'][$thisuser]); - $this->attribtues['memberUid'] = @array_flip($this->attribtues['memberUid']); - } - } - } - } - - - // Change gids of users and hosts? - if ($this->changegids) { - // get gidNumber - $line=-1; - for ($i=0; $iobjectClasses) || $i==-1; $i++) { - if (strpos($_SESSION['ldap']->objectClasses[$i], "NAME 'posixAccount'")) $line = $i; - } - if ($line!=-1) { - $result = $_SESSION['cache']->get_cache('gidNumber', 'posixAccount', '*'); - if (is_array($result)) { - $DNs = array_keys($result); - for ($i=0; $iorig['gidNumber'][0]) $return[$DNs[$i]]['modify']['gidNumber'][0] = $this->attributes['gidNumber'][0]; - } - } - // change primaryGroupID - $line=-1; - for ($i=0; $iobjectClasses) || $i==-1; $i++) { - if (strpos($_SESSION['ldap']->objectClasses[$i], "NAME 'sambaAccount'")) $line = $i; - } - if ($line!=-1) { - $result = $_SESSION['cache']->get_cache('primaryGroupID', 'sambaAccount', '*'); - if (is_array($result)) { - $DNs = array_keys($result); - for ($i=0; $iorig['gidNumber'][0]*2+1001 ) $return[$DNs[$i]]['modify']['PrimaryGroupID'][0] = $this->attributes['gidNumber'][0]*2+1001; - } - } - } - // change sambaPrimaryGroupSID - $line=-1; - for ($i=0; $iobjectClasses) || $i==-1; $i++) { - if (strpos($_SESSION['ldap']->objectClasses[$i], "NAME 'sambaSamAccount'")) $line = $i; - } - if ($line!=-1) { - $result = $_SESSION['cache']->get_cache('sambaPrimaryGroupSID', 'sambaSamAccount', '*'); - if (is_array($result)) { - $DNs = array_keys($result); - for ($i=0; $iget_domainSuffix()); - // Get Domain-SID from group SID - $domainSID = substr($result[$DNs[$i]], 0, strrpos($result[$DNs[$i]], "-")); - for ($i=0; $iSID) - $RIDbase = $sambaDomains[$i]->RIDbase; - if ($result[$DNs[$i]][0] == $SID . "-" . $this->orig['gidNumber'][0]*2+1+$RIDbase ) $return[$DNs[$i]]['modify']['sambaPrimaryGroupSID'][0] = $SID . "-" . $this->attributes['gidNumber'][0]*2+1+$RIDbase; - } - } - } - } - return $return; - } - - - /** $attribute['userPassword'] can't accessed directly because it's enrcypted - * To read / write password function userPassword is needed - * This function will return the unencrypted password when - * called without a variable - * If it's called with a new password, the - * new password will be stored encrypted - */ - function userPassword($newpassword=false) { - if (is_string($newpassword)) { - // Write new password - if ($newpassword=='') - $this->attributes['userPassword'][0] = ''; - else $this->attributes['userPassword'][0] = base64_encode($_SESSION['ldap']->encrypt($newpassword)); - return 0; - } - else { - if ($this->attributes['userPassword'][0]!='') // Read existing password if set - return $_SESSION['ldap']->decrypt(base64_decode($this->attributes['userPassword'][0])); - else return ''; - } - } - - } - -?> diff --git a/lam/lib/modules/quota.inc b/lam/lib/modules/quota.inc deleted file mode 100644 index 05182616..00000000 --- a/lam/lib/modules/quota.inc +++ /dev/null @@ -1,405 +0,0 @@ -messages['softblock'][0] = array('ERROR', _('Block soft quota'), _('Block soft quota contains invalid characters. Only natural numbers are allowed.')); - $this->messages['hardblock'][0] = array('ERROR', _('Block hard quota'), _('Block hard quota contains invalid characters. Only natural numbers are allowed.')); - $this->messages['softinode'][0] = array('ERROR', _('Inode soft quota'), _('Inode soft quota contains invalid characters. Only natural numbers are allowed.')); - $this->messages['hardinode'][0] = array('ERROR', _('Inode hard quota'), _('Inode hard quota contains invalid characters. Only natural numbers are allowed.')); - $this->messages['block_cmp'][0] = array('ERROR', _('Block quota'), _('Block soft quota must be smaller than block hard quota.')); - $this->messages['inode_cmp'][0] = array('ERROR', _('Inode quota'), _('Inode soft quota must be smaller than inode hard quota.')); - } - - /** - * Returns meta data that is interpreted by parent class - * - * @return array array with meta data - */ - function get_metaData() { - $return = array(); - // manages user and group accounts - $return["account_types"] = array("user", "group"); - // alias name - $return["alias"] = _('Quota'); - if ($this->get_scope() == 'group') { - // module dependencies - $return['dependencies'] = array('depends' => array('posixGroup'), 'conflicts' => array()); - } - if ($this->get_scope() == 'user') { - // module dependencies - $return['dependencies'] = array('depends' => array('posixAccount'), 'conflicts' => array()); - } - // available PDF fields - $return['PDF_fields'] = array( - 'quotas' - ); - // help entries - $return['help'] = array( - "Mountpoint" => array( - "Headline" => _("Mountpoint"), - "Text" => _("Mountpoint of device with enabled quotas.") - ), - "UsedBlocks" => array( - "Headline" => _("Used blocks"), - "Text" => _("Used blocks. 1000 blocks are usually 1MB") - ), - "SoftBlockLimit" => array( - "Headline" => _("Soft block limit"), - "Text" => _("Soft block limit."), "SeeAlso" => ''.'Quota How-To' - ), - "HardBlockLimit" => array( - "Headline" => _("Hard block limit"), - "Text" => _("Hard block limit").'.', "SeeAlso" => ''.'Quota How-To' - ), - "GraceBlockPeriod" => array( - "Headline" => _("Grace block period"), - "Text" => _("Grace block period. Most filesystems use a fixed maximum value of 7 days."), "SeeAlso" => ''.'Quota How-To' - ), - "UsedInodes" => array( - "Headline" => _("Used inodes"), - "Text" => _("Used inodes (files)").'.' - ), - "SoftInodeLimit" => array( - "Headline" => _("Soft inode limit"), - "Text" => _("Soft inode (files) limit."), "SeeAlso" => ''.'Quota How-To' - ), - "HardInodeLimit" => array( - "Headline" => _("Hard inode limit"), - "Text" => _("Hard inode (files) limit").'.', "SeeAlso" => ''.'Quota How-To' - ), - "GraceInodePeriod" => array( - "Headline" => _("Grace inode period"), - "Text" => _("Grace inode (files) period. Most filesystems use a fixed maximum value of 7 days."), "SeeAlso" => ''.'Quota How-To' - ) - ); - return $return; - } - - // Constructor - function init($base) { - // call parent init - parent::init($base); - // Get basic quotas for new account - $output_array = lamdaemon(array("+ quota get " . $_SESSION[$this->base]->type)); - // process quotas - if (is_array($output_array)) { - $all_quota = explode(':', $output_array[0]); - for ($j=0; $jquota[$j][$k] = $single_quota[$k]; - if ($this->quota[$j][4]quota[$j][4] = ''; - else $this->quota[$j][4] = strval(intval(($this->quota[$j][4]-time())/3600)) .' '. _('hours'); - if ($this->quota[$j][8]quota[$j][8] = ''; - else $this->quota[$j][8] = strval(intval(($this->quota[$j][8]-time())/3600)) .' '. _('hours'); - } - $j=0; - while (isset($this->quota[$j][0])) - // remove invalid quotas - if (!in_array($this->quota[$j][0], $real_quotas)) unset($this->quota[$j]); - else $j++; - // Beautify array, repair index - if (is_array($this->quota)) $this->quota = array_values($this->quota); - } - } - - // Variables - var $quota; - - function module_ready() { - if (!isset($_SESSION['config']->scriptPath)) return $false; - if ($_SESSION[$this->base]->type=='user' && $_SESSION[$this->base]->module['posixAccount']->attributes['uid'][0]=='') return false; - if ($_SESSION[$this->base]->type=='group' && $_SESSION[$this->base]->module['posixGroup']->attributes['cn'][0]=='') return false; - return true; - } - - /* This functions return true - * if all needed settings are done - */ - function module_complete() { - if (!$this->module_ready()) return false; - return true; - } - - /* This function returns a list of all html-pages in module - * This is usefull for mass upload and pdf-files - * because lam can walk trough all pages itself and do some - * error checkings - */ - function pages() { - return array('attributes'); - } - - /* This function returns all ldap attributes - * which are part of quota and returns - * also their values. - */ - function get_attributes() { - return $this->quota; - } - - /* This function loads all attributes into the object - * $attr is an array as it's retured from ldap_get_attributes - */ - function load_attributes($attr) { - // Load name - if ($_SESSION[$this->base]->type=='user') $id = $attr['uid'][0]; - if ($_SESSION[$this->base]->type=='group') $id = $attr['cn'][0]; - // Get quotas - $output_array = lamdaemon(array("$id quota get " . $_SESSION[$this->base]->type)); - // process quotas - if (is_array($output_array)) { - $all_quota = explode(':', $output_array[0]); - for ($j=0; $jquota[$j][$k] = $single_quota[$k]; - if ($this->quota[$j][4]quota[$j][4] = ''; - else $this->quota[$j][4] = strval(intval(($this->quota[$j][4]-time())/3600)) .' '. _('hours'); - if ($this->quota[$j][8]quota[$j][8] = ''; - else $this->quota[$j][8] = strval(intval(($this->quota[$j][8]-time())/3600)) .' '. _('hours'); - } - $j=0; - while (isset($this->quota[$j][0])) - // remove invalid quotas - if (!in_array($this->quota[$j][0], $real_quotas)) unset($this->quota[$j]); - else $j++; - // Beautify array, repair index - if (is_array($this->quota)) $this->quota = array_values($this->quota); - } - return 0; - } - - /* This function returns an array with 3 entries: - * array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... ) - * DN is the DN to change. It may be possible to change several DNs, - * e.g. create a new user and add him to some groups via attribute memberUid - * add are attributes which have to be added to ldap entry - * remove are attributes which have to be removed from ldap entry - * modify are attributes which have to been modified in ldap entry - */ - function save_attributes() { - /* Check wich quotas have changed - * Because we can not send an array to lamdaemon.pl we have to put all - * values in a string. ':' sepraeates the first array, ',' the second - * - * $values->quota[][] First array is an index for every chare with active quotas - * second array Contains values for every share: - * mountpoint, used blocks, soft block limit, hard block limit, grace block period, used inodes, - * soft inode limit, hard inode limit, grace inode period - */ - - $i=0; - while ($this->quota[$i][0]) { - $quotastring = $quotastring . $this->quota[$i][0] . ',' . $this->quota[$i][2] . ',' . $this->quota[$i][3] - . ',' . $this->quota[$i][6] . ',' . $this->quota[$i][7] . ':'; - $i++; - } - - if ($_SESSION[$this->base]->type=='user') $id = $_SESSION[$this->base]->module['posixAccount']->attributes['uid'][0]; - if ($_SESSION[$this->base]->type=='group') $id = $_SESSION[$this->base]->module['posixGroup']->attributes['cn'][0]; - $return[$_SESSION[$this->base]->dn]['lamdaemon']['command'][] = $id . " quota set " . $_SESSION[$this->base]->type . " $quotastring\n"; - - return $return; - } - - function delete_attributes($post) { - $i=0; - while ($this->quota[$i][0]) { - $quotastring = $quotastring . $this->quota[$i][0] . ',0,0,0,0:'; - $i++; - } - if ($_SESSION[$this->base]->type=='user') $id = $_SESSION[$this->base]->module['posixAccount']->attributes['uid'][0]; - if ($_SESSION[$this->base]->type=='group') $id = $_SESSION[$this->base]->module['posixGroup']->attributes['cn'][0]; - $return[$_SESSION[$this->base]->dn_orig]['lamdaemon']['command'][] = $id . " quota set " . $_SESSION[$this->base]->type . " $quotastring\n"; - return $return; - } - - /* Write variables into object and do some regexp checks - */ - function proccess_attributes($post) { - // Write all general values into $account_new - $i=0; - // loop for every mointpoint with quotas - while ($this->quota[$i][0]) { - $this->quota[$i][2] = $post[$i . '_2']; - $this->quota[$i][3] = $post[$i . '_3']; - $this->quota[$i][6] = $post[$i . '_6']; - $this->quota[$i][7] = $post[$i . '_7']; - // Check if values are OK and set automatic values. if not error-variable will be set - if (!get_preg($this->quota[$i][2], 'digit')) - $triggered_messages[$this->quota[$i][2]][] = $this->messages['softblock'][0]; - if (!get_preg($this->quota[$i][3], 'digit')) - $triggered_messages[$this->quota[$i][3]][] = $this->messages['hardblock'][0]; - if (!get_preg($this->quota[$i][6], 'digit')) - $triggered_messages[$this->quota[$i][6]][] = $this->messages['softinode'][0]; - if (!get_preg($this->quota[$i][7], 'digit')) - $triggered_messages[$this->quota[$i][7]][] = $this->messages['hardinode'][0]; - if (intval($this->quota[$i][2]) > intval($this->quota[$i][3])) - $triggered_messages[$this->quota[$i][2]][] = $this->messages['block_cmp'][0]; - if (intval($this->quota[$i][6]) > intval($this->quota[$i][7])) - $triggered_messages[$this->quota[$i][6]][] = $this->messages['inode_cmp'][0]; - $i++; - } - - if (count($triggered_messages)!=0) { - $this->triggered_messages = $triggered_messages; - return $triggered_messages; - } - else $this->triggered_messages = array(); - // Go to additional group page when no error did ocour and button was pressed - return 0; - } - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_attributes($post) { - - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Mountpoint') ), - 1 => array ( 'kind' => 'text', 'text' => _('Used blocks') ), - 2 => array ( 'kind' => 'text', 'text' => _('Soft block limit') ), - 3 => array ( 'kind' => 'text', 'text' => _('Hard block limit') ), - 4 => array ( 'kind' => 'text', 'text' => _('Grace block period') ), - 5 => array ( 'kind' => 'text', 'text' => _('Used inodes') ), - 6 => array ( 'kind' => 'text', 'text' => _('Soft inode limit') ), - 7 => array ( 'kind' => 'text', 'text' => _('Hard inode limit') ), - 8 => array ( 'kind' => 'text', 'text' => _('Grace inode period') )); - - $return[] = array ( 0 => array ( 'kind' => 'help', 'value' => 'Mountpoint' ), - 1 => array ( 'kind' => 'help', 'value' => 'UsedBlocks' ), - 2 => array ( 'kind' => 'help', 'value' => 'SoftBlockLimit' ), - 3 => array ( 'kind' => 'help', 'value' => 'HardBlockLimit' ), - 4 => array ( 'kind' => 'help', 'value' => 'GraceBlockPeriod' ), - 5 => array ( 'kind' => 'help', 'value' => 'UsedInodes' ), - 6 => array ( 'kind' => 'help', 'value' => 'SoftInodeLimit' ), - 7 => array ( 'kind' => 'help', 'value' => 'HardInodeLimit' ), - 8 => array ( 'kind' => 'help', 'value' => 'GraceInodePeriod' )); - - $i=0; - // loop for every mointpoint with enabled quotas - while ($this->quota[$i][0]) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => $this->quota[$i][0] ), - 1 => array ( 'kind' => 'text', 'text' => $this->quota[$i][1] ), - 2 => array ( 'kind' => 'input', 'name' => $i . '_2', 'type' => 'text', 'size' => '12', 'maxlength' => '20', 'value' => $this->quota[$i][2]), - 3 => array ( 'kind' => 'input', 'name' => $i . '_3', 'type' => 'text', 'size' => '12', 'maxlength' => '20', 'value' => $this->quota[$i][3]), - 4 => array ( 'kind' => 'text', 'text' => $this->quota[$i][4] ), - 5 => array ( 'kind' => 'text', 'text' => $this->quota[$i][5] ), - 6 => array ( 'kind' => 'input', 'name' => $i . '_6', 'type' => 'text', 'size' => '12', 'maxlength' => '20', 'value' => $this->quota[$i][6]), - 7 => array ( 'kind' => 'input', 'name' => $i . '_7', 'type' => 'text', 'size' => '12', 'maxlength' => '20', 'value' => $this->quota[$i][7]), - 8 => array ( 'kind' => 'text', 'text' => $this->quota[$i][8] )); - $i++; - } - return $return; - } - - function display_html_delete($post) { - return 0; - } - - /** - * Returns a list of elements for the account profiles. - * - * @return profile elements - */ - function get_profileOptions() { - // Get quotas - $quotas = lamdaemon(array("+ quota get " . $this->get_scope())); - $dirs = split(":", $quotas[0]); - array_pop($dirs); // remove empty element at the end - for ($i = 0; $i < sizeof($dirs); $i++) { - $dirs[$i] = split(",", $dirs[$i]); - $dirs[$i] = $dirs[$i][0]; - } - $return = array(); - if (sizeof($dirs) < 1) return $return; // stop if no quota directories were found - $return[] = array ( - 0 => array('kind' => 'text', 'text' => '' . _('Mountpoint') . '  ', 'align' => 'center'), - 1 => array('kind' => 'text', 'text' => '' . _('Soft block limit') . '  ', 'align' => 'center'), - 2 => array('kind' => 'text', 'text' => '' . _('Hard block limit') . '  ', 'align' => 'center'), - 3 => array('kind' => 'text', 'text' => '' . _('Soft inode limit') . '  ', 'align' => 'center'), - 4 => array('kind' => 'text', 'text' => '' . _('Hard inode limit') . '  ', 'align' => 'center'), - ); - $return[] = array ( - 0 => array('kind' => 'help', 'value' => 'Mountpoint', 'align' => 'center'), - 1 => array('kind' => 'help', 'value' => 'SoftBlockLimit', 'align' => 'center'), - 2 => array('kind' => 'help', 'value' => 'HardBlockLimit', 'align' => 'center'), - 3 => array('kind' => 'help', 'value' => 'SoftInodeLimit', 'align' => 'center'), - 4 => array('kind' => 'help', 'value' => 'HardInodeLimit', 'align' => 'center'), - ); - for ($i = 0; $i < sizeof($dirs); $i++) { - $return[] = array( - 0 => array('kind' => 'text', 'text' => $dirs[$i], 'align' => 'left'), - 1 => array('kind' => 'input', 'type' => 'text', 'text' => "", 'align' => 'center', 'size' => '12', 'name' => "quota_softblock_$i"), - 2 => array('kind' => 'input', 'type' => 'text', 'text' => "", 'align' => 'center', 'size' => '12', 'name' => "quota_hardblock_$i"), - 3 => array('kind' => 'input', 'type' => 'text', 'text' => "", 'align' => 'center', 'size' => '12', 'name' => "quota_softinode_$i"), - 4 => array('kind' => 'input', 'type' => 'text', 'text' => "", 'align' => 'center', 'size' => '12', 'name' => "quota_hardinode_$i"), - ); - } - return $return; - } - - /** - * Checks input values of account profiles. - * - * @param array $options a hash array (name => value) containing the options - * @return array list of error messages (array(type, title, text)) to generate StatusMessages, if any - */ - function check_profileOptions($options) { - $return = array(); - $i = 0; - while (isset($options["quota_softblock_$i"])) { - if (!get_preg($options["quota_softblock_$i"][0], 'digit')) $return[] = $this->messages['softblock'][0]; - if (!get_preg($options["quota_hardblock_$i"][0], 'digit')) $return[] = $this->messages['hardblock'][0]; - if (!get_preg($options["quota_softinode_$i"][0], 'digit')) $return[] = $this->messages['softinode'][0]; - if (!get_preg($options["quota_hardinode_$i"][0], 'digit')) $return[] = $this->messages['hardinode'][0]; - if (intval($options["quota_softblock_$i"][0]) > $options["quota_hardblock_$i"][0]) $return[] = $this->messages['block_cmp'][0]; - if (intval($options["quota_softinode_$i"][0]) > $options["quota_hardinode_$i"][0]) $return[] = $this->messages['inode_cmp'][0]; - $i++; - } - return $return; - } - - /* - * (non-PHPDoc) - * @see baseModule#get_pdfEntries - */ - function get_pdfEntries($account_type = "user") { - return array( 'quota_quotas' => array('' . _('User quota') . '' . _('Mountpoint') . '' . _('Soft block') . '' . _('Soft inode') . '' . _('Hard block') . '' . _('Hard inode') . '')); - } - -} - -?> diff --git a/lam/lib/modules/sambaAccount.inc b/lam/lib/modules/sambaAccount.inc deleted file mode 100644 index 8b011a59..00000000 --- a/lam/lib/modules/sambaAccount.inc +++ /dev/null @@ -1,1108 +0,0 @@ -rids = array( - _('Domain Admins') => 512, _('Domain Users') => 513, - _('Domain Guests') => 514, _('Domain Computers') => 515, - _('Domain Controllers') => 516, _('Domain Certificate Admins') => 517, - _('Domain Schema Admins') => 518, _('Domain Enterprise Admins') => 519, - _('Domain Policy Admins') => 520 ); - // call parent constructor - parent::baseModule($scope); - } - - /** this functin fills the error message array with messages - **/ - function load_Messages() { - // error messages for input checks - $this->messages['homePath'][0] = array('ERROR', _('Home path'), _('Home path is invalid.')); - $this->messages['homePath'][1] = array('INFO', _('Home path'), _('Inserted user- or groupname in HomePath.')); - $this->messages['homePath'][2] = array('INFO', _('Account %s:') . ' sambaAccount_homePath', _('Inserted user- or groupname in HomePath.')); - $this->messages['profilePath'][0] = array('ERROR', _('Profile path'), _('Profile path is invalid!')); - $this->messages['profilePath'][1] = array('INFO', _('Profile path'), _('Inserted user- or groupname in profilepath.')); - $this->messages['profilePath'][2] = array('INFO', _('Account %s:') . ' sambaAccount_profilePath', _('Inserted user- or groupname in profilepath.')); - $this->messages['logonScript'][0] = array('ERROR', _('Logon script'), _('Logon script is invalid!')); - $this->messages['logonScript'][1] = array('INFO', _('Logon script'), _('Inserted user- or groupname in logon script.')); - $this->messages['logonScript'][2] = array('ERROR', _('Account %s:') . ' sambaAccount_logonScript', _('Logon script is invalid!')); - $this->messages['workstations'][0] = array('ERROR', _('Samba workstations'), _('Please enter a comma separated list of host names!')); - $this->messages['workstations'][1] = array('ERROR', _('Account %s:') . ' sambaAccount_workstations', _('Please enter a comma separated list of host names!')); - $this->messages['domain'][0] = array('ERROR', _('Domain name'), _('Domain name contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and -.')); - $this->messages['domain'][1] = array('ERROR', _('Account %s:') . ' sambaAccount_domain', _('Domain name contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and -.')); - $this->messages['lmPassword'][0] = array('ERROR', _('Password'), _('Please enter the same password in both password-fields.')); - $this->messages['lmPassword'][1] = array('ERROR', _('Password'), _('Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !')); - $this->messages['lmPassword'][2] = array('ERROR', _('Account %s:') . ' sambaAccount_password', _('Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !')); - $this->messages['rid'][0] = array('ERROR', _('Special user'), _('There can be only one administrator per domain.')); - $this->messages['rid'][1] = array('ERROR', _('Special user'), _('There can be only one guest per domain.')); - $this->messages['displayName'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_displayName', _('Please enter a valid display name!')); - $this->messages['pwdUnix'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_pwdUnix', _('This value can only be \"true\" or \"false\"!')); - $this->messages['noPassword'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_noPassword', _('This value can only be \"true\" or \"false\"!')); - $this->messages['noExpire'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_noExpire', _('This value can only be \"true\" or \"false\"!')); - $this->messages['deactivated'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_deactivated', _('This value can only be \"true\" or \"false\"!')); - $this->messages['pwdCanChange'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_pwdCanChange', _('Please enter a valid date in format DD-MM-YYYY.')); - $this->messages['pwdMustChange'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_pwdMustChange', _('Please enter a valid date in format DD-MM-YYYY.')); - $this->messages['homeDrive'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_homeDrive', _('Please enter a valid drive letter.')); - $this->messages['group'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_group', _('Please enter a valid group RID.')); - $this->messages['specialUser'][0] = array('ERROR', _('Account %s:') . ' sambaAccount_specialUser', _('Please enter a valid special user name.')); - - } - - /** - * Returns meta data that is interpreted by parent class - * - * @return array array with meta data - */ - function get_metaData() { - $return = array(); - // manages user and host accounts - $return["account_types"] = array("user", "host"); - if ($this->get_scope() == "host") { - // this is a base module - $return["is_base"] = true; - // LDAP filter - $return["ldap_filter"] = array('and' => '(uid=*$)', 'or' => "(objectClass=posixAccount)"); - } - // alias name - $return["alias"] = _('Samba 2'); - // module dependencies - $return['dependencies'] = array('depends' => array('posixAccount'), 'conflicts' => array()); - // profile options - if ($this->get_scope() == 'user') { - // set Unix password for Samba - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Use Unix password') . ': '), - 1 => array('kind' => 'input', 'name' => 'sambaAccount_useunixpwd', 'type' => 'checkbox', 'checked' => true), - 2 => array('kind' => 'help', 'value' => 'pwdUnix') - ); - // set no password - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Use no password') . ': '), - 1 => array('kind' => 'input', 'name' => 'sambaAccount_acctFlagsN', 'type' => 'checkbox', 'checked' => false), - 2 => array('kind' => 'help', 'value' => 'noPassword') - ); - // password expiry - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Password does not expire') . ': '), - 1 => array('kind' => 'input', 'name' => 'sambaAccount_acctFlagsX', 'type' => 'checkbox', 'checked' => true), - 2 => array('kind' => 'help', 'value' => 'noExpire') - ); - // account deactivation - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Account is deactivated') . ': '), - 1 => array('kind' => 'input', 'name' => 'sambaAccount_acctFlagsD', 'type' => 'checkbox', 'checked' => false), - 2 => array('kind' => 'help', 'value' => 'deactivated') - ); - // drive letter - $drives = array(); - for ($i = 90; $i > 67; $i--) $drives[] = chr($i) . ':'; - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Home drive') . ': '), - 1 => array('kind' => 'select', 'name' => 'sambaAccount_homeDrive', 'options' => $drives, 'options_selected' => array ('Z:')), - 2 => array('kind' => 'help', 'value' => 'homeDrive') - ); - // path to home directory - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Home path') . ': '), - 1 => array('kind' => 'input', 'type' => 'text', 'name' => 'sambaAccount_smbhome', 'size' => '20', 'maxlength' => '255', 'value' => ''), - 2 => array('kind' => 'help', 'value' => 'homePath') - ); - // path to profile - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Profile path') . ': '), - 1 => array('kind' => 'input', 'type' => 'text', 'name' => 'sambaAccount_profilePath', 'size' => '20', 'maxlength' => '255', 'value' => ''), - 2 => array('kind' => 'help', 'value' => 'profilePath') - ); - // logon script - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Logon script') . ': '), - 1 => array('kind' => 'input', 'type' => 'text', 'name' => 'sambaAccount_scriptPath', 'size' => '20', 'maxlength' => '255', 'value' => ''), - 2 => array('kind' => 'help', 'value' => 'scriptPath') - ); - // allowed workstations - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Samba workstations') . ': '), - 1 => array('kind' => 'input', 'type' => 'text', 'name' => 'sambaAccount_userWorkstations', 'value' => ''), - 2 => array('kind' => 'help', 'value' => 'workstations') - ); - } - // Samba domain - $return['profile_options'][] = array( - 0 => array('kind' => 'text', 'text' => _('Domain') . ': '), - 1 => array('kind' => 'input', 'type' => 'text', 'name' => 'sambaAccount_domain', 'size' => '20', 'maxlength' => '255', 'value' => ''), - 2 => array('kind' => 'help', 'value' => 'domain') - ); - // profile checks - $return['profile_checks']['sambaAccount_smbhome'] = array('type' => 'ext_preg', 'regex' => 'UNC', - 'error_message' => $this->messages['homePath'][0]); - $return['profile_checks']['sambaAccount_profilePath'] = array('type' => 'ext_preg', 'regex' => 'UNC', - 'error_message' => $this->messages['profilePath'][0]); - $return['profile_checks']['sambaAccount_scriptPath'] = array('type' => 'ext_preg', 'regex' => 'logonScript', - 'error_message' => $this->messages['logonScript'][0]); - $return['profile_checks']['sambaAccount_userWorkstations'] = array('type' => 'ext_preg', 'regex' => 'unixhost', - 'error_message' => $this->messages['workstations'][0]); - $return['profile_checks']['sambaAccount_domain'] = array('type' => 'ext_preg', 'regex' => 'domainname', - 'error_message' => $this->messages['domain'][0]); - // available PDF fields - $return['PDF_fields'] = array( - 'displayName', - 'uid', - 'smbHome', - 'homeDrive', - 'scriptPath', - 'profilePath', - 'userWorkstations', - 'domain', - 'description' - ); - // upload dependencies - $return['upload_preDepends'] = array('posixAccount', 'inetOrgPerson'); - // upload options - if ($this->get_scope() == "user") { - $return['upload_columns'] = array( - array( - 'name' => 'sambaAccount_displayName', - 'description' => _('Display name'), - 'help' => 'displayName', - 'example' => _('Steve Miller') - ), - array( - 'name' => 'sambaAccount_password', - 'description' => _('Password'), - 'help' => 'password', - 'example' => _('secret') - ), - array( - 'name' => 'sambaAccount_pwdUnix', - 'description' => _('Use Unix password'), - 'help' => 'pwdUnixUpload', - 'default' => 'true', - 'values' => 'true, false', - 'example' => 'true' - ), - array( - 'name' => 'sambaAccount_noPassword', - 'description' => _('Use no password'), - 'help' => 'noPasswordUpload', - 'default' => 'false', - 'values' => 'true, false', - 'example' => 'false' - ), - array( - 'name' => 'sambaAccount_noExpire', - 'description' => _('Password does not expire'), - 'help' => 'noExpireUpload', - 'default' => 'true', - 'values' => 'true, false', - 'example' => 'true' - ), - array( - 'name' => 'sambaAccount_deactivated', - 'description' => _('Account is deactivated'), - 'help' => 'deactivatedUpload', - 'default' => 'false', - 'values' => 'true, false', - 'example' => 'false' - ), - array( - 'name' => 'sambaAccount_pwdCanChange', - 'description' => _('User can change password'), - 'help' => 'pwdCanChange', - 'default' => '31-12-2030', - 'example' => '15-11-2006' - ), - array( - 'name' => 'sambaAccount_pwdMustChange', - 'description' => _('User must change password'), - 'help' => 'pwdMustChange', - 'default' => '31-12-2030', - 'example' => '15-10-2006' - ), - array( - 'name' => 'sambaAccount_homeDrive', - 'description' => _('Home drive'), - 'help' => 'homeDrive', - 'example' => 'k:' - ), - array( - 'name' => 'sambaAccount_homePath', - 'description' => _('Home path'), - 'help' => 'homePath', - 'example' => _('\\\\server\\homes\\smiller') - ), - array( - 'name' => 'sambaAccount_profilePath', - 'description' => _('Profile path'), - 'help' => 'profilePath', - 'example' => _('\\\\server\\profiles\\smiller') - ), - array( - 'name' => 'sambaAccount_logonScript', - 'description' => _('Logon script'), - 'help' => 'scriptPath', - 'example' => 'logon.bat' - ), - array( - 'name' => 'sambaAccount_workstations', - 'description' => _('Samba workstations'), - 'help' => 'workstations', - 'example' => 'PC01,PC02,PC03' - ), - array( - 'name' => 'sambaAccount_group', - 'description' => _('Windows group'), - 'help' => 'groupUpload', - 'example' => '1235', - 'default' => '<gidNumber>*2 + 1001' - ), - array( - 'name' => 'sambaAccount_specialUser', - 'description' => _('Special user'), - 'help' => 'specialUser', - 'example' => _('Domain Admins'), - 'values' => implode(", ", array_keys($this->rids)) - ), - array( - 'name' => 'sambaAccount_domain', - 'description' => _('Domain'), - 'help' => 'domain', - 'example' => _('mydomain') - ) - ); - } - elseif ($this->get_scope() == "host") { - $return['upload_columns'] = array( - array( - 'name' => 'sambaAccount_domain', - 'description' => _('Domain'), - 'help' => 'domain', - 'example' => _('mydomain') - ) - ); - } - // help Entries - $return['help'] = array ( - "displayName" => array( - "ext" => "FALSE", "Headline" => _("Display name"), - "Text" => _("This is the account's full name on Windows systems.")), - "password" => array( - "ext" => "FALSE", "Headline" => _("Samba password"), - "Text" => _("This is the account's Windows password.")), - "pwdUnix" => array( - "ext" => "FALSE", "Headline" => _("Use Unix password"), - "Text" => _("If checked Unix password will also be used as Samba password.")), - "pwdUnixUpload" => array( - "ext" => "FALSE", "Headline" => _("Use Unix password"), - "Text" => _("If set to \"true\" Unix password will also be used as Samba password.")), - "noPassword" => array( - "ext" => "FALSE", "Headline" => _("Use no password"), - "Text" => _("If checked no password will be used.")), - "noPasswordUpload" => array( - "ext" => "FALSE", "Headline" => _("Use no password"), - "Text" => _("If set to \"true\" no password will be used.")), - "noExpire" => array( - "ext" => "FALSE", "Headline" => _("Password does not expire"), - "Text" => _("If checked password does not expire. (Setting X-Flag)")), - "noExpireUpload" => array( - "ext" => "FALSE", "Headline" => _("Password does not expire"), - "Text" => _("If set to \"true\" password does not expire. (Setting X-Flag)")), - "deactivated" => array( - "ext" => "FALSE", "Headline" => _("Account is deactivated"), - "Text" => _("If checked account will be deactivated. (Setting D-Flag)")), - "deactivatedUpload" => array( - "ext" => "FALSE", "Headline" => _("Account is deactivated"), - "Text" => _("If set to \"true\" account will be deactivated. (Setting D-Flag)")), - "pwdCanChange" => array( - "ext" => "FALSE", "Headline" => _("User can change password"), - "Text" => _("Date after the user is able to change his password. Format: DD-MM-YYYY")), - "pwdMustChange" => array ("ext" => "FALSE", "Headline" => _("User must change password"), - "Text" => _("Date after the user must change his password. Format: DD-MM-YYYY")), - "homeDrive" => array( - "ext" => "FALSE", "Headline" => _("Home drive"), - "Text" => _("Drive letter assigned on windows workstations as homedirectory.")), - "homePath" => array( - "ext" => "FALSE", "Headline" => _("Home path"), - "Text" => _("UNC-path (\\\\server\\share) of homedirectory. $%s and $%s are replaced with user- and groupname."). ' '. _("Can be left empty."), - "variables" => array('user', 'group')), - "profilePath" => array( - "ext" => "FALSE", "Headline" => _("Profile path"), - "Text" => _("Path of the user profile. Can be a local absolute path or a UNC-path (\\\\server\\share). $%s and $%s are replaced with user- and groupname."). ' '. _("Can be left empty."), - "variables" => array('user', 'group')), - "scriptPath" => array( - "ext" => "FALSE", "Headline" => _("Logon script"), - "Text" => _("Filename and -path relative to netlogon-share which should be executed on logon. $%s and $%s are replaced with user- and groupname."). ' '. _("Can be left empty."), - "variables" => array('user', 'group')), - "workstations" => array( - "ext" => "FALSE", "Headline" => _("Samba workstations"), - "Text" => _("Comma separated list of Samba workstations the user is allowed to login. Empty means every workstation."). ' '. _("Can be left empty.")), - "group" => array( - "ext" => "FALSE", "Headline" => _("Windows group name"), - "Text" => _("If you want to use a well known RID you can selcet a well known group.")), - "groupUpload" => array( - "ext" => "FALSE", "Headline" => _("Windows group RID"), - "Text" => _("This is the RID of the user's primary Windows group.")), - "specialUser" => array( - "ext" => "FALSE", "Headline" => _("Special user"), - "Text" => _("If you want to create domain administrators or other special users use this option.")), - "domain" => array( - "ext" => "FALSE", "Headline" => _("Domain"), - "Text" => _("Windows domain name of account."). ' '. _("Can be left empty.")) - ); - return $return; - } - - // Constructor - function init($base) { - // call parent init - parent::init($base); - $this->useunixpwd=false; - } - - // Variables - // use unix password as samba password? - var $useunixpwd; - // Array of well known rids - var $rids; - - /* $attribute['lmPassword'] and $attribute['ntPassword'] can't accessed directly because it's enrcypted - * To read / write password function lmPassword is needed - * This function will return the unencrypted password when - * called without a variable - * If it's called with a new password, the - * new password will be stored encrypted - */ - function lmPassword($newpassword=false) { - if (is_string($newpassword)) { - // Write new password - if ($newpassword=='') - $this->attributes['lmPassword'][0] = ''; - else $this->attributes['lmPassword'][0] = base64_encode($_SESSION['ldap']->encrypt($newpassword)); - return 0; - } - else { - if ($this->useunixpwd) return $_SESSION[$this->base]->module['posixAccount']->userPassword(); - if ($this->attributes['lmPassword'][0]!='') { - // Read existing password if set - return $_SESSION['ldap']->decrypt(base64_decode($this->attributes['lmPassword'][0])); - } - else return ''; - } - } - - function module_ready() { - if ($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]=='') return false; - if ($_SESSION[$this->base]->module['posixAccount']->attributes['uidNumber'][0]=='') return false; - if ($this->attributes['uid'][0]=='') return false; - return true; - } - - /* This functions return true - * if all needed settings are done - */ - function module_complete() { - if (!$this->module_ready()) return false; - if ($this->attributes['rid'][0] == '') return false; - return true; - } - - /* This function returns a list of all html-pages in module - * This is usefull for mass upload and pdf-files - * because lam can walk trough all pages itself and do some - * error checkings - */ - function pages() { - return array('attributes', 'userWorkstations'); - } - - /* This function returns all ldap attributes - * which are part of sambaAccount and returns - * also their values. - */ - function get_attributes() { - $return['lmPassword'] = $this->lmPassword(); - return $this->attributes; - } - - /* This function loads all attributes into the object - * $attr is an array as it's retured from ldap_get_attributes - */ - function load_attributes($attr) { - $this->load_ldap_attributes($attr); - return 0; - } - - /* This function returns an array with 3 entries: - * array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... ) - * DN is the DN to change. It may be possible to change several DNs, - * e.g. create a new user and add him to some groups via attribute memberUid - * add are attributes which have to be added to ldap entry - * remove are attributes which have to be removed from ldap entry - * modify are attributes which have to been modified in ldap entry - */ - function save_attributes() { - /* Create sambaSID. Can't create it while loading attributes because - * it's psssible uidNumber has changed - */ - $special = false; - if ($this->attributes['rid'][0] == "500") $special = true; - if ($this->attributes['rid'][0] == "501") $special = true; - if ($this->attributes['rid'][0] == "515") $special = true; - if (!$special) $this->attributes['rid'][0] == $_SESSION[$this->base]->module['posixAccount']->attributes['uidNumber'][0]*2+1000; - $rids = array_keys($this->rids); - $wrid = false; - for ($i=0; $iattributes['primaryGroupID'][0] == $rids[$i]) - $wrid = true; - if (!$wrid) $this->attributes['primaryGroupID'][0] = ($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]*2)+1001; - - - - $return = $_SESSION[$this->base]->save_module_attributes($this->attributes, $this->orig); - // Set password - if (isset($return[$_SESSION[$this->base]->dn]['modify']['lmPassword'])) - unset($return[$_SESSION[$this->base]->dn]['modify']['lmPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['modify']['ntPassword'])) - unset($return[$_SESSION[$this->base]->dn]['modify']['ntPassword']); - if (!isset($this->orig['lmPassword'][0])) { - $return[$_SESSION[$this->base]->dn]['modify']['lmPassword'][0] = lmPassword($this->lmPassword()); - $return[$_SESSION[$this->base]->dn]['modify']['ntPassword'][0] = ntPassword($this->lmPassword()); - $return[$_SESSION[$this->base]->dn]['modify']['pwdLastSet'][0] = time(); - } - if ($this->lmPassword()!='') { - $return[$_SESSION[$this->base]->dn]['modify']['lmPassword'][0] = lmPassword($this->lmPassword()); - $return[$_SESSION[$this->base]->dn]['modify']['ntPassword'][0] = ntPassword($this->lmPassword()); - $return[$_SESSION[$this->base]->dn]['modify']['pwdLastSet'][0] = time(); - } - return $return; - } - - function delete_attributes($post) { - return 0; - } - - /* Write variables into object and do some regexp checks - */ - function proccess_attributes($post) { - $this->attributes['domain'][0] = $post['domain']; - // Start character - $flag = "["; - if ($post['acctFlagsD']) $flag .= "D"; - if ($post['acctFlagsX']) $flag .= "X"; - if ($post['acctFlagsN']) $flag .= "N"; - if ($post['acctFlagsS']) $flag .= "S"; - if ($post['acctFlagsH']) $flag .= "H"; - if ($post['acctFlagsW']) $flag .= "W"; - if ($post['acctFlagsU']) $flag .= "U"; - // Expand string to fixed length - $flag = str_pad($flag, 12); - // End character - $flag = $flag. "]"; - $this->attributes['acctFlags'][0] = $flag; - - if ($_SESSION[$this->base]->type=='host') { - $this->attributes['primaryGroupID'][0] = $this->rids[_('Domain Computers')]; - if ($post['ResetSambaPassword']) { - // *** fixme. What is the default password? - $this->lmPassword(''); - $_SESSION[$this->base]->module['posixAccount']->userPassword(''); - } - } - - // Check values - if ($_SESSION[$this->base]->type=='user') { - $this->attributes['pwdCanChange'][0] = mktime($post['pwdCanChange_h'], $post['pwdCanChange_m'], $post['pwdCanChange_s'], - $post['pwdCanChange_mon'], $post['pwdCanChange_day'], $post['pwdCanChange_yea']); - $this->attributes['pwdMustChange'][0] = mktime($post['pwdMustChange_h'], $post['pwdMustChange_m'], $post['pwdMustChange_s'], - $post['pwdMustChange_mon'], $post['pwdMustChange_day'], $post['pwdMustChange_yea']); - $this->attributes['smbHome'][0] = stripslashes($post['smbHome']); - $this->attributes['homeDrive'][0] = $post['homeDrive']; - $this->attributes['scriptPath'][0] = stripslashes($post['scriptPath']); - $this->attributes['profilePath'][0] = stripslashes($post['profilePath']); - $rids = array_keys($this->rids); - $wrid = false; - for ($i=0; $iattributes['primaryGroupID'][0] = $this->rids[$rids[$i]]; - } - } - if (!$wrid) $this->attributes['primaryGroupID'][0] = ($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]*2)+1001; - if ($post['useunixpwd']) $this->useunixpwd = true; - else $this->useunixpwd = false; - if (isset($post['lmPassword'])) { - if ($post['lmPassword'] != $post['lmPassword2']) { - $triggered_messages['lmPassword'][] = $this->messages['lmPassword'][0]; - unset ($post['lmPassword2']); - } - else { - if ( !get_preg($this->lmPassword(), 'password')) $triggered_messages['lmPassword'][] = $this->messages['lmPassword'][1]; - else $this->lmPassword($post['lmPassword']); - } - } - if ($post['rid']== _('Administrator')) { - $this->attributes['rid'][0] = "500"; - // Do a check if an administrator already exists - if ($_SESSION['cache']->in_cache("500", 'rid', 'user')!=$_SESSION[$this->base]->dn_orig) - $triggered_messages['rid'][] = $this->messages['rid'][0]; - } - if ($post['rid']== _('Guest')) { - $this->attributes['rid'][0] = "501"; - // Do a check if an administrator already exists - if ($_SESSION['cache']->in_cache("501", 'rid', 'user')!=$_SESSION[$this->base]->dn_orig) - $triggered_messages['rid'][] = $this->messages['rid'][1]; - } - $this->attributes['smbHome'][0] = str_replace('$user', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['uid'][0], $this->attributes['smbHome'][0]); - $this->attributes['smbHome'][0] = str_replace('$group', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['gid'][0], $this->attributes['smbHome'][0]); - if ($this->attributes['smbHome'][0] != stripslashes($post['smbHome'])) $triggered_messages['smbHome'][] = $this->messages['homePath'][1]; - $this->attributes['scriptPath'][0] = str_replace('$user', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['uid'][0], $this->attributes['scriptPath'][0]); - $this->attributes['scriptPath'][0] = str_replace('$group', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['gid'][0], $this->attributes['scriptPath'][0]); - if ($this->attributes['scriptPath'][0] != stripslashes($post['scriptPath'])) $triggered_messages['scriptPath'][] = $this->messages['logonScript'][1]; - $this->attributes['profilePath'][0] = str_replace('$user', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['uid'][0], $this->attributes['profilePath'][0]); - $this->attributes['profilePath'][0] = str_replace('$group', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['gid'][0], $this->attributes['profilePath'][0]); - if ($this->attributes['profiletPath'][0] != stripslashes($post['profilePath'])) $triggered_messages['profilePath'][] = $this->messages['profilePath'][1]; - if ( (!$this->attributes['smbHome'][0]=='') && (!get_preg($this->attributes['smbHome'][0], 'UNC'))) - $triggered_messages['smbHome'][] = $this->messages['homedir'][0]; - if ( (!$this->attributes['scriptPath'][0]=='') && (!get_preg($this->attributes['scriptPath'][0], 'logonscript'))) - $triggered_messages['scriptPath'][] = $this->messages['logonScript'][0]; - if ( (!$this->attributes['profilePath'][0]=='') && (!get_preg($this->attributes['profilePath'][0], 'UNC'))) - $triggered_messages['profilePath'][] = $this->messages['profilePath'][0]; - } - else { - $smbHome = str_replace('$user', 'user', $this->attributes['smbHome'][0]); - $smbHome = str_replace('$group', 'group', $smbHome); - $scriptPath = str_replace('$user', 'user', $this->attributes['scriptPath'][0]); - $scriptPath = str_replace('$group', 'group', $scriptPath); - $profilePath = str_replace('$user', 'user', $this->attributes['profilePath'][0]); - $profilePath = str_replace('$group', 'group', $profilePath); - if ( (!$smbHome=='') && (!get_preg($smbHome, 'UNC'))) - $triggered_messages['smbHome'][] = $this->messages['homePath'][0]; - if ( (!$scriptPath=='') && (!get_preg($scriptPath, 'logonscript'))) - $triggered_messages['scriptPath'][] = $this->messages['logonScript'][0]; - if ( (!$profilePath=='') && (!get_preg('^[/][a-z]([a-z]|[0-9]|[.]|[-]|[_]|[%])*([/][a-z]([a-z]|[0-9]|[.]|[-]|[_]|[%])*)*$', $profilePath)) - && (!get_preg($profilePath, 'UNC'))) - $triggered_messages['profilePath'][] = $this->messages['profilePath'][0]; - } - - if ((!$this->attributes['domain'][0]=='') && !get_preg($this->attributes['domain'][0], 'domainname')) - $triggered_messages['domain'][] = $this->messages['domain'][0]; - - if (count($triggered_messages)!=0) { - $this->triggered_messages = $triggered_messages; - return $triggered_messages; - } - else $this->triggered_messages = array(); - if ($post['userWorkstations']) return 'userWorkstations'; - return 0; - } - - /* Write variables into object and do some regexp checks - */ - function proccess_userWorkstations($post) { - // Load attributes - if ($_SESSION[$this->base]->type=='user') { - do { // X-Or, only one if() can be true - if (isset($post['availableUserWorkstations']) && isset($post['userWorkstations_add'])) { // Add workstations to list - $temp = str_replace(' ', '', $this->attributes['userWorkstations'][0]); - $workstations = explode (',', $temp); - for ($i=0; $iattributes['userWorkstations'][0] = $workstations[0]; - for ($i=1; $iattributes['userWorkstations'][0] = $this->attributes['userWorkstations'][0] . "," . $workstations[$i]; - } - break; - } - if (isset($post['userWorkstations']) && isset($post['userWorkstations_remove'])) { // remove // Add workstations from list - // Put all workstations in array - $temp = str_replace(' ', '', $this->attributes['userWorkstations'][0]); - $workstations = explode (',', $temp); - for ($i=0; $iattributes['userWorkstations'][0] = $workstations[0]; - for ($i=1; $iattributes['userWorkstations'][0] = $this->attributes['userWorkstations'][0] . "," . $workstations[$i]; - } - break; - } - } while(0); - if ($post['attributes']) return 'attributes'; - } - return 0; - } - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_attributes($post) { - if ($_SESSION[$this->base]->type=='user') { - $canchangedate = getdate($this->attributes['pwdCanChange'][0]); - $mustchangedate = getdate($this->attributes['pwdMustChange'][0]); - $return[] = array ( 0 => array ( 'kind' => 'input', 'name' => 'pwdCanChange_h', 'type' => 'hidden', 'value' => $canchangedate['hours']), - 1 => array ( 'kind' => 'input', 'name' => 'pwdCanChange_m', 'type' => 'hidden', 'value' => $canchangedate['minutes']), - 2 => array ( 'kind' => 'input', 'name' => 'pwdCanChange_s', 'type' => 'hidden', 'value' => $canchangedate['seconds']), - 3 => array ( 'kind' => 'input', 'name' => 'pwdMustChange_h', 'type' => 'hidden', 'value' => $mustchangedate['hours']), - 4 => array ( 'kind' => 'input', 'name' => 'pwdMustChange_m', 'type' => 'hidden', 'value' => $mustchangedate['minutes']), - 5 => array ( 'kind' => 'input', 'name' => 'pwdMustChange_s', 'type' => 'hidden', 'value' => $mustchangedate['seconds']), - 6 => array ( 'kind' => 'input', 'name' => 'acctFlagsU', 'type' => 'hidden', 'value' => 'true')); - - if ($post['lmPassword2']!='') $password2 = $post['lmPassword2']; - else $password2 = $this->lmPassword(); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Samba password') ), - 1 => array ( 'kind' => 'input', 'name' => 'lmPassword', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $this->lmPassword())); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Repeat password') ), - 1 => array ( 'kind' => 'input', 'name' => 'lmPassword2', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $password2), - 2 => array ('kind' => 'help', 'value' => 'lmPassword')); - if ($_SESSION[$this->base]->module['posixAccount']->orig['userPassword'][0] != $_SESSION[$this->base]->module['posixAccount']->attributes['userPassword'][0]) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Use unix password') ), - 1 => array ( 'kind' => 'input', 'name' => 'useunixpwd', 'type' => 'checkbox', 'checked' => $this->useunixpwd, 'value' => true), - 2 => array ('kind' => 'help', 'value' => 'useunixpwd')); - } - $checked = false; - if (strpos($this->attributes['acctFlags'][0], "N")) $checked = true; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Use no password') ), - 1 => array ( 'kind' => 'input', 'name' => 'acctFlagsN', 'type' => 'checkbox', 'checked' => $checked), - 2 => array ('kind' => 'help', 'value' => 'acctFlagsN')); - $checked = false; - if (strpos($this->attributes['acctFlags'][0], "X")) $checked = true; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Password does not expire') ), - 1 => array ( 'kind' => 'input', 'name' => 'acctFlagsX', 'type' => 'checkbox', 'checked' => $checked), - 2 => array ('kind' => 'help', 'value' => 'acctFlagsX')); - $checked = false; - if (strpos($this->attributes['acctFlags'][0], "D")) $checked = true; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Account is deactivated') ), - 1 => array ( 'kind' => 'input', 'name' => 'acctFlagsD', 'type' => 'checkbox', 'checked' => $checked), - 2 => array ('kind' => 'help', 'value' => 'acctFlagsD')); - for ( $i=1; $i<=31; $i++ ) $mday[] = $i; - for ( $i=1; $i<=12; $i++ ) $mon[] = $i; - for ( $i=2003; $i<=2030; $i++ ) $year[] = $i; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('User can change password') ), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'pwdCanChange_day', - 'options' => $mday, 'options_selectd' => $canchangedate['mday']), - 1 => array ( 'kind' => 'select', 'name' => 'pwdCanChange_mon', - 'options' => $mon, 'options_selectd' => $canchangedate['mon']), - 2 => array ( 'kind' => 'select', 'name' => 'pwdCanChange_yes', - 'options' => $year, 'options_selectd' => $canchangedate['year'])))), - 2 => array ( 'kind' => 'help', 'value' => 'pwdCanChange' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('User must change password') ), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'pwdMustChange_day', - 'options' => $mday, 'options_selectd' => $mustchangedate['mday']), - 1 => array ( 'kind' => 'select', 'name' => 'pwdMustChange_mon', - 'options' => $mon, 'options_selectd' => $mustchangedate['mon']), - 2 => array ( 'kind' => 'select', 'name' => 'pwdMustChange_yes', - 'options' => $year, 'options_selectd' => $mustchangedate['year'])))), - 2 => array ( 'kind' => 'help', 'value' => 'pwdMustChange' )); - for ($i=90; $i>67; $i--) $drives[] = chr($i).':'; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Home drive') ), - 1 => array ( 'kind' => 'select', 'name' => 'homeDrive', 'options' => $drives, 'options_selected' => array ($this->attributes['homeDrive'][0])), - 2 => array ( 'kind' => 'help', 'value' => 'homeDrive' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Home path') ), - 1 => array ( 'kind' => 'input', 'type' => 'text', 'name' => 'smbHome', 'size' => '20', 'maxlength' => '255', 'value' => $this->attributes['smbHome'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'smbHome' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Profile path') ), - 1 => array ( 'kind' => 'input', 'type' => 'text', 'name' => 'profilePath', 'size' => '20', 'maxlength' => '255', 'value' => $this->attributes['profilePath'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'profilePath' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Logon script') ), - 1 => array ( 'kind' => 'input', 'type' => 'text', 'name' => 'scriptPath', 'size' => '20', 'maxlength' => '255', 'value' => $this->attributes['scriptPath'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'scriptPath' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Samba workstations') ), - 1 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'userWorkstations', 'value' => _('Edit workstations')), - 2 => array ( 'kind' => 'help', 'value' => 'userWorkstations' )); - - $names = array_keys($this->rids); - $wrid=false; - for ($i=0; $iattributes['primaryGroupID'][0]==$this->rids[$names[$i]]) { - $selected[] = $names[$i]; - $wrid=true; - } - else $options[] = $names[$i]; - } - if ($wrid) $options[] = $_SESSION['cache']->getgrnam($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]); - else $selected[] = $_SESSION['cache']->getgrnam($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Windows group') ), - 1 => array ( 'kind' => 'select', 'name' => 'primaryGroupID', 'options' => $options, 'options_selected' => $selected), - 2 => array ( 'kind' => 'help', 'value' => 'primaryGroupID' )); - // Display if group SID should be mapped to a well kown SID - $wrid=false; - if ($this->attributes['rid'][0]=="500") { - $selected[] = _('Administrator'); - $wrid=true; - } - else $options[] = _('Administrator'); - if ($this->attributes['rid'][0]=="501") { - $selected[] = _('Guest'); - $wrid=true; - } - else $options[] = _('Guest'); - if ($wrid) $options[] = "-"; - else $selected[] = "-"; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Special user') ), - 1 => array ( 'kind' => 'select', 'name' => 'rid', 'options' => $options, 'options_selected' => $selected), - 2 => array ( 'kind' => 'help', 'value' => 'rid' )); - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Domain') ), - 1 => array ( 'kind' => 'input', 'type' => 'text', 'name' => 'domain', 'size' => '20', 'maxlength' => '255', 'value' => $this->attributes['domain'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'domain' )); - if ($_SESSION[$this->base]->type=='host') { - $return[] = array ( 0 => array ( 'kind' => 'input', 'name' => 'acctFlagsW', 'type' => 'hidden', 'value' => 'true' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Reset password') ), - 1 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'ResetSambaPassword'), - 2 => array ( 'kind' => 'help', 'value' => 'ResetSambaPassword' )); - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Domain') ), - 1 => array ( 'kind' => 'input', 'type' => 'text', 'name' => 'domain', 'size' => '20', 'maxlength' => '255', 'value' => $this->attributes['domain'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'domain' )); - return $return; - } - - function display_html_delete($post) { - return 0; - } - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_userWorkstations($post) { - if ($_SESSION[$this->base]->type=='user') { - // Get list of all hosts. - $result = $_SESSION['cache']->get_cache('uid', 'sambaAccount', 'host'); - if (is_array($result)) { - foreach ($result as $host) $availableUserWorkstations[] = str_replace("$", '', $host[0]); - sort($availableUserWorkstations, SORT_STRING); - $result = str_replace(' ', '', $this->attributes['userWorkstations'][0]); - $userWorkstations = explode (',', $result); - $availableUserWorkstations = array_delete($userWorkstations, $availableUserWorkstations); - } - - $return[] = array ( 0 => array ( 'kind' => 'fieldset', 'legend' => _("Allowed workstations"), 'value' => - array ( 0 => array ( 0 => array ('kind' => 'fieldset', 'td' => array ('valign' => 'top'), 'legend' => _("Allowed workstations"), 'value' => - array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'userWorkstations[]', 'size' => '15', 'multiple', 'options' => $userWorkstations)))), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'userWorkstations_add', - 'value' => '<=')), 1 => array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'userWorkstations_remove', 'value' => '=>' )), - 2 => array ( 0 => array ( 'kind' => 'help', 'value' => 'userWorkstations' )))), - 2 => array ('kind' => 'fieldset', 'td' => array ('valign' => 'top'), 'legend' => _("Available workstations"), 'value' => - array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'availableUserWorkstations[]', 'size' => '15', 'multiple', 'options' => $availableUserWorkstations)))) - )))); - - $return[] = array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'value' => _('Back') ), - 1 => array ( 'kind' => 'text'), - 2 => array ('kind' => 'text')); - } - - return $return; - } - - /* - * (non-PHPDoc) - * @see baseModule#get_pdfEntries - */ - function get_pdfEntries($account_type = "user") { - return array( 'sambaAccount_displayName' => array('' . _('Display name') . 'attributes['displayName'][0] . '
'), - 'sambaAccount_uid' => array('' . _('Username') . '' . $this->attributes['uid'][0] . ''), - 'sambaAccount_smbHome' => array('' . _('Home path') . '' . $this->attributes['smbHome'][0] . ''), - 'sambaAccount_homeDrive' => array('' . _('Home drive') . '' . $this->attributes['homePath'][0] . ''), - 'sambaAccount_scriptPath' => array('' . _('Logon script') . '' . $this->attributes['scriptPath'][0] . ''), - 'sambaAccount_profilePath' => array('' . _('Profile path') . '' . $this->attributes['profilePath'][0] . ''), - 'sambaAccount_userWorkstations' => array('' . _('Samba workstations') . '' . $this->attributes['userWorkstations'][0] . ''), - 'sambaAccount_domain' => array('' . _('Domain') . '' . $this->attributes['domain'][0] . ''), - 'sambaAccount_description' => array('' . _('Description') . '' . $this->attributes['description'][0] . '')); - } - - /** - * In this function the LDAP account is built up. - * - * @param array $rawAccounts list of hash arrays (name => value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - $triggered_messages = array(); - if ($this->get_scope() == 'user') { - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - if (!in_array("sambaAccount", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "sambaAccount"; - // displayName - if ($rawAccounts[$i][$ids['sambaAccount_displayName']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_displayName']], 'realname')) { - $partialAccounts[$i]['displayName'] = $rawAccounts[$i][$ids['sambaAccount_displayName']]; - } - else { - $errMsg = $this->messages['displayName'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // password - if (!get_preg($rawAccounts[$i][$ids['sambaAccount_password']], 'password')) { - $errMsg = $this->messages['lmPassword'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // use Unix password - if ($rawAccounts[$i][$ids['sambaAccount_pwdUnix']] == "") { // default: use Unix - $partialAccounts[$i]['lmPassword'] = lmPassword($partialAccounts[$i]['userPassword']); - $partialAccounts[$i]['ntPassword'] = ntPassword($partialAccounts[$i]['userPassword']); - } - elseif (in_array($rawAccounts[$i][$ids['sambaAccount_pwdUnix']], array('true', 'false'))) { - if ($rawAccounts[$i][$ids['sambaAccount_pwdUnix']] == 'true') { // use Unix - $partialAccounts[$i]['lmPassword'] = lmPassword($partialAccounts[$i]['userPassword']); - $partialAccounts[$i]['ntPassword'] = ntPassword($partialAccounts[$i]['userPassword']); - } - else { // use given password - $partialAccounts[$i]['lmPassword'] = lmPassword($rawAccounts[$i][$ids['sambaAccount_password']]); - $partialAccounts[$i]['ntPassword'] = ntPassword($rawAccounts[$i][$ids['sambaAccount_password']]); - } - } - else { - $errMsg = $this->messages['pwdUnix'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // use no password - if ($rawAccounts[$i][$ids['sambaAccount_noPassword']] != "") { - if (in_array($rawAccounts[$i][$ids['sambaAccount_noPassword']], array('true', 'false'))) { - if ($rawAccounts[$i][$ids['sambaAccount_noPassword']] == 'true') { - $partialAccounts[$i]['lmPassword'] = 'NO PASSWORD*****'; - $partialAccounts[$i]['ntPassword'] = 'NO PASSWORD*****'; - } - } - else { - $errMsg = $this->messages['noPassword'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // account flags - $flag_expire = false; - $flag_deactivated = false; - // password does not expire - if ($rawAccounts[$i][$ids['sambaAccount_noExpire']] != "") { - if (in_array($rawAccounts[$i][$ids['sambaAccount_noExpire']], array('true', 'false'))) { - if ($rawAccounts[$i][$ids['sambaAccount_noExpire']] == 'false') { - $flag_expire = true; - } - } - else { - $errMsg = $this->messages['noExpire'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // account is deactivated - if ($rawAccounts[$i][$ids['sambaAccount_deactivated']] != "") { - if (in_array($rawAccounts[$i][$ids['sambaAccount_deactivated']], array('true', 'false'))) { - if ($rawAccounts[$i][$ids['sambaAccount_deactivated']] == 'true') { - $flag_deactivated = true; - } - } - else { - $errMsg = $this->messages['deactivated'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // set flags - $flags = "["; - if ($flag_deactivated) $flags = $flags . "D"; - if (!$flag_expire) $flags = $flags . "X"; - $flags = $flags . "U"; - // Expand string to fixed length - $flags = str_pad($flags, 12); - // End character - $flags = $flags . "]"; - $partialAccounts[$i]['acctFlags'] = $flags; - // passsword can be changed - if ($rawAccounts[$i][$ids['sambaAccount_pwdCanChange']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_pwdCanChange']], 'date')) { - $parts = explode("-", $rawAccounts[$i][$ids['sambaAccount_pwdCanChange']]); - $time = mktime(0, 0, 0, $parts[1], $parts[0], $parts[2]); - $partialAccounts[$i]['pwdCanChange'] = $time; - } - else { - $errMsg = $this->messages['pwdCanChange'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // passsword must be changed - if ($rawAccounts[$i][$ids['sambaAccount_pwdMustChange']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_pwdMustChange']], 'date')) { - $parts = explode("-", $rawAccounts[$i][$ids['sambaAccount_pwdMustChange']]); - $time = mktime(0, 0, 0, $parts[1], $parts[0], $parts[2]); - $partialAccounts[$i]['pwdMustChange'] = $time; - } - else { - $errMsg = $this->messages['pwdMustChange'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // home drive - if ($rawAccounts[$i][$ids['sambaAccount_homeDrive']] != "") { - if (eregi("[d-z]:", $rawAccounts[$i][$ids['sambaAccount_homeDrive']])) { - $partialAccounts[$i]['homeDrive'] = $rawAccounts[$i][$ids['sambaAccount_homeDrive']]; - } - else { - $errMsg = $this->messages['homeDrive'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // home path - if ($rawAccounts[$i][$ids['sambaAccount_homePath']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_homePath']], 'UNC')) { - $partialAccounts[$i]['smbHome'] = $rawAccounts[$i][$ids['sambaAccount_homePath']]; - } - else { - $errMsg = $this->messages['homePath'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // profile path - if ($rawAccounts[$i][$ids['sambaAccount_profilePath']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_profilePath']], 'UNC')) { - $partialAccounts[$i]['profilePath'] = $rawAccounts[$i][$ids['sambaAccount_profilePath']]; - } - else { - $errMsg = $this->messages['profilePath'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // logon script - if ($rawAccounts[$i][$ids['sambaAccount_logonScript']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_logonScript']], 'logonscript')) { - $partialAccounts[$i]['scriptPath'] = $rawAccounts[$i][$ids['sambaAccount_logonScript']]; - } - else { - $errMsg = $this->messages['logonScript'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // workstations - if ($rawAccounts[$i][$ids['sambaAccount_workstations']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_workstations']], 'workstations')) { - $partialAccounts[$i]['userWorkstations'] = $rawAccounts[$i][$ids['sambaAccount_workstations']]; - } - else { - $errMsg = $this->messages['workstations'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // group - if ($rawAccounts[$i][$ids['sambaAccount_group']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_group']], 'digit')) { - $partialAccounts[$i]['primaryGroupID'] = $rawAccounts[$i][$ids['sambaAccount_group']]; - } - else { - $errMsg = $this->messages['group'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - else { - // default GID*2 + 1001 - $partialAccounts[$i]['primaryGroupID'] = $partialAccounts[$i]['gidNumber']*2 + 1001; - } - // domain - if ($rawAccounts[$i][$ids['sambaAccount_domain']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_domain']], 'domainname')) { - $partialAccounts[$i]['domain'] = $rawAccounts[$i][$ids['sambaAccount_domain']]; - } - else { - $errMsg = $this->messages['domain'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // special user - if ($rawAccounts[$i][$ids['sambaAccount_specialUser']] != "") { - if (in_array($rawAccounts[$i][$ids['sambaAccount_specialUser']], array_keys($this->rids))) { - $partialAccounts[$i]['rid'] = $this->rids[$rawAccounts[$i][$ids['sambaAccount_specialUser']]]; - } - else { - $errMsg = $this->messages['specialUser'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - else { - // default RID uid*2 + 1000 - $partialAccounts[$i]['rid'] = $partialAccounts[$i]['uidNumber']*2 + 1000; - } - } - } - else { // hosts - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - if (!in_array("sambaAccount", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "sambaAccount"; - // domain - if ($rawAccounts[$i][$ids['sambaAccount_domain']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaAccount_domain']], 'domainname')) { - $partialAccounts[$i]['domain'] = $rawAccounts[$i][$ids['sambaAccount_domain']]; - } - else { - $errMsg = $this->messages['domain'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // RID (RID uid*2 + 1000) - $partialAccounts[$i]['rid'] = $partialAccounts[$i]['uidNumber']*2 + 1000; - // passwords ( = host name) - $partialAccounts[$i]['lmPassword'] = lmPassword(substr($partialAccounts[$i]['uid'], 0, sizeof($partialAccounts[$i]['uid']) - 1)); - $partialAccounts[$i]['ntPassword'] = ntPassword(substr($partialAccounts[$i]['uid'], 0, sizeof($partialAccounts[$i]['uid']) - 1)); - // flags - $partialAccounts[$i]['acctFlags'] = "[W ]"; - } - } - return $triggered_messages; - } - -} - -?> diff --git a/lam/lib/modules/sambaGroupMapping.inc b/lam/lib/modules/sambaGroupMapping.inc deleted file mode 100644 index c8c1cbe1..00000000 --- a/lam/lib/modules/sambaGroupMapping.inc +++ /dev/null @@ -1,443 +0,0 @@ -rids = array( - _('Domain Admins') => 512, - _('Domain Users') => 513, - _('Domain Guests') => 514, - _('Domain Computers') => 515, - _('Domain Controllers') => 516, - _('Domain Certificate Admins') => 517, - _('Domain Schema Admins') => 518, - _('Domain Enterprise Admins') => 519, - _('Domain Policy Admins') => 520); - - $this->sambaGroupTypes = array ( - _('User') => 1, - _('Domain Group') => 2, - _('Domain') => 3, - _('Local Group') => 4, - _('Builtin Group') => 5, - _('Deleted Account') => 6, - _('Ivalid Account') => 7 - ); - // call parent constructor - parent::baseModule($scope); - } - - /** - * In this function the LDAP account is built up. - * - * @param array $rawAccounts list of hash arrays (name => value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - // search existing Samba 3 domains - $domains = search_domains($_SESSION['config']->get_domainSuffix()); - $nameToSID = array(); - // get domain SIDs - for ($i = 0; $i < sizeof($domains); $i++) { - $nameToSID[$domains[$i]->name] = $domains[$i]->SID; - } - // get domain RID bases - $nameToRIDBase = array(); - for ($i = 0; $i < sizeof($domains); $i++) { - $nameToRIDBase[$domains[$i]->name] = $domains[$i]->RIDbase; - } - $triggered_messages = array(); - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - // group type - if ($rawAccounts[$i][$ids['sambaGroupMapping_groupType']] != "") { - if (in_array($rawAccounts[$i][$ids['sambaGroupMapping_groupType']], $this->sambaGroupTypes)) { // number given - $partialAccounts[$i]['sambaGroupType'] = $rawAccounts[$i][$ids['sambaGroupMapping_groupType']]; - } - elseif (in_array($rawAccounts[$i][$ids['sambaGroupMapping_groupType']], array_keys($this->sambaGroupTypes))) { // description given - $partialAccounts[$i]['sambaGroupType'] = $this->sambaGroupTypes[$rawAccounts[$i][$ids['sambaGroupMapping_groupType']]]; - } - else { // invalid type - $errMsg = $this->messages['groupType'][0]; - array_push($errMsg, array($i, implode(", ", array_keys($this->sambaGroupTypes) + $this->sambaGroupTypes))); - $triggered_messages[] = $errMsg; - } - } - else { - $partialAccounts[$i]['sambaGroupType'] = "2"; // 2 is the default (domain group) - } - if (!in_array("sambaGroupMapping", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "sambaGroupMapping"; - // SID - $domSID = $nameToSID[$rawAccounts[$i][$ids['sambaGroupMapping_domain']]]; - if (!isset($domSID)) { - $errMsg = $this->messages['sambaSID'][1]; - array_push($errMsg, $rawAccounts[$i][$ids['sambaGroupMapping_domain']]); - array_push($errMsg, $i); - $triggered_messages[] = $errMsg; - } - else { - // RID - $rid = $rawAccounts[$i][$ids['sambaGroupMapping_rid']]; - if (isset($this->rids[$rid])) $rid = $this->rids[$rid]; - // check if RID has to be calculated - if (($rid == "") || (!isset($rid))) { - $ridBase = $nameToRIDBase[$rawAccounts[$i][$ids['sambaGroupMapping_domain']]]; - $partialAccounts[$i]['sambaSID'] = $domSID . "-" . (($partialAccounts[$i]['gidNumber'] * 2) + $ridBase + 1); - } - elseif (get_preg($rid, 'digit')) { - $partialAccounts[$i]['sambaSID'] = $domSID . "-" . $rid; - } - } - // display name (UTF-8, no regex check needed) - if ($rawAccounts[$i][$ids['sambaGroupMapping_name']] == "") { - $partialAccounts[$i]['displayName'] = $partialAccounts[$i]['cn']; - } - else { - $partialAccounts[$i]['displayName'] = $rawAccounts[$i][$ids['sambaGroupMapping_name']]; - } - } - return $triggered_messages; - } - - function delete_attributes($post) { - return 0; - } - - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_attributes($post) { - // Get Domain SID from name - $sambaDomains = search_domains($_SESSION['config']->get_domainSuffix()); - // Get Domain-SID from group SID - if ($this->attributes['sambaSID'][0]!='') - $domainSID = substr($this->atttributes['sambaSID'][0], 0, strrpos($this->attributes['sambaSID'][0], "-")); - for ($i=0; $iname; - if ($domainSID==$sambaDomains[$i]->SID) { - $SID = $sambaDomains[$i]->SID; - $sel_domain = $sambaDomains[$i]->name; - } - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Display name') ), - 1 => array ( 'kind' => 'input', 'name' => 'displayName', 'type' => 'text', 'size' => '30', 'maxlength' => '50', 'value' => $this->attributes['displayName'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'displayName' )); - - $names = array_keys($this->rids); - $wrid=false; - for ($i=0; $iattributes['sambaSID'][0]==$SID."-".$this->rids[$names[$i]]) { - $selected[] = $names[$i]; - $wrid=true; - } - else $options[] = $names[$i]; - } - if ($wrid) $options[] = $_SESSION[$this->base]->module['posixGroup']->attributes['cn'][0]; - else $selected[] = $_SESSION[$this->base]->module['posixGroup']->attributes['cn'][0]; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Windows group') ), - 1 => array ( 'kind' => 'select', 'name' => 'sambaSID', 'options' => $options, 'options_selected' => $selected), - 2 => array ( 'kind' => 'help', 'value' => 'sambaSID' )); - - $names = array_keys($this->sambaGroupTypes); - $selected = array( _('Domain Group') ); - for ($i=0; $iattributes['sambaGroupType'][0]==$this->sambaGroupTypes[$names[$i]]) - $selected = array( $names[$i] ); - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Group type') ), - 1 => array ( 'kind' => 'select', 'name' => 'sambaGroupType', 'options' => $names , 'options_selected' => $selected ), - 2 => array ( 'kind' => 'help', 'value' => 'sambaDomainName' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Domain') ), - 1 => array ( 'kind' => 'select', 'name' => 'sambaDomainName', 'options' => $sambaDomainNames, 'options_selected' => array ( $sel_domain ) ), - 2 => array ( 'kind' => 'help', 'value' => 'sambaDomainName' )); - - return $return; - } - - function display_html_delete($post) { - return 0; - } - - - /* This function returns all ldap attributes - * which are part of sambaGroupMapping and returns - * also their values. - */ - function get_attributes() { - return $this->attributes; - } - - - /** - * Returns meta data that is interpreted by parent class - * - * @return array array with meta data - */ - function get_metaData() { - $return = array(); - // manages group accounts - $return["account_types"] = array("group"); - // alias name - $return["alias"] = _('Samba 3'); - // module dependencies - $return['dependencies'] = array('depends' => array('posixGroup'), 'conflicts' => array()); - // available PDF fields - $return['PDF_fields'] = array( - 'gidNumber', - 'sambaSID', - 'displayName', - 'sambaGroupType', - 'description' - ); - // upload fields - // search existing Samba 3 domains - if ($_SESSION['loggedIn']) $domains = search_domains($_SESSION['config']->get_domainSuffix()); - $domainNames = array(); - for ($i = 0; $i < sizeof($domains); $i++) $domainNames[] = $domains[$i]->name; - $return['upload_columns'] = array( - array( - 'name' => 'sambaGroupMapping_domain', - 'description' => _('Samba domain name'), - 'help' => 'sambaDomainName', - 'example' => $domainNames[0], - 'values' => implode(", ", $domainNames), - 'required' => true - ), - array( - 'name' => 'sambaGroupMapping_name', - 'description' => _('Samba display name'), - 'help' => 'displayName', - 'example' => _('Domain administrators') - ), - array( - 'name' => 'sambaGroupMapping_rid', - 'description' => _('Samba RID number'), - 'help' => 'rid', - 'example' => _('DOMAIN_ADMINS') - ), - array( - 'name' => 'sambaGroupMapping_groupType', - 'description' => _('Samba group type'), - 'help' => 'type', - 'values' => implode(", ", array_keys($this->sambaGroupTypes) + $this->sambaGroupTypes), - 'example' => '2' - ) - ); - $return['upload_preDepends'] = array('posixGroup'); - // help Entries - $return['help'] = array( - 'displayName' => array( - "Headline" => _("Display name"), - "Text" => _("This is the group name which will be shown in Windows.") - ), - 'sambaSID' => array( - "Headline" => _("Windows groupname"), - "Text" => _("If you want to use a well known RID you can selcet a well known group.") - ), - 'rid' => array( - "Headline" => _("Samba RID number"), - "Text" => _("This is the relative ID (similar to UID on Unix) for Windows accounts. If you leave this empty LAM will calculate the RID from the UID. This can be either a number or the name of a special group:") . ' ' . implode(", ", array_keys($this->rids)) - ), - 'sambaDomainName' => array( - "Headline" => _("Domain"), - "Text" => _("Windows-Domain name of group."). ' '. _("Can be left empty.") - ), - 'type' => array( - "Headline" => _("Samba group type"), - "Text" => _("Windows group type.") - ) - ); - - return $return; - } - - - /* - * (non-PHPDoc) - * @see baseModule#get_pdfEntries - */ - function get_pdfEntries($account_type = "User") { - return array( 'sambaGroupMapping_gidNumber' => array('' . _('GID number') . '' . $this->attributes['gidNumber'][0] . ''), - 'sambaGroupMapping_sambaSID' => array('' . _('Windows group') . '' . $this->attributes['sambaSID'][0] . ''), - 'sambaGroupMapping_displayName' => array('' . _('Display name') . '' . $this->attributes['displayName'][0] . ''), - 'sambaGroupMapping_sambaGroupType' => array('' . _('Samba group type') . '' . $this->attributes['sambaGroupType'][0] . ''), - 'sambaGroupMapping_description' => array('' . _('Description') . '' . $this->attributes['description'][0] . '')); - } - - - /** - * Returns a list of elements for the account profiles. - * - * @return profile elements - */ - function get_profileOptions() { - $return = array(); - // get list of domains - $sambaDomains = search_domains($_SESSION['config']->get_domainSuffix()); - $sambaDomainNames = array(); - for ($i = 0; $i < count($sambaDomains); $i++ ) { - // extract names - $sambaDomainNames[] = $sambaDomains[$i]->name; - } - // domain - $return[] = array ( - 0 => array('kind' => 'text', 'text' => _('Domain')), - 1 => array('kind' => 'select', 'name' => 'sambaDomainName', 'options' => $sambaDomainNames, 'options_selected' => array ()), - 2 => array('kind' => 'help', 'value' => 'sambaDomainName' )); - return $return; - } - - - /* This function loads all attributes into the object - * $attr is an array as it's retured from ldap_get_attributes - */ - function load_attributes($attr) { - $this->load_ldap_attributes($attr); - return 0; - } - - - /** this functin fills the error message array with messages - **/ - function load_Messages() { - $this->messages['sambaSID'][0] = array('ERROR', _('Special Group'),sprintf( _('There can be only one group %s.'), $rids[$i]), 'sambaSID'); - $this->messages['sambaSID'][1] = array('ERROR', _("Account %s:") . " (sambaGroupMapping_domain): " . _("LAM was unable to find a Samba 3 domain with this name!")); // third parameter must be set dynamically - $this->messages['groupType'][0] = array('ERROR', _("Account %s:") . " (sambaGroupMapping_type): " . _("This is not a valid Samba 3 group type!"), _("Possible values") . ": %s"); - } - - - /* This functions return true - * if all needed settings are done - */ - function module_complete() { - if (!$this->module_ready()) return false; - if ($this->attributes['sambaSID'][0] == '') return false; - if ($this->attributes['sambaGroupType'][0] == '') return false; - return true; - } - - - function module_ready() { - if ($_SESSION[$this->base]->module['posixGroup']->attributes['gidNumber'][0]=='') return false; - return true; - } - - - /* This function returns a list of all html-pages in module - * This is usefull for mass upload and pdf-files - * because lam can walk trough all pages itself and do some - * error checkings - */ - function pages() { - return array('attributes'); - } - - - /* Write variables into object and do some regexp checks - */ - function proccess_attributes($post) { - // Save attributes - $this->attributes['displayName'][0] = $post['displayName']; - $this->attributes['sambaGroupType'][0] = $this->sambaGroupTypes[$post['sambaGroupType']]; - - // Get Domain SID from name - $sambaDomains = search_domains($_SESSION['config']->get_domainSuffix()); - for ($i=0; $iname) { - $SID = $sambaDomains[$i]->SID; - $RIDbase = $sambaDomain[$i]->RIDbase; - } - // Load attributes - $this->attributes['displayName'][0] = $post['displayName']; - $rids = array_keys($this->rids); - $wrid = false; - for ($i=0; $iattributes['sambaSID'][0] = $SID."-".$this->rids[$rids[$i]]; - // Do a check if special grou pis unique - if ($_SESSION['cache']->in_cache($SID."-".$this->rids[$rids[$i]], 'sambaSID', 'group')) - $triggered_messages[] = $this->messages['sambaSID'][0]; - } - } - if (!$wrid) $this->attributes['sambaSID'][0] = $SID . "-" . ($_SESSION[$this->base]->module['posixGroup']->attributes['gidNumber'][0]*2+$RIDbase+1); - - // Return error-messages - if (count($triggered_messages)!=0) { - $this->triggered_messages = $triggered_messages; - return $triggered_messages; - } - else $this->triggered_messages = array(); - return 0; - } - - - /* This function returns an array with 3 entries: - * array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... ) - * DN is the DN to change. It may be possible to change several DNs, - * e.g. create a new user and add him to some groups via attribute memberUid - * add are attributes which have to be added to ldap entry - * remove are attributes which have to be removed from ldap entry - * modify are attributes which have to been modified in ldap entry - */ - function save_attributes() { - // Get Domain SID from name - $sambaDomains = search_domains($_SESSION['config']->get_domainSuffix()); - // Get Domain-SID from group SID - $domainSID = substr($this->attributes['sambaSID'][0], 0, strrpos($this->attributes['sambaSID'][0], "-")); - for ($i=0; $iSID) - $SID = $sambaDomains[$i]->SID; - $names = array_keys($this->rids); - $wrid=false; - for ($i=0; $iattributes['sambaSID'][0]==$SID."-".$this->rids[$names[$i]]) { - $wrid=true; - } - if (!$wrid) $this->attributes['sambaSID'][0] == $SID."-".($_SESSION[$this->base]->module['posixGroup']->attributes['gidNumber'][0]*2+1+$RIDbase); - $return = $_SESSION[$this->base]->save_module_attributes($this->attributes, $this->orig); - - return $return; - } - -} - -?> diff --git a/lam/lib/modules/sambaSamAccount.inc b/lam/lib/modules/sambaSamAccount.inc deleted file mode 100644 index 79e7747b..00000000 --- a/lam/lib/modules/sambaSamAccount.inc +++ /dev/null @@ -1,1257 +0,0 @@ -rids = array( - _('Domain Admins') => 512, _('Domain Users') => 513, _('Domain Guests') => 514, - _('Domain Computers') => 515, _('Domain Controllers') => 516, _('Domain Certificate Admins') => 517, - _('Domain Schema Admins') => 518, _('Domain Enterprise Admins') => 519, _('Domain Policy Admins') => 520); - // call parent constructor - parent::baseModule($scope); - } - - /** this functin fills the error message array with messages - **/ - function load_Messages() { - // error messages for input checks - $this->messages['homePath'][0] = array('ERROR', _('Home path'), _('Home path is invalid.')); - $this->messages['homePath'][1] = array('INFO', _('Home path'), _('Inserted user- or groupname in HomePath.')); - $this->messages['homePath'][2] = array('ERROR', _('Account %s:') . ' sambaSamAccount_homePath', _('Home path is invalid.')); - $this->messages['profilePath'][0] = array('ERROR', _('Profile path'), _('Profile path is invalid!')); - $this->messages['profilePath'][1] = array('INFO', _('Profile path'), _('Inserted user- or groupname in profilepath.')); - $this->messages['profilePath'][2] = array('ERROR', _('Account %s:') . ' sambaSamAccount_profilePath', _('Profile path is invalid!')); - $this->messages['logonScript'][0] = array('ERROR', _('Script path'), _('Script path is invalid!')); - $this->messages['logonScript'][1] = array('INFO', _('Script path'), _('Inserted user- or groupname in scriptpath.')); - $this->messages['logonScript'][2] = array('ERROR', _('Account %s:') . ' sambaSamAccount_logonScript', _('Logon script is invalid!')); - $this->messages['workstations'][0] = array('ERROR', _('Samba workstations'), _('Please enter a comma separated list of host names!')); - $this->messages['workstations'][1] = array('ERROR', _('Account %s:') . ' sambaSamAccount_workstations', _('Please enter a comma separated list of host names!')); - $this->messages['sambaLMPassword'][0] = array('ERROR', _('Password'), _('Please enter the same password in both password-fields.')); - $this->messages['sambaLMPassword'][1] = array('ERROR', _('Password'), _('Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !')); - $this->messages['sambaLMPassword'][2] = array('ERROR', _('Account %s:') . ' sambaSamAccount_password', _('Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !')); - $this->messages['rid'][0] = array('ERROR', _('Special user'), _('There can be only one administrator per domain.')); - $this->messages['rid'][1] = array('ERROR', _('Special user'), _('There can be only one guest per domain.')); - $this->messages['rid'][2] = array('ERROR', _('Account %s:') . ' sambaSamAccount_rid', _('Please enter a RID number or the name of a special account!')); - $this->messages['rid'][3] = array('ERROR', _('Account %s:') . ' sambaSamAccount_rid', _('This is not a valid RID number!')); - $this->messages['displayName'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_displayName', _('Please enter a valid display name!')); - $this->messages['pwdUnix'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_pwdUnix', _('This value can only be \"true\" or \"false\"!')); - $this->messages['noPassword'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_noPassword', _('This value can only be \"true\" or \"false\"!')); - $this->messages['noExpire'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_noExpire', _('This value can only be \"true\" or \"false\"!')); - $this->messages['deactivated'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_deactivated', _('This value can only be \"true\" or \"false\"!')); - $this->messages['pwdCanChange'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_pwdCanChange', _('Please enter a valid date in format DD-MM-YYYY.')); - $this->messages['pwdMustChange'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_pwdMustChange', _('Please enter a valid date in format DD-MM-YYYY.')); - $this->messages['homeDrive'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_homeDrive', _('Please enter a valid drive letter.')); - $this->messages['domain'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_domain', _('LAM was unable to find a domain with this name!')); - $this->messages['logonHours'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_logonHours', _('The format of the logon hours field is invalid!')); - $this->messages['group'][0] = array('ERROR', _('Account %s:') . ' sambaSamAccount_group', _('Please enter a valid group name!')); - } - - /** - * Returns meta data that is interpreted by parent class - * - * @return array array with meta data - */ - function get_metaData() { - $return = array(); - // manages user and host accounts - $return["account_types"] = array("user", "host"); - if ($this->get_scope() == "host") { - // this is a base module - $return["is_base"] = true; - // LDAP filter - $return["ldap_filter"] = array('and' => '(uid=*$)', 'or' => "(objectClass=posixAccount)"); - } - // alias name - $return["alias"] = _('Samba 3'); - // module dependencies - $return['dependencies'] = array('depends' => array('posixAccount'), 'conflicts' => array()); - // profile checks - $return['profile_checks']['sambaSamAccount_smbhome'] = array( - 'type' => 'ext_preg', - 'regex' => 'UNC', - 'error_message' => $this->messages['homePath'][0]); - $return['profile_checks']['sambaSamAccount_profilePath'] = array( - 'type' => 'ext_preg', - 'regex' => 'UNC', - 'error_message' => $this->messages['profilePath'][0]); - $return['profile_checks']['sambaSamAccount_logonScript'] = array( - 'type' => 'ext_preg', - 'regex' => 'logonscript', - 'error_message' => $this->messages['logonScript'][0]); - $return['profile_checks']['sambaSamAccount_userWorkstations'] = array( - 'type' => 'ext_preg', - 'regex' => 'unixhost', - 'error_message' => $this->messages['workstations'][0]); - // available PDF fields - $return['PDF_fields'] = array( - 'displayName', - 'uid', - 'sambaHomePath', - 'sambaHomeDrive', - 'sambaLogonScript', - 'sambaProfilePath', - 'sambaUserWorkstations', - 'sambaDomainName', - 'description', - 'sambaPrimaryGroupSID' - ); - // help Entries - $return['help'] = array ( - "displayName" => array( - "ext" => "FALSE", "Headline" => _("Display name"), - "Text" => _("This is the account's full name on Windows systems.")), - "password" => array( - "ext" => "FALSE", "Headline" => _("Samba password"), - "Text" => _("This is the account's Windows password.")), - "pwdUnix" => array( - "ext" => "FALSE", "Headline" => _("Use Unix password"), - "Text" => _("If checked Unix password will also be used as Samba password.")), - "pwdUnixUpload" => array( - "ext" => "FALSE", "Headline" => _("Use Unix password"), - "Text" => _("If set to \"true\" Unix password will also be used as Samba password.")), - "noPassword" => array( - "ext" => "FALSE", "Headline" => _("Use no password"), - "Text" => _("If checked no password will be used.")), - "noPasswordUpload" => array( - "ext" => "FALSE", "Headline" => _("Use no password"), - "Text" => _("If set to \"true\" no password will be used.")), - "noExpire" => array( - "ext" => "FALSE", "Headline" => _("Password does not expire"), - "Text" => _("If checked password does not expire. (Setting X-Flag)")), - "noExpireUpload" => array( - "ext" => "FALSE", "Headline" => _("Password does not expire"), - "Text" => _("If set to \"true\" password does not expire. (Setting X-Flag)")), - "deactivated" => array( - "ext" => "FALSE", "Headline" => _("Account is deactivated"), - "Text" => _("If checked account will be deactivated. (Setting D-Flag)")), - "deactivatedUpload" => array( - "ext" => "FALSE", "Headline" => _("Account is deactivated"), - "Text" => _("If set to \"true\" account will be deactivated. (Setting D-Flag)")), - "pwdCanChange" => array( - "ext" => "FALSE", "Headline" => _("User can change password"), - "Text" => _("Date after the user is able to change his password. Format: DD-MM-YYYY")), - "pwdMustChange" => array ("ext" => "FALSE", "Headline" => _("User must change password"), - "Text" => _("Date after the user must change his password. Format: DD-MM-YYYY")), - "homeDrive" => array( - "ext" => "FALSE", "Headline" => _("Home drive"), - "Text" => _("Drive letter assigned on windows workstations as homedirectory.")), - "homePath" => array( - "ext" => "FALSE", "Headline" => _("Home path"), - "Text" => _("UNC-path (\\\\server\\share) of homedirectory. $%s and $%s are replaced with user- and groupname."). ' '. _("Can be left empty."), - "variables" => array('user', 'group')), - "profilePath" => array( - "ext" => "FALSE", "Headline" => _("Profile path"), - "Text" => _("Path of the user profile. Can be a local absolute path or a UNC-path (\\\\server\\share). $%s and $%s are replaced with user- and groupname."). ' '. _("Can be left empty."), - "variables" => array('user', 'group')), - "scriptPath" => array( - "ext" => "FALSE", "Headline" => _("Logon script"), - "Text" => _("Filename and -path relative to netlogon-share which should be executed on logon. $%s and $%s are replaced with user- and groupname."). ' '. _("Can be left empty."), - "variables" => array('user', 'group')), - "workstations" => array( - "ext" => "FALSE", "Headline" => _("Samba workstations"), - "Text" => _("Comma separated list of Samba workstations the user is allowed to login. Empty means every workstation."). ' '. _("Can be left empty.")), - "groupUpload" => array( - "ext" => "FALSE", "Headline" => _("Windows primary group SID"), - "Text" => _("This is the SID of the user's primary Windows group.")), - "ridUpload" => array( - "ext" => "FALSE", "Headline" => _("Samba RID"), - "Text" => _("This is the relative ID number for your Windows account. You can either enter a number or one of these special accounts: %s. If you leave this empty LAM will use: uidNumber*2 + sambaAlgorithmicRidBase."), - "variables" => implode(", ", $this->rids)), - "ridUploadHost" => array( - "ext" => "FALSE", "Headline" => _("Samba RID"), - "Text" => _("This is the relative ID number for your host account. If you leave this empty LAM will use: uidNumber*2 + sambaAlgorithmicRidBase.")), - "domain" => array( - "ext" => "FALSE", "Headline" => _("Domain"), - "Text" => _("Windows domain name of account.")), - "logonHoursUpload" => array( - "ext" => "FALSE", "Headline" => _("Logon hours"), - "Text" => _("This option defines the allowed logon hours for this account. The format is the same as for the LDAP attribute. The 24*7 hours are represented as 168 bit which are saved as 21 hex (21*8 = 168) values. The first bit represents Sunday 0:00 - 0:59 in GMT.")) - ); - // upload dependencies - $return['upload_preDepends'] = array('posixAccount', 'inetOrgPerson'); - // upload options - if ($this->get_scope() == "user") { - $return['upload_columns'] = array( - array( - 'name' => 'sambaSamAccount_domain', - 'description' => _('Domain'), - 'required' => true, - 'help' => 'domain', - 'example' => _('mydomain') - ), - array( - 'name' => 'sambaSamAccount_displayName', - 'description' => _('Display name'), - 'help' => 'displayName', - 'example' => _('Steve Miller') - ), - array( - 'name' => 'sambaSamAccount_password', - 'description' => _('Password'), - 'help' => 'password', - 'example' => _('secret') - ), - array( - 'name' => 'sambaSamAccount_pwdUnix', - 'description' => _('Use Unix password'), - 'help' => 'pwdUnixUpload', - 'default' => 'true', - 'values' => 'true, false', - 'example' => 'true' - ), - array( - 'name' => 'sambaSamAccount_noPassword', - 'description' => _('Use no password'), - 'help' => 'noPasswordUpload', - 'default' => 'false', - 'values' => 'true, false', - 'example' => 'false' - ), - array( - 'name' => 'sambaSamAccount_noExpire', - 'description' => _('Password does not expire'), - 'help' => 'noExpireUpload', - 'default' => 'true', - 'values' => 'true, false', - 'example' => 'true' - ), - array( - 'name' => 'sambaSamAccount_deactivated', - 'description' => _('Account is deactivated'), - 'help' => 'deactivatedUpload', - 'default' => 'false', - 'values' => 'true, false', - 'example' => 'false' - ), - array( - 'name' => 'sambaSamAccount_pwdCanChange', - 'description' => _('User can change password'), - 'help' => 'pwdCanChange', - 'default' => '31-12-2030', - 'example' => '15-11-2006' - ), - array( - 'name' => 'sambaSamAccount_pwdMustChange', - 'description' => _('User must change password'), - 'help' => 'pwdMustChange', - 'default' => '31-12-2030', - 'example' => '15-10-2006' - ), - array( - 'name' => 'sambaSamAccount_homeDrive', - 'description' => _('Home drive'), - 'help' => 'homeDrive', - 'example' => 'k:' - ), - array( - 'name' => 'sambaSamAccount_homePath', - 'description' => _('Home path'), - 'help' => 'homePath', - 'example' => _('\\\\server\\homes\\smiller') - ), - array( - 'name' => 'sambaSamAccount_profilePath', - 'description' => _('Profile path'), - 'help' => 'profilePath', - 'example' => _('\\\\server\\profiles\\smiller') - ), - array( - 'name' => 'sambaSamAccount_logonScript', - 'description' => _('Logon script'), - 'help' => 'scriptPath', - 'example' => 'logon.bat' - ), - array( - 'name' => 'sambaSamAccount_workstations', - 'description' => _('Samba workstations'), - 'help' => 'workstations', - 'example' => 'PC01,PC02,PC03' - ), - array( - 'name' => 'sambaSamAccount_group', - 'description' => _('Windows group'), - 'help' => 'groupUpload', - 'example' => _('mygroup'), - 'default' => 'Domain Users' - ), - array( - 'name' => 'sambaSamAccount_rid', - 'description' => _('Samba RID'), - 'help' => 'ridUpload', - 'example' => '1235', - 'default' => '<uidNumber>*2 + <sambaAlgorithmicRidBase>' - ), - array( - 'name' => 'sambaSamAccount_logonHours', - 'description' => _('Logon hours'), - 'help' => 'logonHoursUpload', - 'example' => 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' - ) - ); - } - elseif ($this->get_scope() == "host") { - $return['upload_columns'] = array( - array( - 'name' => 'sambaSamAccount_domain', - 'description' => _('Domain'), - 'required' => true, - 'help' => 'domain', - 'example' => _('mydomain') - ), - array( - 'name' => 'sambaSamAccount_rid', - 'description' => _('Samba RID'), - 'help' => 'ridUploadHost', - 'example' => '1235', - 'default' => '<uidNumber>*2 + <sambaAlgorithmicRidBase>' - ) - ); - } - return $return; - } - - // Constructor - function init($base) { - // call parent init - parent::init($base); - $this->useunixpwd=false; - } - - // Variables - // use unix password as samba password? - var $useunixpwd; - // Array of well known rids - var $rids; - - - /* $attribute['sambaLMPassword'] and $attribute['sambaNTPassword'] can't accessed directly because it's enrcypted - * To read / write password function sambaLMPassword is needed - * This function will return the unencrypted password when - * called without a variable - * If it's called with a new password, the - * new password will be stored encrypted - */ - function sambaLMPassword($newpassword=false) { - if (is_string($newpassword)) { - // Write new password - if ($newpassword=='') - $this->attributes['sambaLMPassword'][0] = ''; - else $this->attributes['sambaLMPassword'][0] = base64_encode($_SESSION['ldap']->encrypt($newpassword)); - return 0; - } - else { - if ($this->useunixpwd) return $_SESSION[$this->base]->module['posixAccount']->userPassword(); - if ($this->attributes['sambaLMPassword'][0]!='') { - // Read existing password if set - return $_SESSION['ldap']->decrypt(base64_decode($this->attributes['sambaLMPassword'][0])); - } - else return ''; - } - } - - function module_ready() { - if ($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]=='') return false; - if ($_SESSION[$this->base]->module['posixAccount']->attributes['uidNumber'][0]=='') return false; - if ($this->attributes['uid'][0]=='') return false; - return true; - } - - /* This functions return true - * if all needed settings are done - */ - function module_complete() { - if (!$this->module_ready()) return false; - if ($this->attributes['sambaSID'][0] == '') return false; - return true; - } - - /* This function returns a list of all html-pages in module - * This is usefull for mass upload and pdf-files - * because lam can walk trough all pages itself and do some - * error checkings - */ - function pages() { - return array('attributes', 'sambaUserWorkstations'); - } - - /* This function loads all attributes into the object - * $attr is an array as it's retured from ldap_get_attributes - */ - function load_attributes($attr) { - $this->load_ldap_attributes($attr); - // Delete password. We don't want to show an encrypted password because it makes no sense - $this->sambaLMPassword(''); - return 0; - } - - /* This function returns an array with 3 entries: - * array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... ) - * DN is the DN to change. It may be possible to change several DNs, - * e.g. create a new user and add him to some groups via attribute memberUid - * add are attributes which have to be added to ldap entry - * remove are attributes which have to be removed from ldap entry - * modify are attributes which have to been modified in ldap entry - */ - function save_attributes() { - /* Create sambaSID. Can't create it while loading attributes because - * it's psssible uidNumber has changed - */ - // Get Domain SID from name - $sambaDomains = search_domains($_SESSION['config']->get_domainSuffix()); - for ($i=0; $iattributes['sambaDomainName'][0] == $sambaDomains[$i]->name) { - $SID = $sambaDomains[$i]->SID; - $RIDbase = $sambaDomains[$i]->RIDbase; - } - $special = false; - if ($this->attributes['sambaSID'][0] == $SID."-500") $special = true; - if ($this->attributes['sambaSID'][0] == $SID."-501") $special = true; - if (!$special) $this->attributes['sambaSID'][0] == $SID."-".($_SESSION[$this->base]->module['posixAccount']->attributes['uidNumber'][0]*2+$RIDbase); - $rids = array_keys($this->rids); - $wrid = false; - for ($i=0; $iattributes['sambaPrimaryGroupSID'][0] == $SID . "-" . $rids[$i]) - $wrid = true; - if (!$wrid) $this->attributes['sambaPrimaryGroupSID'][0] = $SID."-".($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]*2)+$RIDbase+1; - - - $return = $_SESSION[$this->base]->save_module_attributes($this->attributes, $this->orig); - - // unset password when needed - if (isset($return[$_SESSION[$this->base]->dn]['add']['sambaLMPassword'])) - unset($return[$_SESSION[$this->base]->dn]['add']['sambaLMPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['modify']['sambaLMPassword'])) - unset($return[$_SESSION[$this->base]->dn]['modify']['sambaLMPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['notchanged']['sambaLMPassword'])) - unset($return[$_SESSION[$this->base]->dn]['notchanged']['sambaLMPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['add']['sambaNTPassword'])) - unset($return[$_SESSION[$this->base]->dn]['add']['sambaNTPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['modify']['sambaNTPassword'])) - unset($return[$_SESSION[$this->base]->dn]['modify']['sambaNTPassword']); - if (isset($return[$_SESSION[$this->base]->dn]['notchanged']['sambaNTPassword'])) - unset($return[$_SESSION[$this->base]->dn]['notchanged']['sambaNTPassword']); - if (!isset($this->orig['sambaLMPassword'][0])) { - // new account - $return[$_SESSION[$this->base]->dn]['add']['sambaLMPassword'][0] = lmPassword($this->sambaLMPassword()); - $return[$_SESSION[$this->base]->dn]['add']['sambaNTPassword'][0] = ntPassword($this->sambaLMPassword()); - $return[$_SESSION[$this->base]->dn]['add']['sambaPwdLastSet'][0] = time(); - } - else - // edit existing account - if ($this->sambaLMPassword()!='' && $this->attributes['sambaLMPassword'][0] != $this->orig['sambaLMPassword'][0]) { - $return[$_SESSION[$this->base]->dn]['modify']['sambaLMPassword'][0] = lmPassword($this->sambaLMPassword()); - $return[$_SESSION[$this->base]->dn]['modify']['sambaNTPassword'][0] = ntPassword($this->sambaLMPassword()); - $return[$_SESSION[$this->base]->dn]['modify']['sambaPwdLastSet'][0] = time(); - } - return $return; - } - - function delete_attributes($post) { - return 0; - } - - /* Write variables into object and do some regexp checks - */ - function proccess_attributes($post) { - // Save attributes - $this->attributes['sambaDomainName'][0] = $post['sambaDomainName']; - // Get Domain SID from name - $sambaDomains = search_domains($_SESSION['config']->get_domainSuffix()); - for ($i=0; $iattributes['sambaDomainName'][0] == $sambaDomains[$i]->name) { - $SID = $sambaDomains[$i]->SID; - $RIDbase = $sambaDomains[$i]->RIDbase; - } - $flag = "["; - if ($post['sambaAcctFlagsD']) $flag .= "D"; - if ($post['sambaAcctFlagsX']) $flag .= "X"; - if ($post['sambaAcctFlagsN']) $flag .= "N"; - if ($post['sambaAcctFlagsS']) $flag .= "S"; - if ($post['sambaAcctFlagsH']) $flag .= "H"; - if ($post['sambaAcctFlagsW']) $flag .= "W"; - if ($post['sambaAcctFlagsU']) $flag .= "U"; - // Expand string to fixed length - $flag = str_pad($flag, 12); - // End character - $flag = $flag. "]"; - $this->attributes['sambaAcctFlags'][0] = $flag; - - if ($_SESSION[$this->base]->type=='host') { - $this->attributes['sambaPrimaryGroupSID'][0] = $SID."-".$this->rids[_('Domain Computers')]; - if ($post['ResetSambaPassword']) { - $this->sambaLMPassword($_SESSION[$this->base]->module['posixAccount']->attributes['uid'][0]); - $_SESSION[$this->base]->module['posixAccount']->userPassword(''); - } - } - - if ($_SESSION[$this->base]->type=='user') { - $this->attributes['sambaPwdCanChange'][0] = mktime($post['sambaPwdCanChange_h'], $post['sambaPwdCanChange_m'], $post['sambaPwdCanChange_s'], - $post['sambaPwdCanChange_mon'], $post['sambaPwdCanChange_day'], $post['sambaPwdCanChange_yea']); - $this->attributes['sambaPwdMustChange'][0] = mktime($post['sambaPwdMustChange_h'], $post['sambaPwdMustChange_m'], $post['sambaPwdMustChange_s'], - $post['sambaPwdMustChange_mon'], $post['sambaPwdMustChange_day'], $post['sambaPwdMustChange_yea']); - $this->attributes['sambaHomePath'][0] = stripslashes($post['sambaHomePath']); - $this->attributes['sambaHomeDrive'][0] = $post['sambaHomeDrive']; - $this->attributes['sambaLogonScript'][0] = stripslashes($post['sambaLogonScript']); - $this->attributes['sambaProfilePath'][0] = stripslashes($post['sambaProfilePath']); - $rids = array_keys($this->rids); - $wrid = false; - for ($i=0; $iattributes['sambaPrimaryGroupSID'][0] = $SID."-".$this->rids[$rids[$i]]; - } - } - if (!$wrid) $this->attributes['sambaPrimaryGroupSID'][0] = $SID."-".($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]*2)+$RIDbase+1; - - if ($post['useunixpwd']) $this->useunixpwd = true; - else $this->useunixpwd = false; - if (isset($post['sambaLMPassword'])) { - if ($post['sambaLMPassword'] != $post['sambaLMPassword2']) { - $triggered_messages['sambaLMPassword'][] = $this->messages['sambaLMPassword'][0]; - unset ($post['sambaLMPassword2']); - } - else { - if ( !get_preg($this->sambaLMPassword(), 'password')) $triggered_messages['sambaLMPassword'][] = $this->messages['sambaLMPassword'][1]; - else $this->sambaLMPassword($post['sambaLMPassword']); - } - } - if ($post['sambaSID']== _('Administrator')) { - $this->attributes['sambaSID'][0] = $SID."-500"; - // Do a check if an administrator already exists - if ($_SESSION['cache']->in_cache($SID."-500", 'sambaSID', 'user')!=$_SESSION[$this->base]->dn_orig) - $triggered_messages['sambaSID'][] = $this->messages['rid'][0]; - } - else if ($post['sambaSID']== _('Guest')) { - $this->attributes['sambaSID'][0] = $SID."-501"; - // Do a check if an guest already exists - if ($_SESSION['cache']->in_cache($SID."-501", 'sambaSID', 'user')!=$_SESSION[$this->base]->dn_orig) - $triggered_messages['sambaSID'][] = $this->messages['rid'][1]; - } - else if ($post['sambaSID']== "-") { - $this->attributes['sambaSID'][0] = $SID."-". (($_SESSION[$this->base]->module['posixAccount']->attributes['uidNumber'][0]*2)+$RIDbase); - } - // Check values - $this->attributes['sambaHomePath'][0] = str_replace('$user', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['uid'][0], $this->attributes['sambaHomePath'][0]); - $this->attributes['sambaHomePath'][0] = str_replace('$group', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['gid'][0], $this->attributes['sambaHomePath'][0]); - if ($this->attributes['sambaHomePath'][0] != stripslashes($post['sambaHomePath'])) $triggered_messages['sambaHomePath'][] = $this->messages['homePath'][1]; - $this->attributes['sambaLogonScript'][0] = str_replace('$user', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['uid'][0], $this->attributes['sambaLogonScript'][0]); - $this->attributes['sambaLogonScript'][0] = str_replace('$group', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['gid'][0], $this->attributes['sambaLogonScript'][0]); - if ($this->attributes['sambaLogonScript'][0] != stripslashes($post['sambaLogonScript'])) $triggered_messages['sambaLogonScript'][] = $this->messages['logonScript'][1]; - $this->attributes['sambaProfilePath'][0] = str_replace('$user', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['uid'][0], $this->attributes['sambaProfilePath'][0]); - $this->attributes['sambaProfilePath'][0] = str_replace('$group', $_SESSION[$this->base]->module['inetOrgPerson']->attributes['gid'][0], $this->attributes['sambaProfilePath'][0]); - if ($this->attributes['sambaProfilePath'][0] != stripslashes($post['sambaProfilePath'])) $triggered_messages['sambaProfilePath'][] = $this->messages['profilePath'][1]; - if ( (!$this->attributes['sambaHomePath'][0]=='') && (!get_preg($this->attributes['sambaHomePath'][0], 'UNC'))) - $triggered_messages['sambaHomePath'][] = $this->messages['homePath'][0]; - if ( (!$this->attributes['sambaLogonScript'][0]=='') && (!get_preg($this->attributes['sambaLogonScript'][0], 'logonscript'))) - $triggered_messages['sambaScriptPath'][] = $this->messages['logonScript'][0]; - if (!($this->attributes['sambaProfilePath'][0] == '') && - !(get_preg($this->attributes['sambaProfilePath'][0], 'UNC') xor get_preg($this->attributes['sambaProfilePath'][0], 'homeDirectory'))) - $triggered_messages['sambaProfilePath'][] = $this->messages['profilePath'][0]; - } - else { - $sambaHomePath = str_replace('$user', 'user', $this->attributes['sambaHomePath'][0]); - $sambaHomePath = str_replace('$group', 'group', $sambaHomePath); - $sambaLogonScript = str_replace('$user', 'user', $this->attributes['sambaLogonScript'][0]); - $sambaLogonScript = str_replace('$group', 'group', $sambaLogonScript); - $sambaProfilePath = str_replace('$user', 'user', $this->attributes['sambaProfilePath'][0]); - $sambaProfilePath = str_replace('$group', 'group', $sambaProfilePath); - if ( (!$this->attributes['sambaHomePath'][0]=='') && (!get_preg($this->attributes['sambaHomePath'][0], 'UNC'))) - $triggered_messages[] = $this->messages['homePath'][0]; - if ( (!$this->attributes['sambaLogonScript'][0]=='') && (!get_preg($this->attributes['sambaLogonScript'][0], 'logonscript'))) - $triggered_messages[] = $this->messages['logonScript'][0]; - if ( (!$this->attributes['sambaProfilePath'][0]=='') && (!get_preg($this->attributes['sambaProfilePath'][0], 'UNC')) - && (!get_preg($this->attributes['sambaProfilePath'][0], 'UNC'))) - $triggered_messages[] = $this->messages['profilePath'][0]; - } - if (count($triggered_messages)!=0) { - $this->triggered_messages = $triggered_messages; - return $triggered_messages; - } - else $this->triggered_messages = array(); - if ($post['sambaUserWorkstations']) return 'sambaUserWorkstations'; - return 0; - } - - /* Write variables into object and do some regexp checks - */ - function proccess_sambaUserWorkstations($post) { - // Load attributes - if ($_SESSION[$this->base]->type=='user') { - do { // X-Or, only one if() can be true - if (isset($post['availableSambaUserWorkstations']) && isset($post['sambaUserWorkstations_add'])) { // Add workstations to list - $temp = str_replace(' ', '', $this->attributes['sambaUserWorkstations'][0]); - $workstations = explode (',', $temp); - for ($i=0; $iattributes['sambaUserWorkstations'][0] = $workstations[0]; - for ($i=1; $iattributes['sambaUserWorkstations'][0] = $this->attributes['sambaUserWorkstations'][0] . "," . $workstations[$i]; - } - break; - } - if (isset($post['sambaUserWorkstations']) && isset($post['sambaUserWorkstations_remove'])) { // remove // Add workstations from list - // Put all workstations in array - $temp = str_replace(' ', '', $this->attributes['sambaUserWorkstations'][0]); - $workstations = explode (',', $temp); - for ($i=0; $iattributes['sambaUserWorkstations'][0] = $workstations[0]; - for ($i=1; $iattributes['sambaUserWorkstations'][0] = $this->attributes['sambaUserWorkstations'][0] . "," . $workstations[$i]; - } - break; - } - } while(0); - if ($post['attributes']) return 'attributes'; - } - return 0; - } - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_attributes($post) { - // Get Domain SID from name - $sambaDomains = search_domains($_SESSION['config']->get_domainSuffix()); - for ($i=0; $iname; - if ($this->attributes['sambaDomainName'][0] == $sambaDomains[$i]->name) - $SID = $sambaDomains[$i]->SID; - } - $canchangedate = getdate($this->attributes['sambaPwdCanChange'][0]); - $mustchangedate = getdate($this->attributes['sambaPwdMustChange'][0]); - - if ($_SESSION[$this->base]->type=='user') { - $return[] = array ( 0 => array ( 'kind' => 'input', 'name' => 'sambaPwdCanChange_h', 'type' => 'hidden', 'value' => $canchangedate['hours']), - 1 => array ( 'kind' => 'input', 'name' => 'sambaPwdCanChange_m', 'type' => 'hidden', 'value' => $canchangedate['minutes']), - 2 => array ( 'kind' => 'input', 'name' => 'sambaPwdCanChange_s', 'type' => 'hidden', 'value' => $canchangedate['seconds']), - 3 => array ( 'kind' => 'input', 'name' => 'sambaPwdMustChange_h', 'type' => 'hidden', 'value' => $mustchangedate['hours']), - 4 => array ( 'kind' => 'input', 'name' => 'sambaPwdMustChange_m', 'type' => 'hidden', 'value' => $mustchangedate['minutes']), - 5 => array ( 'kind' => 'input', 'name' => 'sambaPwdMustChange_s', 'type' => 'hidden', 'value' => $mustchangedate['seconds']), - 6 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsU', 'type' => 'hidden', 'value' => 'true')); - if ($post['sambaLMPassword2']!='') $password2 = $post['sambaLMPassword2']; - else $password2 = $this->sambaLMPassword(); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Samba password') ), - 1 => array ( 'kind' => 'input', 'name' => 'sambaLMPassword', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $this->sambaLMPassword())); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Repeat password') ), - 1 => array ( 'kind' => 'input', 'name' => 'sambaLMPassword2', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $password2), - 2 => array ('kind' => 'help', 'value' => 'sambaLMPassword')); - if ($_SESSION[$this->base]->module['posixAccount']->orig['userPassword'][0] != $_SESSION[$this->base]->module['posixAccount']->attributes['userPassword'][0]) { - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Use unix password') ), - 1 => array ( 'kind' => 'input', 'name' => 'useunixpwd', 'type' => 'checkbox', 'checked' => $this->useunixpwd), - 2 => array ('kind' => 'help', 'value' => 'useunixpwd')); - } - $checked = false; - if (strpos($this->attributes['sambaAcctFlags'][0], "N")) $checked = true; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Use no password') ), - 1 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsN', 'type' => 'checkbox', 'checked' => $checked, 'value' => 'true'), - 2 => array ('kind' => 'help', 'value' => 'sambaAcctFlagsN')); - $checked = false; - if (strpos($this->attributes['sambaAcctFlags'][0], "X")) $checked = true; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Password does not expire') ), - 1 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsX', 'type' => 'checkbox', 'checked' => $checked, 'value' => 'true'), - 2 => array ('kind' => 'help', 'value' => 'sambaAcctFlagsX')); - $checked = false; - if (strpos($this->attributes['sambaAcctFlags'][0], "D")) $checked = true; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Account is deactivated') ), - 1 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsD', 'type' => 'checkbox', 'checked' => $checked, 'value' => 'true'), - 2 => array ('kind' => 'help', 'value' => 'sambaAcctFlagsD')); - for ( $i=1; $i<=31; $i++ ) $mday[] = $i; - for ( $i=1; $i<=12; $i++ ) $mon[] = $i; - for ( $i=2003; $i<=2030; $i++ ) $year[] = $i; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('User can change password') ), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'sambaPwdCanChange_day', - 'options' => $mday, 'options_selected' => array($canchangedate['mday'])), - 1 => array ( 'kind' => 'select', 'name' => 'sambaPwdCanChange_mon', - 'options' => $mon, 'options_selected' => array($canchangedate['mon'])), - 2 => array ( 'kind' => 'select', 'name' => 'sambaPwdCanChange_yea', - 'options' => $year, 'options_selected' => array($canchangedate['year']))))), - 2 => array ( 'kind' => 'help', 'value' => 'sambaPwdCanChange' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('User must change password') ), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'sambaPwdMustChange_day', - 'options' => $mday, 'options_selected' => array($mustchangedate['mday'])), - 1 => array ( 'kind' => 'select', 'name' => 'sambaPwdMustChange_mon', - 'options' => $mon, 'options_selected' => array($mustchangedate['mon'])), - 2 => array ( 'kind' => 'select', 'name' => 'sambaPwdMustChange_yea', - 'options' => $year, 'options_selected' => array($mustchangedate['year']))))), - 2 => array ( 'kind' => 'help', 'value' => 'sambaPwdMustChange' )); - for ($i=90; $i>67; $i--) $drives[] = chr($i).':'; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Home drive') ), - 1 => array ( 'kind' => 'select', 'name' => 'sambaHomeDrive', 'options' => $drives, 'options_selected' => array ($this->attributes['sambaHomeDrive'][0])), - 2 => array ( 'kind' => 'help', 'value' => 'sambaHomeDrive' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Home path') ), - 1 => array ( 'kind' => 'input', 'type' => 'text', 'name' => 'sambaHomePath', 'size' => '20', 'maxlength' => '255', 'value' => $this->attributes['sambaHomePath'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'sambaHomePath' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Profile path') ), - 1 => array ( 'kind' => 'input', 'type' => 'text', 'name' => 'sambaProfilePath', 'size' => '20', 'maxlength' => '255', 'value' => $this->attributes['sambaProfilePath'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'sambaProfilePath' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Logon script') ), - 1 => array ( 'kind' => 'input', 'type' => 'text', 'name' => 'sambaLogonScript', 'size' => '20', 'maxlength' => '255', 'value' => $this->attributes['sambaLogonScript'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'sambaLogonScript' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Samba workstations') ), - 1 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'sambaUserWorkstations', 'value' => _('Edit workstations')), - 2 => array ( 'kind' => 'help', 'value' => 'sambaUserWorkstations' )); - - $names = array_keys($this->rids); - $wrid=false; - for ($i=0; $iattributes['sambaPrimaryGroupSID'][0]==$SID."-".$this->rids[$names[$i]]) { - $selected[] = $names[$i]; - $wrid=true; - } - else $options[] = $names[$i]; - } - if ($wrid) $options[] = $_SESSION['cache']->getgrnam($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]); - else $selected[] = $_SESSION['cache']->getgrnam($_SESSION[$this->base]->module['posixAccount']->attributes['gidNumber'][0]); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Windows group') ), - 1 => array ( 'kind' => 'select', 'name' => 'sambaPrimaryGroupSID', 'options' => $options, 'options_selected' => $selected), - 2 => array ( 'kind' => 'help', 'value' => 'sambaPrimaryGroupSID' )); - // Display if group SID should be mapped to a well kown SID - $wrid=false; - $options = array(); - $selected = array(); - if ($this->attributes['sambaSID'][0]==$SID."-500") { - $selected[] = _('Administrator'); - $wrid=true; - } - else $options[] = _('Administrator'); - if ($this->attributes['sambaSID'][0]==$SID."-501") { - $selected[] = _('Guest'); - $wrid=true; - } - else $options[] = _('Guest'); - if ($wrid) $options[] = "-"; - else $selected[] = "-"; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Special user') ), - 1 => array ( 'kind' => 'select', 'name' => 'sambaSID', 'options' => $options, 'options_selected' => $selected), - 2 => array ( 'kind' => 'help', 'value' => 'sambaSID' )); - } - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Domain') ), - 1 => array ( 'kind' => 'select', 'name' => 'sambaDomainName', 'options' => $sambaDomainNames, 'options_selected' => array($this->attributes['sambaDomainName'][0])), - 2 => array ( 'kind' => 'help', 'value' => 'sambaDomainName' )); - if ($_SESSION[$this->base]->type=='host') { - $return[] = array ( 0 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsW', 'type' => 'hidden', 'value' => 'true' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Reset password') ), - 1 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'ResetSambaPassword'), - 2 => array ( 'kind' => 'help', 'value' => 'ResetSambaPassword' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Domain') ), - 1 => array ( 'kind' => 'select', 'name' => 'sambaDomainName', 'options' => $sambaDomainNames, 'options_selected' => $this->attributes['sambaDomainName'][0]), - 2 => array ( 'kind' => 'help', 'value' => 'sambaDomainName' )); - } - return $return; - } - - function display_html_delete($post) { - return 0; - } - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_sambaUserWorkstations($post) { - if ($_SESSION[$this->base]->type=='user') { - // Get list of all hosts. - $result = $_SESSION['cache']->get_cache('uid', 'sambaSamAccount', 'host'); - if (is_array($result)) { - foreach ($result as $host) $availableUserWorkstations[] = str_replace("$", '', $host[0]); - sort($availableUserWorkstations, SORT_STRING); - $result = str_replace(' ', '', $this->attributes['sambaUserWorkstations'][0]); - $userWorkstations = explode (',', $result); - $availableUserWorkstations = array_delete($userWorkstations, $availableUserWorkstations); - } - - $return[] = array ( 0 => array ( 'kind' => 'fieldset', 'legend' => _("Allowed workstations"), 'value' => - array ( 0 => array ( 0 => array ('kind' => 'fieldset', 'td' => array ('valign' => 'top'), 'legend' => _("Allowed workstations"), 'value' => - array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'sambaUserWorkstations[]', 'size' => '15', 'multiple', 'options' => $userWorkstations)))), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'sambaUserWorkstations_add', - 'value' => '<=')), 1 => array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'name' => 'sambaUserWorkstations_remove', 'value' => '=>' )), - 2 => array ( 0 => array ( 'kind' => 'help', 'value' => 'sambaUserWorkstations' )))), - 2 => array ('kind' => 'fieldset', 'td' => array ('valign' => 'top'), 'legend' => _("Available workstations"), 'value' => - array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'availableSambaUserWorkstations[]', 'size' => '15', 'multiple', 'options' => $availableUserWorkstations)))) - )))); - - $return[] = array ( 0 => array ( 'kind' => 'input', 'type' => 'submit', 'value' => _('Back') ), - 1 => array ( 'kind' => 'text'), - 2 => array ('kind' => 'text')); - } - return $return; - } - - /** - * Returns a list of elements for the account profiles. - * - * @return profile elements - */ - function get_profileOptions() { - $return = array(); - if ($this->get_scope() == 'user') { - // use Unix password as Samba password - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Use unix password') . ': '), - 1 => array('kind' => 'input', 'name' => 'sambaSamAccount_useunixpwd', 'type' => 'checkbox', 'checked' => true), - 2 => array('kind' => 'help', 'value' => 'pwdunix') - ); - // use no password at all - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Use no password') . ': '), - 1 => array('kind' => 'input', 'name' => 'sambaSamAccount_sambaAcctFlagsN', 'type' => 'checkbox', 'checked' => false), - 2 => array('kind' => 'help', 'value' => 'noPassword') - ); - // password never expires - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Password does not expire') . ': '), - 1 => array('kind' => 'input', 'name' => 'sambaSamAccount_sambaAcctFlagsX', 'type' => 'checkbox', 'checked' => true), - 2 => array('kind' => 'help', 'value' => 'noExpire') - ); - // account deactivation - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Account is deactivated') . ': '), - 1 => array('kind' => 'input', 'name' => 'sambaSamAccount_sambaAcctFlagsD', 'type' => 'checkbox', 'checked' => false), - 2 => array('kind' => 'help', 'value' => 'deactivated') - ); - // letter of home drive - $drives = array(); - for ($i = 90; $i > 67; $i--) $drives[] = chr($i) . ':'; - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Home drive') . ': '), - 1 => array('kind' => 'select', 'name' => 'sambaSamAccount_sambaHomeDrive', 'options' => $drives, 'options_selected' => array('Z:')), - 2 => array('kind' => 'help', 'value' => 'homeDrive') - ); - // path to home directory - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Home path') . ': '), - 1 => array('kind' => 'input', 'type' => 'text', 'name' => 'sambaSamAccount_smbhome', 'size' => '20', 'maxlength' => '255', 'value' => ''), - 2 => array('kind' => 'help', 'value' => 'homePath') - ); - // profile path - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Profile path') . ': '), - 1 => array('kind' => 'input', 'type' => 'text', 'name' => 'sambaSamAccount_profilePath', 'size' => '20', 'maxlength' => '255', 'value' => ''), - 2 => array('kind' => 'help', 'value' => 'profilePath') - ); - // logon script - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Logon script') . ': '), - 1 => array('kind' => 'input', 'type' => 'text', 'name' => 'sambaSamAccount_logonScript', 'size' => '20', 'maxlength' => '255', 'value' => ''), - 2 => array('kind' => 'help', 'value' => 'scriptPath') - ); - // allowed workstations - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Samba workstations') . ': '), - 1 => array('kind' => 'input', 'type' => 'text', 'name' => 'sambaSamAccount_userWorkstations', 'value' => ''), - 2 => array('kind' => 'help', 'value' => 'workstations') - ); - // domains - $sambaDomains = search_domains($_SESSION['config']->get_domainSuffix()); - $sambaDomainNames = array(); - for ($i = 0; $i < count($sambaDomains); $i++) { - $sambaDomainNames[] = $sambaDomains[$i]->name; - } - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Domain') . ': '), - 1 => array('kind' => 'select', 'name' => 'sambaSamAccount_sambaDomainName', 'options' => $sambaDomainNames, 'options_selected' => array()), - 2 => array('kind' => 'help', 'value' => 'domain') - ); - } - elseif ($this->get_scope() == 'host') { - // domains - $sambaDomains = search_domains($_SESSION['config']->get_domainSuffix()); - $sambaDomainNames = array(); - for ($i = 0; $i < count($sambaDomains); $i++) { - $sambaDomainNames[] = $sambaDomains[$i]->name; - } - $return[] = array( - 0 => array('kind' => 'text', 'text' => _('Domain') . ': '), - 1 => array('kind' => 'select', 'name' => 'sambaSamAccount_sambaDomainName', 'options' => $sambaDomainNames, 'options_selected' => array()), - 2 => array('kind' => 'help', 'value' => 'domain') - ); - } - return $return; - } - - /* - * (non-PHPDoc) - * @see baseModule#get_pdfEntries - */ - function get_pdfEntries($account_type = "user") { - return array( 'sambaSamAccount_displayName' => array('' . _('Display name') . 'attributes['displayName'][0] . ''), - 'sambaSamAccount_uid' => array('' . _('Username') . '' . $this->attributes['uid'][0] . ''), - 'sambaSamAccount_sambaHomePath' => array('' . _('Home path') . '' . $this->attributes['sambaHomeDrive'][0] . ''), - 'sambaSamAccount_sambaHomeDrive' => array('' . _('Home drive') . '' . $this->attributes['sambaHomePath'][0] . ''), - 'sambaSamAccount_sambaLogonScript' => array('' . _('Logon script') . '' . $this->attributes['sambaLogonScript'][0] . ''), - 'sambaSamAccount_sambaProfilePath' => array('' . _('Profile path') . '' . $this->attributes['sambaProfilePath'][0] . ''), - 'sambaSamAccount_sambaUserWorkstations' => array('' . _('Samba workstations') . '' . $this->attributes['sambaUserWorkstations'][0] . ''), - 'sambaSamAccount_sambaDomainName' => array('' . _('Domain') . '' . $this->attributes['sambaDomainName'][0] . ''), - 'sambaSamAccount_description' => array('' . _('Description') . '' . $this->attributes['description'][0] . ''), - 'sambaSamAccount_sambaPrimaryGroupSID' => array('' . _('Windows group') . '' . $this->attributes['sambaPrimaryGroupSID'][0] . '')); - } - - /** - * In this function the LDAP account is built up. - * - * @param array $rawAccounts list of hash arrays (name => value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - $triggered_messages = array(); - // get list of Samba 3 domains - $domains = search_domains($_SESSION['config']->get_DomainSuffix()); - // get list of Unix groups and their sambaSID + gidNumber - $groups = $_SESSION['cache']->get_cache('cn', 'posixGroup', 'group'); - $groups_SID = $_SESSION['cache']->get_cache('sambaSID', 'sambaGroupMapping', 'group'); - $groups_gid = $_SESSION['cache']->get_cache('gidNumber', 'posixGroup', 'group'); - $groups_k = array_keys($groups); - for ($i = 0; $i < sizeof($groups_k); $i++) { - $groups[$groups_k[$i]] = array('cn' => $groups[$groups_k[$i]][0]); - if (isset($groups_SID[$groups_k[$i]][0])) $groups[$groups_k[$i]]['SID'] = $groups_SID[$groups_k[$i]][0]; - if (isset($groups_gid[$groups_k[$i]][0])) $groups[$groups_k[$i]]['gid'] = $groups_gid[$groups_k[$i]][0]; - } - $groups_cn = array(); - for ($i = 0; $i < sizeof($groups_k); $i++) { - $groups_cn[$groups[$groups_k[$i]]['cn']] = $groups[$groups_k[$i]]; - } - if ($this->get_scope() == 'user') { - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - if (!in_array("sambaSamAccount", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "sambaSamAccount"; - // displayName - if ($rawAccounts[$i][$ids['sambaSamAccount_displayName']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_displayName']], 'realname')) { - $partialAccounts[$i]['displayName'] = $rawAccounts[$i][$ids['sambaSamAccount_displayName']]; - } - else { - $errMsg = $this->messages['displayName'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // password - if (!get_preg($rawAccounts[$i][$ids['sambaSamAccount_password']], 'password')) { - $errMsg = $this->messages['sambaLMPassword'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // use Unix password - if ($rawAccounts[$i][$ids['sambaSamAccount_pwdUnix']] == "") { // default: use Unix - $partialAccounts[$i]['sambaLMPassword'] = lmPassword($partialAccounts[$i]['userPassword']); - $partialAccounts[$i]['sambaNTPassword'] = ntPassword($partialAccounts[$i]['userPassword']); - } - elseif (in_array($rawAccounts[$i][$ids['sambaSamAccount_pwdUnix']], array('true', 'false'))) { - if ($rawAccounts[$i][$ids['sambaSamAccount_pwdUnix']] == 'true') { // use Unix - $partialAccounts[$i]['sambaLMPassword'] = lmPassword($partialAccounts[$i]['userPassword']); - $partialAccounts[$i]['sambaNTPassword'] = ntPassword($partialAccounts[$i]['userPassword']); - } - else { // use given password - $partialAccounts[$i]['sambaLMPassword'] = lmPassword($rawAccounts[$i][$ids['sambaSamAccount_password']]); - $partialAccounts[$i]['sambaNTPassword'] = ntPassword($rawAccounts[$i][$ids['sambaSamAccount_password']]); - } - } - else { - $errMsg = $this->messages['pwdUnix'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // use no password - if ($rawAccounts[$i][$ids['sambaSamAccount_noPassword']] != "") { - if (in_array($rawAccounts[$i][$ids['sambaSamAccount_noPassword']], array('true', 'false'))) { - if ($rawAccounts[$i][$ids['sambaSamAccount_noPassword']] == 'true') { - $partialAccounts[$i]['sambaLMPassword'] = 'NO PASSWORD*****'; - $partialAccounts[$i]['sambaNTPassword'] = 'NO PASSWORD*****'; - } - } - else { - $errMsg = $this->messages['noPassword'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // account flags - $flag_expire = false; - $flag_deactivated = false; - // password does not expire - if ($rawAccounts[$i][$ids['sambaSamAccount_noExpire']] != "") { - if (in_array($rawAccounts[$i][$ids['sambaSamAccount_noExpire']], array('true', 'false'))) { - if ($rawAccounts[$i][$ids['sambaSamAccount_noExpire']] == 'false') { - $flag_expire = true; - } - } - else { - $errMsg = $this->messages['noExpire'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // account is deactivated - if ($rawAccounts[$i][$ids['sambaSamAccount_deactivated']] != "") { - if (in_array($rawAccounts[$i][$ids['sambaSamAccount_deactivated']], array('true', 'false'))) { - if ($rawAccounts[$i][$ids['sambaSamAccount_deactivated']] == 'true') { - $flag_deactivated = true; - } - } - else { - $errMsg = $this->messages['deactivated'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // set flags - $flags = "["; - if ($flag_deactivated) $flags = $flags . "D"; - if (!$flag_expire) $flags = $flags . "X"; - $flags = $flags . "U"; - // Expand string to fixed length - $flags = str_pad($flags, 12); - // End character - $flags = $flags . "]"; - $partialAccounts[$i]['sambaAcctFlags'] = $flags; - // passsword can be changed - if ($rawAccounts[$i][$ids['sambaSamAccount_pwdCanChange']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_pwdCanChange']], 'date')) { - $parts = explode("-", $rawAccounts[$i][$ids['sambaSamAccount_pwdCanChange']]); - $time = mktime(0, 0, 0, $parts[1], $parts[0], $parts[2]); - $partialAccounts[$i]['sambaPwdCanChange'] = $time; - } - else { - $errMsg = $this->messages['pwdCanChange'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // passsword must be changed - if ($rawAccounts[$i][$ids['sambaSamAccount_pwdMustChange']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_pwdMustChange']], 'date')) { - $parts = explode("-", $rawAccounts[$i][$ids['sambaSamAccount_pwdMustChange']]); - $time = mktime(0, 0, 0, $parts[1], $parts[0], $parts[2]); - $partialAccounts[$i]['sambaPwdMustChange'] = $time; - } - else { - $errMsg = $this->messages['pwdMustChange'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // home drive - if ($rawAccounts[$i][$ids['sambaSamAccount_homeDrive']] != "") { - if (eregi("[d-z]:", $rawAccounts[$i][$ids['sambaSamAccount_homeDrive']])) { - $partialAccounts[$i]['sambaHomeDrive'] = $rawAccounts[$i][$ids['sambaSamAccount_homeDrive']]; - } - else { - $errMsg = $this->messages['homeDrive'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // home path - if ($rawAccounts[$i][$ids['sambaSamAccount_homePath']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_homePath']], 'UNC')) { - $partialAccounts[$i]['sambaHomePath'] = $rawAccounts[$i][$ids['sambaSamAccount_homePath']]; - } - else { - $errMsg = $this->messages['homePath'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // profile path - if ($rawAccounts[$i][$ids['sambaSamAccount_profilePath']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_profilePath']], 'UNC')) { - $partialAccounts[$i]['sambaProfilePath'] = $rawAccounts[$i][$ids['sambaSamAccount_profilePath']]; - } - else { - $errMsg = $this->messages['profilePath'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // logon script - if ($rawAccounts[$i][$ids['sambaSamAccount_logonScript']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_logonScript']], 'logonscript')) { - $partialAccounts[$i]['sambaLogonScript'] = $rawAccounts[$i][$ids['sambaSamAccount_logonScript']]; - } - else { - $errMsg = $this->messages['logonScript'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // workstations - if ($rawAccounts[$i][$ids['sambaSamAccount_workstations']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_workstations']], 'workstations')) { - $partialAccounts[$i]['sambaUserWorkstations'] = $rawAccounts[$i][$ids['sambaSamAccount_workstations']]; - } - else { - $errMsg = $this->messages['workstations'][1]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - // domain - $domIndex = -1; - for ($d = 0; $d < sizeof($domains); $d++) { - if ($domains[$d]->name == $rawAccounts[$i][$ids['sambaSamAccount_domain']]) { - $domIndex = $d; - break; - } - } - if ($domIndex > -1) { - $partialAccounts[$i]['sambaDomainName'] = $domains[$domIndex]->name; - $partialAccounts[$i]['sambaSID'] = $domains[$domIndex]->SID; - } - else { - $errMsg = $this->messages['domain'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // group - if ($rawAccounts[$i][$ids['sambaSamAccount_group']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_group']], 'groupname') - && (isset($groups_cn[$rawAccounts[$i][$ids['sambaSamAccount_group']]]))) { - if (isset($groups_cn[$rawAccounts[$i][$ids['sambaSamAccount_group']]]['SID'])) { - $partialAccounts[$i]['sambaPrimaryGroupSID'] = $groups_cn[$rawAccounts[$i][$ids['sambaSamAccount_group']]]['SID']; - } - else { - $partialAccounts[$i]['sambaPrimaryGroupSID'] = $domains[$domIndex]->SID . '-' . - ($groups_cn[$rawAccounts[$i][$ids['sambaSamAccount_group']]]['gid'] * 2 + - $domains[$domIndex]->RIDbase + 1); - } - } - elseif (in_array($rawAccounts[$i][$ids['sambaSamAccount_group']], array_keys($this->rids))) { - $partialAccounts[$i]['sambaPrimaryGroupSID'] = $domains[$domIndex]->SID . '-' . $this->rids[$rawAccounts[$i][$ids['sambaSamAccount_group']]]; - } - else { - $errMsg = $this->messages['group'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - else { - // default domain users - $partialAccounts[$i]['sambaPrimaryGroupSID'] = $domains[$domIndex]->SID . '-' . $this->rids['Domain Users']; - } - // special user - if ($rawAccounts[$i][$ids['sambaSamAccount_rid']] != "") { - if (in_array($rawAccounts[$i][$ids['sambaSamAccount_rid']], array_keys($this->rids))) { - $partialAccounts[$i]['sambaSID'] .= '-' . $this->rids[$rawAccounts[$i][$ids['sambaSamAccount_rid']]]; - } - elseif (get_preg($rawAccounts[$i][$ids['sambaSamAccount_rid']], 'digit')) { - $partialAccounts[$i]['sambaSID'] .= '-' . $rawAccounts[$i][$ids['sambaSamAccount_rid']]; - } - else { - $errMsg = $this->messages['rid'][2]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - else { - // default RID uid*2 + RIDBase - $partialAccounts[$i]['sambaSID'] .= '-' . ($partialAccounts[$i]['uidNumber']*2 + $domains[$domIndex]->RIDbase); - } - // logon hours - if ($rawAccounts[$i][$ids['sambaSamAccount_logonHours']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_logonHours']], 'sambaLogonHours')) { - $partialAccounts[$i]['sambaLogonHours'] = $rawAccounts[$i][$ids['sambaSamAccount_logonHours']]; - } - else { - $errMsg = $this->messages['logonHours'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - else { - $partialAccounts[$i]['sambaLogonHours'] = "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"; - } - } - } - else { // hosts - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - if (!in_array("sambaSamAccount", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "sambaSamAccount"; - // domain - $domIndex = -1; - for ($d = 0; $d < sizeof($domains); $d++) { - if ($domains[$d]->name == $rawAccounts[$i][$ids['sambaSamAccount_domain']]) { - $domIndex = $d; - break; - } - } - if ($domIndex > -1) { - $partialAccounts[$i]['sambaDomainName'] = $domains[$domIndex]->name; - $partialAccounts[$i]['sambaSID'] = $domains[$domIndex]->SID; - $partialAccounts[$i]['sambaPrimaryGroupSID'] = $domains[$domIndex]->SID . " - 515"; - } - else { - $errMsg = $this->messages['domain'][0]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - // RID - if ($rawAccounts[$i][$ids['sambaSamAccount_rid']] != "") { - if (get_preg($rawAccounts[$i][$ids['sambaSamAccount_rid']], 'digit')) { - $partialAccounts[$i]['sambaSID'] .= '-' . $rawAccounts[$i][$ids['sambaSamAccount_rid']]; - } - else { - $errMsg = $this->messages['rid'][3]; - array_push($errMsg, array($i)); - $triggered_messages[] = $errMsg; - } - } - else { - // default RID uid*2 + RIDBase - $partialAccounts[$i]['sambaSID'] .= '-' . ($partialAccounts[$i]['uidNumber']*2 + $domains[$domIndex]->RIDbase); - } - // passwords ( = host name) - $partialAccounts[$i]['sambaLMPassword'] = lmPassword(substr($partialAccounts[$i]['uid'], 0, sizeof($partialAccounts[$i]['uid']) - 1)); - $partialAccounts[$i]['sambaNTPassword'] = ntPassword(substr($partialAccounts[$i]['uid'], 0, sizeof($partialAccounts[$i]['uid']) - 1)); - // flags - $partialAccounts[$i]['sambaAcctFlags'] = "[W ]"; - } - } - return $triggered_messages; - } - -} - -?> diff --git a/lam/lib/modules/shadowAccount.inc b/lam/lib/modules/shadowAccount.inc deleted file mode 100644 index bbf72afe..00000000 --- a/lam/lib/modules/shadowAccount.inc +++ /dev/null @@ -1,421 +0,0 @@ -messages['shadowMin'][0] = array('ERROR', _('Password minage'), _('Password minimum age must be are natural number.')); - $this->messages['shadowMin'][1] = array('ERROR', _('Account %s:') . ' shadowAccount_minAge', _('Password minimum age must be are natural number.')); - $this->messages['shadowMax'][0] = array('ERROR', _('Password maxage'), _('Password maximum age must be are natural number.')); - $this->messages['shadowMax'][1] = array('ERROR', _('Account %s:') . ' shadowAccount_maxAge', _('Password maximum age must be are natural number.')); - $this->messages['inactive'][0] = array('ERROR', _('Password expiration'), _('Password expiration must be are natural number or -1.')); - $this->messages['inactive'][1] = array('ERROR', _('Account %s:') . ' shadowAccount_ignoreExpire', _('Password expiration must be are natural number or -1.')); - $this->messages['shadowWarning'][0] = array('ERROR', _('Password warning'), _('Password warning must be are natural number.')); - $this->messages['shadowWarning'][1] = array('ERROR', _('Account %s:') . ' shadowAccount_warning', _('Password warning must be are natural number.')); - $this->messages['shadow_cmp'][0] = array('ERROR', _('Password maxage'), _('Password maximum age must be bigger as password minimum age.')); - $this->messages['shadow_cmp'][1] = array('ERROR', _('Account %s:') . ' shadowAccount_min/maxAge', _('Password maximum age must be bigger as password minimum age.')); - $this->messages['shadow_expireDate'][0] = array('ERROR', _('Account %s:') . ' shadowAccount_expireDate', _('The expiration date is invalid.')); - } - - /** - * Returns meta data that is interpreted by parent class - * - * @return array array with meta data - */ - function get_metaData() { - $return = array(); - // manages user accounts - $return["account_types"] = array("user"); - // alias name - $return["alias"] = _('Shadow'); - // module dependencies - $return['dependencies'] = array('depends' => array('posixAccount'), 'conflicts' => array()); - // lists for expiration date - $day = array(); $mon = array(); $year = array(); - for ( $i=1; $i<=31; $i++ ) $day[] = $i; - for ( $i=1; $i<=12; $i++ ) $mon[] = $i; - for ( $i=2003; $i<=2030; $i++ ) $year[] = $i; - $return['profile_options'] = array( - // password warning - array( - 0 => array('kind' => 'text', 'text' => _('Password warning')), - 1 => array('kind' => 'input', 'name' => 'shadowAccount_shadowWarning', 'type' => 'text', 'size' => '4', 'maxlength' => '4', 'value' => ""), - 2 => array('kind' => 'help', 'value' => 'TODO')), - // password expiration - array( - 0 => array('kind' => 'text', 'text' => _('Password expiration')), - 1 => array('kind' => 'input', 'name' => 'shadowAccount_shadowInactive', 'type' => 'text', 'size' => '4', 'maxlength' => '4', 'value' => ""), - 2 => array('kind' => 'help', 'value' => 'TODO')), - // minimum password age - array( - 0 => array('kind' => 'text', 'text' => _('Minimum password age')), - 1 => array('kind' => 'input', 'name' => 'shadowAccount_shadowMin', 'type' => 'text', 'size' => '5', 'maxlength' => '5', 'value' => ""), - 2 => array('kind' => 'help', 'value' => 'TODO')), - // maximum password age - array( - 0 => array('kind' => 'text', 'text' => _('Maximum password age')), - 1 => array('kind' => 'input', 'name' => 'shadowAccount_shadowMax', 'type' => 'text', 'size' => '5', 'maxlength' => '5', 'value' => ""), - 2 => array('kind' => 'help', 'value' => 'TODO')), - // expiration date - array( - 0 => array('kind' => 'text', 'text' => _('Expiration date')), - 1 => array('kind' => 'table', 'value' => array( - 0 => array ( - 0 => array('kind' => 'select', 'name' => 'shadowAccount_shadowExpire_day', - 'options' => $day, 'options_selectd' => ""), - 1 => array('kind' => 'select', 'name' => 'shadowAccount_shadowExpire_mon', - 'options' => $mon, 'options_selectd' => ""), - 2 => array('kind' => 'select', 'name' => 'shadowAccount_shadowExpire_yea', - 'options' => $year, 'options_selectd' => "") - ) - )), - 2 => array('kind' => 'help', 'value' => 'TODO')) - ); - // profile checks - $return['profile_checks']['shadowAccount_shadowMin'] = array( - 'type' => 'ext_preg', - 'regex' => 'digit', - 'error_message' => $this->messages['shadowMin'][0]); - $return['profile_checks']['shadowAccount_shadowMax'] = array( - 'type' => 'ext_preg', - 'regex' => 'digit', - 'error_message' => $this->messages['shadowMax'][0]); - $return['profile_checks']['shadowAccount_cmp'] = array( - 'type' => 'int_greater', - 'cmp_name1' => 'shadowAccount_shadowMax', - 'cmp_name2' => 'shadowAccount_shadowMin', - 'error_message' => $this->messages['shadow_cmp'][0]); - $return['profile_checks']['shadowAccount_shadowInactive'] = array( - 'type' => 'ext_preg', - 'regex' => 'digit2', - 'error_message' => $this->messages['inactive'][0]); - $return['profile_checks']['shadowAccount_shadowWarning'] = array( - 'type' => 'ext_preg', - 'regex' => 'digit', - 'error_message' => $this->messages['shadowWarning'][0]); - // available PDF fields - $return['PDF_fields'] = array( - 'shadowLastChange', - 'shadowWarning', - 'shadowInactive', - 'shadowExpire', - 'description' - ); - // help Entries - $return['help'] = array ( - 'shadowWarning' => array ( - "Headline" => _("Password warning"), - "Text" => _("Days before password is to expire that user is warned of pending password expiration. If set value must be 0<."). ' '. _("Can be left empty.") - ), - 'shadowInactive' => array ( - "Headline" => _("Password expiration"), - "Text" => _("Number of days a user can login even his password has expired. -1=always."). ' '. _("Can be left empty.") - ), - 'shadowMin' => array ( - "Headline" => _("Minimum password age"), - "Text" => _("Number of days a user has to wait until he\'s allowed to change his password again. If set value must be 0<."). ' '. _("Can be left empty.") - ), - 'shadowMax' => array ( - "Headline" => _("Maximum password age"), - "Text" => _("Number of days after a user has to change his password again. If set value must be 0<."). ' '. _("Can be left empty.") - ), - 'shadowExpire' => array ( - "Headline" => _("Expiration date"), - "Text" => _("Account expiration date. Format: DD-MM-YYYY") - ) - ); - // upload fields - $return['upload_columns'] = array( - array( - 'name' => 'shadowAccount_warning', - 'description' => _('Password warning'), - 'help' => 'shadowWarning', - 'example' => '14' - ), - array( - 'name' => 'shadowAccount_expiration', - 'description' => _('Password expiration'), - 'help' => 'shadowInactive', - 'example' => '7' - ), - array( - 'name' => 'shadowAccount_minAge', - 'description' => _('Minimum password age'), - 'help' => 'shadowMin', - 'example' => '1' - ), - array( - 'name' => 'shadowAccount_maxAge', - 'description' => _('Maximum password age'), - 'help' => 'shadowMax', - 'example' => '365' - ), - array( - 'name' => 'shadowAccount_expireDate', - 'description' => _('Expiration date'), - 'help' => 'shadowExpire', - 'example' => '17-07-2011' - ) - ); - return $return; - } - - // Constructor - function init($base) { - // call parent init - parent::init($base); - } - - - function module_ready() { - return true; - } - - /* This functions return true - * if all needed settings are done - */ - function module_complete() { - if (!$this->module_ready()) return false; - return true; - } - - /* This function returns a list of all html-pages in module - * This is usefull for mass upload and pdf-files - * because lam can walk trough all pages itself and do some - * error checkings - */ - function pages() { - return array('attributes'); - } - - /* This function loads all attributes into the object - * $attr is an array as it's retured from ldap_get_attributes - */ - function load_attributes($attr) { - /* unset userPassword because: - * it is used by posixAccount - * it is a special attribute and stores encrypted in session - */ - unset($this->attributes['userPassword']); - unset($this->orig['userPassword']); - $this->load_ldap_attributes($attr); - return 0; - } - - /* This function returns an array with 3 entries: - * array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... ) - * DN is the DN to change. It may be possible to change several DNs, - * e.g. create a new user and add him to some groups via attribute memberUid - * add are attributes which have to be added to ldap entry - * remove are attributes which have to be removed from ldap entry - * modify are attributes which have to been modified in ldap entry - */ - function save_attributes() { - $return = $_SESSION[$this->base]->save_module_attributes($this->attributes, $this->orig); - - // Set shadowLastchange manual. - if (isset($_SESSION[$this->base]->module['posixAccount']->orig['userPassword'][0])) { - // TODO fixme ****** fix this behavoir - if ($_SESSION[$this->base]->module['posixAccount']->orig['userPassword'][0] != $_SESSION[$this->base]->module['posixAccount']->attributes['userPassword'][0] && $_SESSION[$this->base]->module['posixAccount']->attributes['userPassword'][0]!='') - $return[$_SESSION[$this->base]->dn]['modify']['shadowLastChange'] = array(intval(time()/3600/24)); - } - - return $return; - } - - function delete_attributes($post) { - return 0; - } - - /* Write variables into object and do some regexp checks - */ - function proccess_attributes($post) { - // Load attributes - $this->attributes['shadowMin'][0] = $post['shadowMin']; - $this->attributes['shadowMax'][0] = $post['shadowMax']; - $this->attributes['shadowWarning'][0] = $post['shadowWarning']; - $this->attributes['shadowInactive'][0] = $post['shadowInactive']; - $this->attributes['shadowExpire'][0] = intval(mktime(10, 0, 0, $post['shadowExpire_mon'], - $post['shadowExpire_day'], $post['shadowExpire_yea'])/3600/24); - - if ( !get_preg($this->attributes['shadowMin'][0], 'digit')) $triggered_messages['shadowMin'][] = $this->messages['shadowMin'][0]; - if ( !get_preg($this->attributes['shadowMax'][0], 'digit')) $triggered_messages['shadowMax'][] = $this->messages['shadowMax'][0]; - if ( $this->attributes['shadowMin'][0] > $this->attributes['shadowMax'][0]) $triggered_messages['shadowMin'][] = $this->messages['shadow_cmp'][0]; - if ( !get_preg($this->attributes['shadowInactive'][0], 'digit2')) $triggered_messages['shadowInactive'][] = $this->messages['inactive'][0]; - if ( !get_preg($this->attributes['shadowWarning'][0], 'digit')) $triggered_messages['shadowWarning'][] = $this->messages['shadowWarning'][0]; - if (count($triggered_messages)!=0) { - $this->triggered_messages = $triggered_messages; - return $triggered_messages; - } - else $this->triggered_messages = array(); - return 0; - } - - /* This function will create the html-page - * to show a page with all attributes. - * It will output a complete html-table - */ - function display_html_attributes($post) { - // Use dd-mm-yyyy format of date because it's easier to read for humans - $date = getdate ($this->attributes['shadowExpire'][0]*3600*24); - - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Password warning') ), - 1 => array ( 'kind' => 'input', 'name' => 'shadowWarning', 'type' => 'text', 'size' => '4', 'maxlength' => '4', 'value' => $this->attributes['shadowWarning'][0] ), - 2 => array ( 'kind' => 'help', 'value' => 'shadowWarning' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Password expiration') ), - 1 => array ( 'kind' => 'input', 'name' => 'shadowInactive', 'type' => 'text', 'size' => '4', 'maxlength' => '4', 'value' => $this->attributes['shadowInactive'][0] ), - 2 => array ( 'kind' => 'help', 'value' => 'shadowInactive' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Minimum password age') ), - 1 => array ( 'kind' => 'input', 'name' => 'shadowMin', 'type' => 'text', 'size' => '5', 'maxlength' => '5', 'value' => $this->attributes['shadowMin'][0] ), - 2 => array ( 'kind' => 'help', 'value' => 'shadowMin' )); - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Maximum password age') ), - 1 => array ( 'kind' => 'input', 'name' => 'shadowMax', 'type' => 'text', 'size' => '5', 'maxlength' => '5', 'value' => $this->attributes['shadowMax'][0] ), - 2 => array ( 'kind' => 'help', 'value' => 'shadowMax' )); - - for ( $i=1; $i<=31; $i++ ) $mday[] = $i; - for ( $i=1; $i<=12; $i++ ) $mon[] = $i; - for ( $i=2003; $i<=2030; $i++ ) $year[] = $i; - $return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Expiration date') ), - 1 => array ( 'kind' => 'table', 'value' => array ( 0 => array ( 0 => array ( 'kind' => 'select', 'name' => 'shadowExpire_day', - 'options' => $mday, 'options_selected' => $date['mday']), - 1 => array ( 'kind' => 'select', 'name' => 'shadowExpire_mon', - 'options' => $mon, 'options_selected' => $date['mon']), - 2 => array ( 'kind' => 'select', 'name' => 'shadowExpire_yea', - 'options' => $year, 'options_selected' => $date['year'])))), - 2 => array ( 'kind' => 'help', 'value' => 'shadowExpire' )); - - return $return; - } - - function display_html_delete($post) { - return 0; - } - - /* - * (non-PHPDoc) - * @see baseModule#get_pdfEntries - */ - function get_pdfEntries($account_type = "user") { - return array( 'shadowAccount_shadowLastChange' => array('' . _('Last password change') . '' . $this->attributes['shadowLastChange'][0] . ''), - 'shadowAccount_shadowWarning' => array('' . _('Password warning') . '' . $this->attributes['shadowWarn'][0] . ''), - 'shadowAccount_shadowInactive' => array('' . _('Account inactive') . '' . $this->attributes['shadowInactive'][0] . ''), - 'shadowAccount_shadowExpire' => array('' . _('Password expiration') . '' . date('d. m. Y',$this->attributes['shadowExpire'][0]) . ''), - 'shadowAccount_description' => array('' . _('Description') . '' . $this->attributes['description'][0] . '')); - } - - /** - * In this function the LDAP account is built up. - * - * @param array $rawAccounts list of hash arrays (name => value) from user input - * @param array $partialAccounts list of hash arrays (name => value) which are later added to LDAP - * @param array $ids list of IDs for column position (e.g. "posixAccount_uid" => 5) - * @return array list of error messages if any - */ - function build_uploadAccounts($rawAccounts, $ids, &$partialAccounts) { - $messages = array(); - for ($i = 0; $i < sizeof($rawAccounts); $i++) { - // add object class - if (!in_array("shadowAccount", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "shadowAccount"; - // password warning - if ($rawAccounts[$i][$ids['shadowAccount_warning']] != '') { - if (get_preg($rawAccounts[$i][$ids['shadowAccount_warning']], 'digit')) { - $partialAccounts[$i]['shadowWarning'][] = $rawAccounts[$i][$ids['shadowAccount_warning']]; - } - else { - $errMsg = $this->messages['shadowWarning'][1]; - array_push($errMsg, array($i)); - $messages[] = $errMsg; - } - } - // password expire ignoration - if ($rawAccounts[$i][$ids['shadowAccount_ignoreExpire']] != '') { - if (get_preg($rawAccounts[$i][$ids['shadowAccount_ignoreExpire']], 'digit2')) { - $partialAccounts[$i]['shadowInactive'][] = $rawAccounts[$i][$ids['shadowAccount_ignoreExpire']]; - } - else { - $errMsg = $this->messages['inactive'][1]; - array_push($errMsg, array($i)); - $messages[] = $errMsg; - } - } - // password minAge - if ($rawAccounts[$i][$ids['shadowAccount_minAge']] != '') { - if (get_preg($rawAccounts[$i][$ids['shadowAccount_minAge']], 'digit')) { - $partialAccounts[$i]['shadowMin'][] = $rawAccounts[$i][$ids['shadowAccount_minAge']]; - } - else { - $errMsg = $this->messages['shadowMin'][1]; - array_push($errMsg, array($i)); - $messages[] = $errMsg; - } - } - // password maxAge - if ($rawAccounts[$i][$ids['shadowAccount_maxAge']] != '') { - if (get_preg($rawAccounts[$i][$ids['shadowAccount_maxAge']], 'digit')) { - $partialAccounts[$i]['shadowMax'][] = $rawAccounts[$i][$ids['shadowAccount_maxAge']]; - } - else { - $errMsg = $this->messages['shadowMax'][1]; - array_push($errMsg, array($i)); - $messages[] = $errMsg; - } - } - // minAge <= maxAge - if ((($rawAccounts[$i][$ids['shadowAccount_minAge']] != '') || ($rawAccounts[$i][$ids['shadowAccount_maxAge']] != '')) && // if at least one is set - (($rawAccounts[$i][$ids['shadowAccount_minAge']] == '') || ($rawAccounts[$i][$ids['shadowAccount_maxAge']] == '') || ( // and one is not set - ($rawAccounts[$i][$ids['shadowAccount_minAge']] > $rawAccounts[$i][$ids['shadowAccount_maxAge']])))) { // or minAge > maxAge - $errMsg = $this->messages['shadow_cmp'][1]; - array_push($errMsg, array($i)); - $messages[] = $errMsg; - } - // expiration date - if ($rawAccounts[$i][$ids['shadowAccount_expireDay']] != '') { - if (get_preg($rawAccounts[$i][$ids['shadowAccount_expireDay']], 'date')) { - $parts = explode('-', $rawAccounts[$i][$ids['shadowAccount_expireDay']]); - $partialAccounts[$i]['shadowExpire'][] = intval(mktime(10, 0, 0, $parts[1], $parts[0], $parts[2])/3600/24); - } - else { - $errMsg = $this->messages['shadow_expireDate'][0]; - array_push($errMsg, array($i)); - $messages[] = $errMsg; - } - } - } - return $messages; - } - -} - -?> diff --git a/lam/lib/pdf.inc b/lam/lib/pdf.inc deleted file mode 100644 index 7c3ae6ab..00000000 --- a/lam/lib/pdf.inc +++ /dev/null @@ -1,513 +0,0 @@ -get_type()) { - $account_type = $accounts[0]->get_type(); - } - - // Get PDF structure from xml file - $load = getStructure($account_type,$pdf_structure); - $structure = $load['structure']; - - // The decimal separator must be a dot in order to write pdf-files - setlocale(LC_NUMERIC, "C"); - - // Create a new PDF file acording to the account type - $pdf = new LamPDF($account_type,$load['page_definitions']); - - // Loop over each account and add a new page in the PDF file for it - foreach($accounts as $account) { - - // Start a new page for each account - $pdf->AddPage(); - - // Get PDF entries for the current account - $entries = $account->get_pdfEntries($account_type); - - // Now create the PDF file acording to the structure with the submitted values - foreach($structure as $entry) { - // We have a new section to start - if($entry['tag'] == "SECTION" && $entry['type'] == "open") { - $name = $entry['attributes']['NAME']; - if(preg_match("/^\_[a-zA-Z\_]+/",$name)) { - $section_headline = getSectionHeadline($entries[substr($name,1)][0]); - } - else { - $section_headline = '- ' . _($name); - } - $pdf->setFont("arial","B",12); - $pdf->Write(5,$section_headline . ":"); - $pdf->Ln(6); - } - // We have a section to end - elseif($entry['tag'] == "SECTION" && $entry['type'] == "close") { - $pdf->Ln(9); - } - // We have to include a static text. - elseif($entry['tag'] == "TEXT") { - // Load PDF text from structure array - $info_string = $entry['value']; - // Get all allowed vairables from account-object - $values = get_object_vars($account); - $values = array_keys($values); - // Replace $varstring in string with variable - foreach ($values as $value) { - // replace string - if (is_string($account->$value)) { - $info_string = str_replace('$'.$value, $account->$value, $info_string); - } - // replace object - elseif (is_object($account->$value)) { - $values2 = get_object_vars($account->$value); - $values2 = array_keys($values2); - foreach ($values2 as $value2) { - $info_string = str_replace('$'.$value.'->'.$value2, $account->$value->$value2, $info_string); - } - } - // replace array - elseif (is_array($account->$value)) { - foreach ($account->$value as $sub_array2) { - $sub_array .= $sub_array2.", "; - } - $sub_array = substr($sub_array, 0, -2); - $info_string = str_replace('$'.$value, $sub_array, $info_string); - } - } - // Split string in array - $info_array = explode("\n", $info_string); - // Set font for text - $pdf->setFont("times","",10); - // Print each entry in array (each line in the text) as new line - foreach ($info_array as $info) { - $pdf->Cell(50,5,$info,0,1,"L",0); - } - // Print linebreak afterwards - $pdf->Ln(6); - } - // We have to include an entry from the account - elseif($entry['tag'] == "ENTRY") { - // Get name of current entry - $name = $entry['attributes']['NAME']; - - // Get current entry - $value_entry = $entries[$name]; - - // Print entry only when module sumitted values for it - if(is_array($value_entry)) { - // Loop over all rows of this entry (most of the time this will be just one) - foreach($value_entry as $line) { - // Substitue XML syntax with valid FPDF methods - $methods = processLine($line); - // Call every method - foreach($methods as $method) { - call_user_func_array(array(&$pdf,$method[0]),$method[1]); - } - } - } - $key = false; - } - } - } - - // Close PDF - $pdf->Close(); - // Get relative url path - $fullpath = realpath('.'); - $subdirs = explode('/', str_replace($_SESSION['lampath'], '', $fullpath)); - for ($i=0; $irand . time() .'.pdf'; - // Save PDF - $pdf->Output($filename); - // Output meta refresh to pdf-file - metaRefresh($filename); - // Return relative path of pdf-file - return $filename; -} - -/** - * - * - * @param string - * @param string - * - * @return array - */ -function getStructure($scope,$pdf_structure) { - $parser = new xmlParser(); - $xml = $parser->parse($_SESSION['lampath'] . '/config/pdf/' . $scope . '/' . $pdf_structure); - - $border = array(); - $structure = array(); - $complete_page_definitions = array('filename' => 'printLogo.jpg', 'headline' => 'LDAP Account Manager', 'margin-top' => '10.0', 'margin-bottom' => '20.0', 'margin-left' => '10.0', 'margin-right' => '10.0'); - if($xml[0][$xml[1]['PDF'][0]]['attributes']['TYPE'] == $scope) { - $border['start'] = $xml[1]['PDF'][0]; - $page_definitions = $xml[0][$xml[1]['PDF'][0]]['attributes']; - foreach($page_definitions as $key => $value) { - $complete_page_definitions[strtolower($key)] = $value; - unset($page_definitions[$key]); - } - $border['end'] = $xml[1]['PDF'][1]; - } - $structure = array_slice($xml[0],$border['start'] + 1,$border['end'] - ($border['start'] + 1)); - return array('structure' => $structure, 'page_definitions' => $complete_page_definitions); -} - -/** - * - * - * @param string - * - * @return string - */ -function getSectionHeadline($line) { - $headline_pattern = '/.*(.*)<\/value><\/block>/'; - if(preg_match($headline_pattern,$line,$matches)) { - $valueStyle = processFormatTags($matches[1],''); - return $valueStyle[1]; - } - else { - return ''; - } -} - -/** - * - * - * @param string - * @param boolean - * - * @return array - */ -function processLine($line,$first_td = true) { - global $key, $line_width; - - // PCRE matching tag - $block_pattern = '/<\/block>/'; - // PCRE matching a tag - $key_pattern = '/()(.+)<\/key>(.*<\/block>)/'; - // PCRE matching a tag - // !!FIXME!! value must contain at least one character - $value_pattern = '/(.*)(.*)<\/value>(<\/block>)/'; - // PCRE matching a tag - $td_pattern = '/(.*?)(.+?)<\/td>(.*<\/block>)/'; - // PCRE matching a

tag - $p_pattern = '/(.*)

(.+)<\/p>(.*<\/block>)/'; - // PCRE matching a
tag - $br_pattern = '/
/'; - - $return = array(); - if(preg_match($key_pattern,$line,$matches)) { - $key = true; - $line_width = $line_width - 50; - $format = processFormatTags($matches[2],'B'); - $return[] = array('setFont',array('times',$format[0],10)); - $return[] = array('Cell',array(50,5,$format[1] . ':',0,0,'R',0)); - $return[] = array('setFont',array('times','',10)); - return array_merge($return,processLine($matches[1] . $matches[3],false)); - } - elseif(preg_match($value_pattern,$line,$matches)) { - $format = processFormatTags($matches[2],''); - $return[] = array('setFont',array('times',$format[0],10)); - $return[] = array('Cell',array(50,5,$format[1],0,0,'L',0)); - $return[] = array('setFont',array('times','',10)); - return array_merge($return,processLine($matches[1] . $matches[3])); - } - elseif(preg_match($p_pattern,$line,$matches)) { - $format = processFormatTags($matches[2],''); - $return[] = array('setFont',array('times',$format[0],10)); - $return[] = array('Write',array(5,$format[1])); - $return[] = array('setFont',array('times','',10)); - return array_merge($return,processLine($matches[1] . $matches[3])); - } - elseif(preg_match($td_pattern,$line,$matches)) { - if($first_td && $key) { - $first_td = !$first_td; - $return[] = array('Cell',array(50,5,'',0,0,'L',0)); - } - $format = processFormatTags($matches[3],''); - $attrs = processAttributes($matches[2],array('width' => $line_width,'height' => 5,'align' => 'L')); - $return[] = array('setFont',array('times',$format[0],10)); - $return[] = array('Cell',array($attrs['width'],$attrs['height'],$format[1],0,0,$attrs['align'],0)); - $return[] = array('setFont',array('times','',10)); - return array_merge($return,processLine($matches[1] . $matches[4],$first_td)); - } - elseif(preg_match($br_pattern,$line,$matches)) { - return array(array('Ln',array(5))); - } - elseif(preg_match($block_pattern,$line,$matches)) { - $line_width = LAMPDF_LINEWIDTH; - return array(array('Ln',array(5))); - } -} - -/** - * - * - * @param string - * @param string - * - * @return array - */ -function processFormatTags($line,$style) { - // PCRE matching a tag - $i_pattern = '/(.*)(.+)<\/i>(.*)/'; - // PCRE matching a tag - $b_pattern = '/(.*)(.+)<\/b>(.*)/'; - // PCRE matching a tag - $u_pattern = '/(.*)(.+)<\/u>(.*)/'; - // Replacement pattern when one of the above pattern matched - $replace = "\$1\$2\$3"; - - if(preg_match($i_pattern,$line,$matches)) { - $style .= "I"; - $line = preg_replace($i_pattern,$replace,$line); - } - if(preg_match($b_pattern,$line,$matches)) { - $style .= "B"; - $line = preg_replace($b_pattern,$replace,$line); - } - if(preg_match($u_pattern,$line,$matches)) { - $style .= "U"; - $line = preg_replace($u_pattern,$replace,$line); - } - return array($style,$line); -} - -/** - * - * - * @param string - * @param array - * - * @return array - */ -function processAttributes($attrs,$return = array()) { - global $line_width; - - // PCRE matching width attribute - $width_pattern = '/(.*)width\=\"(\\d+)(\%?)\"(.*)/'; - // PCRE matching height attribute - $height_pattern = '/(.*)height\=\"(\\d+)\"(.*)/'; - // PCRE matching align attribute - $align_pattern = '/(.*)align\=\"(L|R|C)\"(.*)/'; - - // Remove leading and trailing whitespaces - $attrs = trim($attrs); - - if(preg_match($width_pattern,$attrs,$matches)) { - if($matches[3] == '%') { - $return['width'] = ceil($line_width * $matches[2] / 100); - } - else { - $return['width'] = ceil($matches[2]); - } - return processAttributes($matches[1] . $matches[4],$return); - } - elseif(preg_match($height_pattern,$attrs,$matches)) { - $return['height'] = $matches[2]; - return processAttributes($matches[1] . $matches[3],$return); - } - elseif(preg_match($align_pattern,$attrs,$matches)) { - $return['align'] = $matches[2]; - return processAttributes($matches[1] . $matches[3],$return); - } - else { - return $return; - } -} - - -/** - * - * - * @author Michael Drgner - * @version 0.5 - * @package PDF - */ -class lamPDF extends FPDF { - - /** - * - */ - var $page_definitions; - - /** - * - * - * @param string - * @param array - */ - function lamPDF($account_type = "User",$page_definitions = array()) { - // Call constructor of superclass - $this->FPDF('P','mm','A4'); - - $this->page_definitions = $page_definitions; - - echo "

";
-		print_r($this->page_definitions);
-		echo "
"; - - // Decide which PDF file type we shall use - switch($account_type) { - case "user": - $subject = _("User information page"); - break; - case "group": - $subject = _("Group information page"); - break; - case "host": - $subject = _("Samba-Host information page"); - break; - } - - // Open PDF file and write some basic information - $this->Open(); - $this->setFont("arial","",12); - $this->setTitle($this->page_definitions['headline']); - $this->setSubject($subject); - $this->setAuthor("LDAP Account Manager Devel-Team -Michael Duergner-"); - $this->setCreator("LDAP Account Manager (pdf.inc)"); - $this->setMargins($this->page_definitions['margin-left'],$this->page_definitions['margin-top'],$this->page_definitions['margin-right']); - $this->setAutoPageBreak(true,$this->page_definitions['margin-bottom']); - } - - /** - * - */ - function header() { - if($this->page_definitions['filename'] != 'none') { - $imageFile = substr(__FILE__,0,strlen(__FILE__)- 11) . "config/pdf/logos/" . $this->page_definitions['filename']; - $width = $this->page_definitions['logo-width']; - $height = $this->page_definitions['logo-height']; - if($this->page_definitions['logo-max'] == true) { - if(($width / $height) <= 2.5) { - $factor = 20 / $height; - $width = $factor * $width; - $height = 20; - } - else { - $factor = 50 / $width; - $height = $factor * $height; - $width = 50; - } - } - $this->Image($imageFile,10,10,$width,$height,"JPG"); - } - $this->SetFont("arial","B",22); - $this->Cell(170,5,$this->page_definitions['headline'],0,1,"R",0); - $this->Ln(3); - $this->SetFont("times","",14); - $this->Cell(170,5,"- " . $this->subject . " -",0,0,"R",0); - $this->SetLineWidth(0.8); - $this->Line(10,$this->page_definitions['margin-top'] + 30,200,$this->page_definitions['margin-top'] + 30); - $this->Line(10,$this->page_definitions['margin-top'] + 32,200,$this->page_definitions['margin-top'] + 32); - $this->SetY(50); - } - - /** - * - */ - function footer() { - $this->SetLineWidth(0.8); - $this->Line(10,280,200,280); - $this->Line(10,282,200,282); - $this->SetY(285); - $this->Cell(0,5,_("This document was automatically created by LDAP Account Manager"),0,0,"C",0); - } -} \ No newline at end of file diff --git a/lam/lib/pdfstruct.inc b/lam/lib/pdfstruct.inc deleted file mode 100644 index c7d8de0c..00000000 --- a/lam/lib/pdfstruct.inc +++ /dev/null @@ -1,174 +0,0 @@ -parse($file); - - $border = array(); - $structure = array(); - $border[$current] = array(); - $page_definitions = array(); - if($xml[0][$xml[1]['PDF'][0]]['attributes']['TYPE'] == $scope) { - $border['start'] = $xml[1]['PDF'][0]; - $page_definitions = $xml[0][$xml[1]['PDF'][0]]['attributes']; - foreach($page_definitions as $key => $value) { - $page_definitions[strtolower($key)] = $value; - unset($page_definitions[$key]); - } - $border['end'] = $xml[1]['PDF'][1]; - } - $structure = array_slice($xml[0],$border['start'] + 1,$border['end'] - ($border['start'] + 1)); - return array('structure' => $structure, 'page_definitions' => $page_definitions); -} - -/** - * - * - * @param string - * @param string - */ -function savePDFStructureDefinitions($scope,$definition) { - $handle = fopen($_SESSION['lampath'] . 'config/pdf/' . $scope . '/' . $definition,'w'); - $pdf_attributes = ''; - foreach($_SESSION['currentPageDefinitions'] as $key => $value) { - if($key != 'type') { - $pdf_attributes .= ' ' . $key . '="' . $value . '"'; - } - } - $file = '\n"; - foreach($_SESSION['currentPDFStructure'] as $entry) { - $ident = ''; - for($i=0;$i<$entry['level'] -1;$i++) { - $ident .= "\t"; - } - $attributes = ''; - if(is_array($entry['attributes'])) { - foreach($entry['attributes'] as $key => $value) { - $attributes .= ' ' . strtolower($key) . '="' . $value . '"'; - } - } - if($entry['type'] == 'open') { - $file .= $ident . '<' . strtolower($entry['tag']) . $attributes . ">\n"; - } - elseif($entry['type'] == 'close') { - $file .= $ident . '\n"; - } - elseif($entry['type'] == 'complete') { - if(isset($entry['value'])) { - $file .= $ident . '<' . strtolower($entry['tag']) . $attributes . '>' . $entry['value'] . '\n"; - } - else { - $file .= $ident . '<' . strtolower($entry['tag']) . $attributes . " />\n"; - } - } - } - $file .= ""; - fwrite($handle,$file); - fclose($handle); -} - -/** - * - * - * @param string - * @param string - * - * @return boolean - */ -function deletePDFStructureDefinition($scope,$definition) { - $file = $_SESSION['lampath'] . 'config/pdf/' . $scope . '/' . $definition; - return unlink($file); -} - -/** - * - * - * @return array - */ -function getAvailableLogos() { - $return = array(); - $dirPath = $_SESSION['lampath'] . '/config/pdf/logos/'; - $dirHandle = opendir($dirPath); - while($file = readdir($dirHandle)) { - if(!is_dir($file) && $file != '.' && $file != '..' && preg_match('/\\.(jpg|png)$/',$file)) { - $infos = getimagesize($dirPath . $file); - if($infos[0] <= 400 && $infos[1] <= 60) { - array_push($return, array('filename' => $file, 'infos' => $infos)); - } - } - } - sort($return); - return $return; -} -?> \ No newline at end of file diff --git a/lam/lib/profiles.inc b/lam/lib/profiles.inc deleted file mode 100644 index b35154cb..00000000 --- a/lam/lib/profiles.inc +++ /dev/null @@ -1,158 +0,0 @@ -read(); - while ($entry){ - // check if filename ends with . - if (strrpos($entry, '.')) { - $pos = strrpos($entry, '.'); - if (substr($entry, $pos + 1) == $scope) { - $name = substr($entry, 0, $pos); - $ret[] = $name; - } - } - $entry = $dir->read(); - } - } - return $ret; -} - -/** -* Loads an profile of the given account type -* -* @param string $profile name of the profile (without . extension) -* @param string $scope account type -* @return array hash array (attribute => value) -*/ -function loadAccountProfile($profile, $scope) { - if (!eregi("^[0-9a-z_-]+$", $profile) || !eregi("^[a-z]+$", $scope)) return false; - $settings = array(); - $file = substr(__FILE__, 0, strlen(__FILE__) - 17) . "/config/profiles/" . $profile . "." . $scope; - if (is_file($file) == True) { - $file = @fopen($file, "r"); - if ($file) { - while (!feof($file)) { - $line = fgets($file, 1024); - if (($line == "\n")||($line[0] == "#")) continue; // ignore comments - // search keywords - $parts = array(); - $parts = split(": ", $line); - if (sizeof($parts) != 2) continue; // ignore malformed settings - else { - $option = $parts[0]; - $value = $parts[1]; - // remove line ends - $value = chop($value); - $settings[$option] = explode("+::+", $value); - } - } - fclose($file); - } - else { - StatusMessage("ERROR", "", _("Unable to load profile!") . " " . $file); - } - } - else { - StatusMessage("ERROR", "", _("Unable to load profile!") . " " . $file); - } - return $settings; -} - -/** -* Saves an hash array (attribute => value) to an account profile -* -* file is created, if needed -* -* @param string $profile name of the account profile (without . extension) -* @param array $attributes hash array (attribute => value) -* @param string $scope account type -* @return boolean true, if saving succeeded -*/ -function saveAccountProfile($attributes, $profile, $scope) { - if (!$_SESSION['loggedIn'] == true) return false; - // check profile name - if (!eregi("^[0-9a-z_-]+$", $profile) || !eregi("^[a-z]+$", $scope)) return false; - if (!is_array($attributes)) { - return false; - } - $path = substr(__FILE__, 0, strlen(__FILE__) - 17) . "/config/profiles/" . $profile . "." . $scope; - $file = @fopen($path, "w"); - if ($file) { - // write attributes - $keys = array_keys($attributes); - for ($i = 0; $i < sizeof($keys); $i++) { - if (isset($attributes[$keys[$i]])) { - $line = $keys[$i] . ": " . implode("+::+", $attributes[$keys[$i]]) . "\n"; - } - else { - $line = $keys[$i] . ": "; - } - fputs($file, $line); - } - // close file - fclose($file); - } - else { - return false; - } - return true; -} - -/** -* Deletes an account profile -* -* @param string $file name of profile (Without . extension) -* @param string $scope account type -* @return boolean true if profile was deleted -*/ -function delAccountProfile($file, $scope) { - if (!$_SESSION['loggedIn'] == true) return false; - if (!eregi("^[0-9a-z\\-_]+$", $file) || !eregi("^[0-9a-z\\-_]+$", $scope)) return false; - $prof = substr(__FILE__, 0, strlen(__FILE__) - 16) . "config/profiles/" . $file . "." . $scope; - if (is_file($prof)) { - return @unlink($prof); - } - else return false; -} - - -?> diff --git a/lam/lib/status.inc b/lam/lib/status.inc deleted file mode 100644 index 3bf0d29b..00000000 --- a/lam/lib/status.inc +++ /dev/null @@ -1,145 +0,0 @@ -"; - } - else { - $MessageTyp = "\"""; - } - - $MessageHeadline = "

" . $MessageHeadline . "

"; // Format $MessageHeadline - $MessageText = "

" . $MessageText . "

"; // Format $MessageText - $format = "
\n\n\n\n\n\n
" . $MessageTyp . "" . $MessageHeadline . $MessageText . "
\n
\n"; - if (is_array($MessageVariables)) { - array_unshift($MessageVariables, $format); - call_user_func_array('printf',$MessageVariables); - } - else { - printf($format, $MessageVariables); - } -} - -/** - * Use the three replace functions on the submitted Text. - * - * @access private - * - * @param string The text that is used to search for replaceable strings. - * - * @return string The processed text. - */ -function parseMessageString($MessageString) { - return linkText(colorText(boldText($MessageString))); -} - -/** - * Replace {bold} and {endbold} with and HTML-Tags. - * - * @access private - * - * @param string The text that is used to search for {bold} and {endbold} tags. - * - * @return string The submitted text with {bold} and {endbold} replaced with - * the appropriate HTML tages and - */ -function boldText($text) { - $pattern = "/\{bold\}([^{]*)\{endbold\}/"; // Regular expression matching {bold}[Text]{endbold} - $replace = "\\1"; // Replace pattern - return preg_replace($pattern,$replace,$text); -} - -/** - * Replace {color=#[HEX-Value]} or {color=[HEX-Value]} and {endcolor} with and HTML-Tags. - * - * @access private - * - * @param string - * - * @return string - */ -function colorText($text) { - $pattern = "/\{color=#?([0-9,a-f,A-F]{6})\}([^{]*)\{endcolor\}/"; // Regular expression matching {color=#[HEX-Value]}[Text]{endcolor} or {color=[HEX-Value]}[Text]{endcolor} - $replace = "\\2"; // Replace pattern - return preg_replace($pattern,$replace,$text); -} - -/** - * Replace {link=[Link-Target]} and {endlink} with and HTML-Tags. - * - * @access private - * - * @param string - * - * @return string - */ -function linkText($text) { - $pattern = "/\{link=([^}]*)\}([^{]*)\{endlink\}/"; // Regular expression matching {link=[Link-Target]}[Text]{endlink} - $replace = "\\2"; //Replace pattern - return preg_replace($pattern,$replace,$text); -} -?> diff --git a/lam/lib/xml_parser.inc b/lam/lib/xml_parser.inc deleted file mode 100644 index 8243c854..00000000 --- a/lam/lib/xml_parser.inc +++ /dev/null @@ -1,71 +0,0 @@ -xmlParser = xml_parser_create(); - xml_set_object($this->xmlParser,&$this); - xml_parser_set_option($this->xmlParser, XML_OPTION_CASE_FOLDING, 1); - xml_parser_set_option($this->xmlParser, XML_OPTION_SKIP_WHITE, 1); - } - - /** - * - * - * @param string - * - * @return array - */ - function parse($filename) { - if(file_exists($filename)) { - xml_parse_into_struct($this->xmlParser,implode("\n",file($filename)),$xmlStructure,$xmlIndex); - return array($xmlStructure,$xmlIndex); - } - } -} -?> \ No newline at end of file diff --git a/lam/locale/de_DE/LC_MESSAGES/messages.mo b/lam/locale/de_DE/LC_MESSAGES/messages.mo deleted file mode 100644 index a78819d4..00000000 Binary files a/lam/locale/de_DE/LC_MESSAGES/messages.mo and /dev/null differ diff --git a/lam/locale/de_DE/LC_MESSAGES/messages.po b/lam/locale/de_DE/LC_MESSAGES/messages.po deleted file mode 100644 index ed6ee8f6..00000000 --- a/lam/locale/de_DE/LC_MESSAGES/messages.po +++ /dev/null @@ -1,4024 +0,0 @@ -# translation of messages.po to Deutsch -# $Id: messages.po,v 1.31 2004/10/01 12:29:15 gruberroland Exp $ -# -# -# LDAP Account Manager -# Roland Gruber , 2004. -# -msgid "" -msgstr "" -"Project-Id-Version: messages\n" -"Report-Msgid-Bugs-To: post@rolandgruber.de \n" -"POT-Creation-Date: 2004-01-14 17:45+0200\n" -"PO-Revision-Date: 2004-11-28 20:41+0100\n" -"Last-Translator: Roland Gruber \n" -"Language-Team: Deutsch \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.3.1\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../templates/lists/listdomains.php:138 -#: ../templates/lists/listdomains.php:188 -#, php-format -msgid "%s Samba domain(s) found" -msgstr "%s Samba-Domäne(n) gefunden" - -#: ../templates/lists/listgroups.php:206 ../templates/lists/listgroups.php:282 -#, php-format -msgid "%s group(s) found" -msgstr "%s Gruppe(n) gefunden" - -#: ../templates/lists/listhosts.php:206 ../templates/lists/listhosts.php:266 -#, php-format -msgid "%s host(s) found" -msgstr "%s Host(s) gefunden" - -#: ../templates/lists/listusers.php:245 ../templates/lists/listusers.php:316 -#, php-format -msgid "%s user(s) found" -msgstr "%s Benutzer gefunden" - -#: ../lib/modules/posixAccount.inc:196 -msgid "/home/smiller" -msgstr "/home/hmueller" - -#: ../templates/massBuildAccounts.php:113 -msgid "A required column is missing in your CSV file." -msgstr "In der CSV-Datei fehlt eine benötigte Spalte." - -#: ../templates/ou_edit.php:95 ../templates/ou_edit.php:160 -#: ../templates/ou_edit.php:225 ../templates/ou_edit.php:290 -#: ../templates/config/confmodules.php:499 -#: ../templates/config/confmain.php:422 ../templates/pdfedit/pdfdelete.php:82 -#: ../templates/pdfedit/pdfpage.php:834 ../templates/pdfedit/pdfmain.php:144 -#: ../templates/profedit/profiledelete.php:86 -#: ../templates/profedit/profiledelete.php:98 -#: ../templates/profedit/profiledelete.php:110 -#: ../templates/profedit/profilepage.php:140 -#: ../templates/profedit/profilemain.php:262 -msgid "Abort" -msgstr "Abbrechen" - -#: ../lib/modules/account.inc:35 -msgid "Account" -msgstr "Account" - -#: ../templates/massBuildAccounts.php:164 ../lib/modules/ieee802device.inc:84 -#: ../lib/modules/posixGroup.inc:407 ../lib/modules/posixGroup.inc:411 -#: ../lib/modules/posixGroup.inc:412 ../lib/modules/sambaAccount.inc:48 -#: ../lib/modules/sambaAccount.inc:51 ../lib/modules/sambaAccount.inc:54 -#: ../lib/modules/sambaAccount.inc:56 ../lib/modules/sambaAccount.inc:58 -#: ../lib/modules/sambaAccount.inc:61 ../lib/modules/sambaAccount.inc:64 -#: ../lib/modules/sambaAccount.inc:65 ../lib/modules/sambaAccount.inc:66 -#: ../lib/modules/sambaAccount.inc:67 ../lib/modules/sambaAccount.inc:68 -#: ../lib/modules/sambaAccount.inc:69 ../lib/modules/sambaAccount.inc:70 -#: ../lib/modules/sambaAccount.inc:71 ../lib/modules/sambaAccount.inc:72 -#: ../lib/modules/sambaAccount.inc:73 ../lib/modules/sambaSamAccount.inc:46 -#: ../lib/modules/sambaSamAccount.inc:49 ../lib/modules/sambaSamAccount.inc:52 -#: ../lib/modules/sambaSamAccount.inc:54 ../lib/modules/sambaSamAccount.inc:57 -#: ../lib/modules/sambaSamAccount.inc:60 ../lib/modules/sambaSamAccount.inc:61 -#: ../lib/modules/sambaSamAccount.inc:62 ../lib/modules/sambaSamAccount.inc:63 -#: ../lib/modules/sambaSamAccount.inc:64 ../lib/modules/sambaSamAccount.inc:65 -#: ../lib/modules/sambaSamAccount.inc:66 ../lib/modules/sambaSamAccount.inc:67 -#: ../lib/modules/sambaSamAccount.inc:68 ../lib/modules/sambaSamAccount.inc:69 -#: ../lib/modules/sambaSamAccount.inc:70 ../lib/modules/posixAccount.inc:66 -#: ../lib/modules/posixAccount.inc:70 ../lib/modules/posixAccount.inc:74 -#: ../lib/modules/posixAccount.inc:82 ../lib/modules/posixAccount.inc:83 -#: ../lib/modules/posixAccount.inc:84 ../lib/modules/posixAccount.inc:85 -#: ../lib/modules/posixAccount.inc:86 ../lib/modules/posixAccount.inc:87 -#: ../lib/modules/posixAccount.inc:88 ../lib/modules/sambaGroupMapping.inc:341 -#: ../lib/modules/sambaGroupMapping.inc:342 -#: ../lib/modules/shadowAccount.inc:40 ../lib/modules/shadowAccount.inc:42 -#: ../lib/modules/shadowAccount.inc:44 ../lib/modules/shadowAccount.inc:46 -#: ../lib/modules/shadowAccount.inc:48 ../lib/modules/shadowAccount.inc:49 -#: ../lib/modules/inetOrgPerson.inc:53 ../lib/modules/inetOrgPerson.inc:55 -#: ../lib/modules/inetOrgPerson.inc:57 ../lib/modules/inetOrgPerson.inc:59 -#: ../lib/modules/inetOrgPerson.inc:61 ../lib/modules/inetOrgPerson.inc:63 -#: ../lib/modules/inetOrgPerson.inc:65 ../lib/modules/inetOrgPerson.inc:67 -#: ../lib/modules/inetOrgPerson.inc:69 ../lib/modules/inetOrgPerson.inc:71 -#: ../lib/modules/inetOrgPerson.inc:73 ../lib/modules/inetOrgPerson.inc:74 -#, php-format -msgid "Account %s:" -msgstr "Account %s:" - -#: ../templates/masscreate.php:78 -msgid "Account creation via file upload" -msgstr "Erstellung von Accounts mittels Dateiupload" - -#: ../lib/modules/shadowAccount.inc:156 -msgid "Account expiration date. Format: DD-MM-YYYY" -msgstr "Account-Ablaufdatum im Format: TT-MM-JJJJ" - -#: ../help/help.inc:171 -msgid "Account expire date. Format: DD-MM-YYYY" -msgstr "Account-Ablaufdatum im Format: TT-MM-JJJJ" - -#: ../lib/modules/shadowAccount.inc:333 -msgid "Account inactive" -msgstr "Account ist deaktiviert" - -#: ../lib/modules/sambaAccount.inc:118 ../lib/modules/sambaAccount.inc:227 -#: ../lib/modules/sambaAccount.inc:336 ../lib/modules/sambaAccount.inc:339 -#: ../lib/modules/sambaAccount.inc:713 ../lib/modules/sambaSamAccount.inc:149 -#: ../lib/modules/sambaSamAccount.inc:152 -#: ../lib/modules/sambaSamAccount.inc:241 -#: ../lib/modules/sambaSamAccount.inc:692 -#: ../lib/modules/sambaSamAccount.inc:845 ../help/help.inc:196 -msgid "Account is deactivated" -msgstr "Account deaktiviert" - -#: ../templates/config/confmain.php:215 ../help/help.inc:106 -msgid "Account modules" -msgstr "Accountmodule" - -#: ../templates/delete.php:88 -msgid "Account name:" -msgstr "Accountname:" - -#: ../lib/modules.inc:767 -msgid "Account was created successfully." -msgstr "Account wurde erfolgreich erstellt." - -#: ../lib/modules.inc:770 -msgid "Account was modified successfully." -msgstr "Account wurde erfolgreich geändert." - -#: ../templates/pdfedit/pdfpage.php:725 ../lib/modules/ieee802device.inc:151 -msgid "Add" -msgstr "Hinzufügen" - -#: ../templates/pdfedit/pdfpage.php:713 -msgid "Add after" -msgstr "Hinzufügen nach" - -#: ../templates/config/profmanage.php:172 ../help/help.inc:108 -msgid "Add profile" -msgstr "Neues Profil" - -#: ../templates/pdfedit/pdfpage.php:699 -msgid "Add section or static text" -msgstr "Abschnitt oder statischen Text hinzufügen" - -#: ../lib/modules/posixAccount.inc:188 ../lib/modules/posixAccount.inc:330 -#: ../lib/modules/posixAccount.inc:831 ../lib/modules/posixAccount.inc:893 -#: ../lib/modules/posixAccount.inc:925 ../lib/modules/posixAccount.inc:966 -#: ../help/help.inc:138 -msgid "Additional groups" -msgstr "Zusätzliche Gruppen" - -#: ../templates/massDoUpload.php:98 -msgid "Additional tasks for module:" -msgstr "Zusätzliche Aufgaben des Moduls:" - -#: ../lib/modules/sambaAccount.inc:568 ../lib/modules/sambaAccount.inc:769 -#: ../lib/modules/sambaAccount.inc:772 ../lib/modules/sambaSamAccount.inc:539 -#: ../lib/modules/sambaSamAccount.inc:750 -#: ../lib/modules/sambaSamAccount.inc:753 -msgid "Administrator" -msgstr "Administrator" - -#: ../lib/modules/posixGroup.inc:303 -msgid "Administrators group" -msgstr "Administratoren" - -#: ../templates/domain.php:146 ../help/help.inc:252 -msgid "Algorithmic RID Base" -msgstr "RID-Basisnummer" - -#: ../templates/domain.php:252 -msgid "Algorithmic RID base is not a number!" -msgstr "RID-Basisnummer ist keine Zahl!" - -#: ../templates/initsuff.php:157 -msgid "All changes were successful." -msgstr "Alle Änderungen waren erfolgreich." - -#: ../lib/lists.inc:181 -msgid "Allowed hosts" -msgstr "Erlaubte PCs" - -#: ../lib/modules/sambaAccount.inc:819 ../lib/modules/sambaAccount.inc:820 -#: ../lib/modules/sambaSamAccount.inc:800 -#: ../lib/modules/sambaSamAccount.inc:801 -msgid "Allowed workstations" -msgstr "Erlaubte PCs" - -#: ../templates/lists/listusers.php:347 -msgid "Apply" -msgstr "Ok" - -#: ../lib/cache.inc:101 ../lib/cache.inc:160 -msgid "Attribute not defined in LDAP." -msgstr "Attribut ist nicht in LDAP definiert." - -#: ../templates/config/confmain.php:292 ../lib/config.inc:338 -msgid "Attributes in Group List" -msgstr "Attributnamen in der Gruppenliste" - -#: ../templates/config/confmain.php:298 ../lib/config.inc:339 -msgid "Attributes in Host List" -msgstr "Attributnamen in der Hostliste" - -#: ../templates/config/confmain.php:286 ../lib/config.inc:337 -msgid "Attributes in User List" -msgstr "Attributnamen in der Benutzerliste" - -#: ../templates/pdfedit/pdfpage.php:852 -msgid "Available PDF fields" -msgstr "Verfügbare PDF-Felder" - -#: ../templates/config/confmodules.php:319 -msgid "Available group modules" -msgstr "Verfügbare Gruppenmodule" - -#: ../lib/modules/posixAccount.inc:899 -msgid "Available groups" -msgstr "Verfügbare Gruppen" - -#: ../templates/config/confmodules.php:422 -msgid "Available host modules" -msgstr "Verfügbare Hostmodule" - -#: ../templates/config/confmodules.php:216 -msgid "Available user modules" -msgstr "Verfügbare Benutzermodule" - -#: ../lib/modules/posixGroup.inc:199 -msgid "Available users" -msgstr "Verfügbare Benutzer" - -#: ../lib/modules/sambaAccount.inc:825 ../lib/modules/sambaSamAccount.inc:806 -msgid "Available workstations" -msgstr "Verfügbare PCs" - -#: ../lib/modules/posixGroup.inc:203 ../lib/modules/sambaAccount.inc:829 -#: ../lib/modules/sambaSamAccount.inc:810 ../lib/modules/posixAccount.inc:903 -msgid "Back" -msgstr "Zurück" - -#: ../templates/config/confsave.php:248 ../templates/config/conflogin.php:147 -#: ../templates/logout.php:71 -msgid "Back to Login" -msgstr "Zurück zum Login" - -#: ../templates/ou_edit.php:309 ../templates/ou_edit.php:313 -msgid "Back to OU-Editor" -msgstr "Zurück zum OU-Editor" - -#: ../templates/pdfedit/pdfdelete.php:61 ../templates/pdfedit/pdfdelete.php:69 -#: ../templates/pdfedit/pdfdelete.php:90 -msgid "Back to PDF Editor" -msgstr "Zurück zum PDF-Editor" - -#: ../templates/profedit/profilecreate.php:115 -#: ../templates/profedit/profiledelete.php:63 -#: ../templates/profedit/profiledelete.php:71 -#: ../templates/profedit/profiledelete.php:119 -msgid "Back to Profile Editor" -msgstr "Zurück zum Profileditor" - -#: ../lib/modules.inc:780 -msgid "Back to account list" -msgstr "Zurück zur Accountliste" - -#: ../templates/domain.php:290 ../templates/domain.php:317 -msgid "Back to domain list" -msgstr "Zurück zur Domänenliste" - -#: ../templates/lists/userlink.php:65 -msgid "Back to group list" -msgstr "Zurück zur Gruppenliste" - -#: ../templates/delete.php:238 -msgid "Back to list" -msgstr "Zurück zur Liste" - -#: ../templates/config/confsave.php:92 ../templates/config/confsave.php:97 -#: ../templates/config/confsave.php:102 ../templates/config/confsave.php:107 -#: ../templates/config/confsave.php:112 ../templates/config/confsave.php:117 -#: ../templates/config/confsave.php:122 ../templates/config/confsave.php:127 -#: ../templates/config/confsave.php:132 ../templates/config/confsave.php:137 -#: ../templates/config/confsave.php:142 ../templates/config/confsave.php:148 -#: ../templates/config/confsave.php:154 ../templates/config/confsave.php:160 -#: ../templates/config/confsave.php:166 ../templates/config/confsave.php:172 -#: ../templates/config/confsave.php:178 ../templates/config/confsave.php:225 -msgid "Back to preferences..." -msgstr "Zurück zu den Einstellungen" - -#: ../templates/config/profmanage.php:382 -msgid "Back to profile login" -msgstr "Zurück zum Konfigurationslogin" - -#: ../templates/pdfedit/pdfpage.php:577 -msgid "Beginning" -msgstr "Anfang" - -#: ../lib/modules/quota.inc:31 -msgid "Block hard quota" -msgstr "hartes Block-Quota" - -#: ../lib/modules/quota.inc:31 -msgid "" -"Block hard quota contains invalid characters. Only natural numbers are " -"allowed." -msgstr "" -"Hartes Block-Quota enthält ungültige Zeichen. Nur natürliche Zahlen sind " -"erlaubt." - -#: ../lib/modules/quota.inc:34 -msgid "Block quota" -msgstr "Block-Quota" - -#: ../lib/modules/quota.inc:30 -msgid "Block soft quota" -msgstr "weiches Block-Quota" - -#: ../lib/modules/quota.inc:30 -msgid "" -"Block soft quota contains invalid characters. Only natural numbers are " -"allowed." -msgstr "" -"Weiches Block-Quota enthält ungültige Zeichen. Nur natürliche Zahlen sind " -"erlaubt." - -#: ../lib/modules/quota.inc:34 -msgid "Block soft quota must be smaller than block hard quota." -msgstr "Weiches Block-Quota muss kleiner sein als hartes Block-Quota." - -#: ../templates/pdfedit/pdfpage.php:524 -msgid "Bottom" -msgstr "Ende" - -#: ../lib/modules/sambaGroupMapping.inc:55 -msgid "Builtin Group" -msgstr "Vordefinierte Gruppe" - -#: ../templates/masscreate.php:127 -msgid "CSV file:" -msgstr "CSV-Datei:" - -#: ../templates/config/confmain.php:198 ../lib/config.inc:332 -#: ../help/help.inc:102 -msgid "Cache timeout" -msgstr "Cache Zeitbegrenzung" - -#: ../templates/config/confsave.php:96 -msgid "Cache timeout is invalid!" -msgstr "Cache Zeitbegrenzung ist ungültig!" - -#: ../lib/modules/posixGroup.inc:334 ../lib/modules/sambaAccount.inc:351 -#: ../lib/modules/sambaAccount.inc:355 ../lib/modules/sambaAccount.inc:359 -#: ../lib/modules/sambaAccount.inc:363 ../lib/modules/sambaAccount.inc:375 -#: ../lib/modules/sambaSamAccount.inc:164 -#: ../lib/modules/sambaSamAccount.inc:168 -#: ../lib/modules/sambaSamAccount.inc:172 -#: ../lib/modules/sambaSamAccount.inc:176 ../lib/modules/posixAccount.inc:331 -#: ../lib/modules/sambaGroupMapping.inc:280 -#: ../lib/modules/shadowAccount.inc:140 ../lib/modules/shadowAccount.inc:144 -#: ../lib/modules/shadowAccount.inc:148 ../lib/modules/shadowAccount.inc:152 -#: ../help/help.inc:139 ../help/help.inc:163 ../help/help.inc:165 -#: ../help/help.inc:167 ../help/help.inc:169 ../help/help.inc:201 -#: ../help/help.inc:204 ../help/help.inc:207 ../help/help.inc:209 -#: ../help/help.inc:212 ../help/help.inc:218 ../help/help.inc:228 -#: ../help/help.inc:230 ../help/help.inc:232 -msgid "Can be left empty." -msgstr "Kann leer bleiben." - -#: ../templates/domain.php:188 ../templates/domain.php:219 -#: ../templates/delete.php:104 ../templates/initsuff.php:194 -msgid "Cancel" -msgstr "Abbrechen" - -#: ../templates/login.php:321 ../templates/login.php:326 -msgid "Cannot connect to specified LDAP-Server. Please try again." -msgstr "Kann keine Verbindung zum LDAP-Server aufbauen. Bitte erneut versuchen." - -#: ../lib/config.inc:323 ../lib/config.inc:895 -msgid "Cannot open config file!" -msgstr "Kann Konfigurationsdatei nicht öffnen!" - -#: ../templates/pdfedit/pdfpage.php:605 ../templates/pdfedit/pdfpage.php:611 -msgid "Change" -msgstr "Ändern" - -#: ../lib/modules/posixGroup.inc:155 -msgid "Change GID number of users and hosts" -msgstr "Ändere die GID-Nummern aller Benutzer auf den neuen Wert" - -#: ../templates/login.php:272 -msgid "Change Profile" -msgstr "Profil ändern" - -#: ../templates/lists/listhosts.php:285 ../templates/lists/listgroups.php:301 -#: ../templates/lists/listdomains.php:207 ../templates/lists/listusers.php:335 -msgid "Change Suffix" -msgstr "Suffix wechseln" - -#: ../templates/config/profmanage.php:319 ../help/help.inc:116 -msgid "Change default profile" -msgstr "Standardprofil wechseln" - -#: ../templates/config/profmanage.php:339 ../help/help.inc:118 -msgid "Change master password" -msgstr "Hauptpasswort ändern" - -#: ../help/help.inc:100 -msgid "Change password" -msgstr "Passwort ändern" - -#: ../lib/baseModule.inc:524 -#, php-format -msgid "Changed value %s because only numeric values are allowed." -msgstr "Wert %s wurde geändert da nur Zahlenwerte erlaubt sind." - -#: ../lib/baseModule.inc:541 -msgid "Changed value because only ASCII characters are allowed." -msgstr "Wert wurde geändert da nur ASCII-Zeichen erlaubt sind." - -#: ../lib/config.inc:88 -msgid "Click here if you are not directed to the next page." -msgstr "Hier klicken wenn Sie nicht zur nächsten Seite weitergeleitet werden." - -#: ../templates/masscreate.php:135 -msgid "Columns:" -msgstr "Spalten:" - -#: ../lib/modules/sambaAccount.inc:363 ../lib/modules/sambaSamAccount.inc:176 -msgid "" -"Comma separated list of Samba workstations the user is allowed to login. " -"Empty means every workstation." -msgstr "" -"Liste der Samba-Arbeitsstationen, auf welchen sich der Benutzer anmelden " -"darf. Die Einträge werden mit Komma getrennt. Leer heißt jede Arbeitsstation." - -#: ../help/help.inc:228 -msgid "Comma separated list of unix workstations the user is allowed to login." -msgstr "" -"Kommagetrennte Liste der Unix-Arbeitsstationen, auf welchen sich der " -"Benutzer anmelden darf." - -#: ../lib/modules/inetOrgPerson.inc:115 -msgid "Common name" -msgstr "Allgemeiner Name" - -#: ../templates/login.php:119 -msgid "Configuration Login" -msgstr "Login für die Einstellungen" - -#: ../templates/login.php:255 -msgid "Configuration profile" -msgstr "Einstellungsprofil" - -#: ../help/help.inc:46 ../help/help.inc:48 ../help/help.inc:60 -#: ../help/help.inc:66 ../help/help.inc:81 ../help/help.inc:86 -#: ../help/help.inc:88 ../help/help.inc:90 ../help/help.inc:95 -#: ../help/help.inc:100 ../help/help.inc:102 ../help/help.inc:104 -#: ../help/help.inc:106 -msgid "Configuration wizard" -msgstr "Einstellungsassistent" - -#: ../templates/config/confmodules.php:257 -#: ../templates/config/confmodules.php:360 -#: ../templates/config/confmodules.php:463 -msgid "Conflicting module:" -msgstr "Modulkonflikt:" - -#: ../templates/config/profmanage.php:99 -msgid "Could not rename file!" -msgstr "Konnte Datei nicht umbenennen!" - -#: ../templates/initsuff.php:193 -msgid "Create" -msgstr "Erstellen" - -#: ../lib/modules.inc:760 -msgid "Create Account" -msgstr "Account erstellen" - -#: ../lib/modules.inc:778 -msgid "Create PDF file" -msgstr "PDF-Datei erstellen" - -#: ../templates/lists/listgroups.php:319 -msgid "Create PDF for all groups" -msgstr "PDF-Datei für alle Gruppen erstellen" - -#: ../templates/lists/listhosts.php:304 -msgid "Create PDF for all hosts" -msgstr "PDF-Datei für alle Hosts erstellen" - -#: ../templates/lists/listusers.php:367 -msgid "Create PDF for all users" -msgstr "PDF-Datei für alle Benutzer erstellen" - -#: ../templates/lists/listgroups.php:317 -msgid "Create PDF for selected group(s)" -msgstr "PDF-Datei für ausgewählte Gruppe(n) erstellen" - -#: ../templates/lists/listhosts.php:302 -msgid "Create PDF for selected host(s)" -msgstr "PDF-Datei für ausgewählte(n) Host(s) erstellen" - -#: ../templates/lists/listusers.php:365 -msgid "Create PDF for selected user(s)" -msgstr "PDF-Datei für ausgewählte(n) Benutzer erstellen" - -#: ../templates/pdfedit/pdfmain.php:109 -msgid "Create a new PDF structure for scope: " -msgstr "Neue PDF-Struktur erstellen für Typ:" - -#: ../templates/profedit/profilemain.php:140 -#: ../templates/profedit/profilemain.php:183 -#: ../templates/profedit/profilemain.php:226 -msgid "Create a new profile" -msgstr "Neues Profil erstellen" - -#: ../lib/modules.inc:776 -msgid "Create another account" -msgstr "Weiteren Account anlegen" - -#: ../templates/masscreate.php:99 -msgid "Create group accounts" -msgstr "Gruppen-Accounts anlegen" - -#: ../lib/modules/posixAccount.inc:838 -msgid "Create home directory" -msgstr "Heimatverzeichnis anlegen" - -#: ../templates/masscreate.php:102 -msgid "Create host accounts" -msgstr "Host-Accounts anlegen" - -#: ../lib/modules.inc:673 -msgid "Create new Account" -msgstr "Neuen Account anlegen" - -#: ../templates/masscreate.php:96 -msgid "Create user accounts" -msgstr "Benutzer-Accounts anlegen" - -#: ../templates/config/profmanage.php:84 -msgid "Created new profile." -msgstr "Neues Profil wurde erstellt." - -#: ../templates/tools.php:70 -msgid "Creates accounts by uploading a CSV formated file." -msgstr "Erstellt Accounts durch das Hochladen einer CSV formatierten Datei." - -#: ../templates/delete.php:89 ../lib/modules.inc:1509 -msgid "DN" -msgstr "DN" - -#: ../templates/masscreate.php:138 -msgid "DN settings" -msgstr "DN-Einstellungen" - -#: ../templates/masscreate.php:142 ../help/help.inc:129 -msgid "DN suffix" -msgstr "DN-Suffix" - -#: ../lib/modules/sambaGroupMapping.inc:253 -msgid "DOMAIN_ADMINS" -msgstr "Domänenadministratoren" - -#: ../templates/massBuildAccounts.php:164 -msgid "Data field for RDN is empty!" -msgstr "Datenfeld für RDN ist leer!" - -#: ../lib/modules/sambaAccount.inc:343 ../lib/modules/sambaSamAccount.inc:156 -#: ../help/help.inc:193 -msgid "Date after the user is able to change his password. Format: DD-MM-YYYY" -msgstr "Datum, nach dem der Benutzer sein Passwort ändern kann. Format: TT-MM-JJJJ" - -#: ../lib/modules/sambaAccount.inc:345 ../lib/modules/sambaSamAccount.inc:158 -#: ../help/help.inc:195 -msgid "Date after the user must change his password. Format: DD-MM-YYYY" -msgstr "Datum, nach dem der Benutzer sein Passwort ändern muss. Format: TT-MM-JJJJ" - -#: ../lib/modules/shadowAccount.inc:140 ../help/help.inc:163 -msgid "" -"Days before password is to expire that user is warned of pending password " -"expiration. If set value must be 0<." -msgstr "" -"Anzahl Tage, die der Benutzer gewarnt wird bevor sein Passwort abläuft. Wert " -"muss größer 0 sein." - -#: ../templates/config/confmain.php:328 ../lib/config.inc:341 -#: ../help/help.inc:88 -msgid "Default language" -msgstr "Standardsprache" - -#: ../templates/masscreate.php:147 ../templates/masscreate.php:302 -msgid "Default value" -msgstr "Standardwert" - -#: ../templates/domain.php:218 ../templates/delete.php:103 -msgid "Delete" -msgstr "Löschen" - -#: ../templates/delete.php:74 ../templates/delete.php:121 -msgid "Delete Account" -msgstr "Lösche Account" - -#: ../templates/lists/listdomains.php:214 -msgid "Delete Domain(s)" -msgstr "Lösche Domain(s)" - -#: ../templates/lists/listgroups.php:308 -msgid "Delete Group(s)" -msgstr "Lösche Gruppe(n)" - -#: ../templates/lists/listhosts.php:293 -msgid "Delete Host(s)" -msgstr "Lösche Host(s)" - -#: ../templates/pdfedit/pdfdelete.php:48 ../templates/pdfedit/pdfmain.php:133 -msgid "Delete PDF structure" -msgstr "PDF-Struktur löschen" - -#: ../templates/profedit/profiledelete.php:52 -msgid "Delete User Profile" -msgstr "Benutzerprofil löschen" - -#: ../templates/domain.php:209 -msgid "Delete domain(s)" -msgstr "Lösche Domäne(n)" - -#: ../lib/modules/posixAccount.inc:870 -msgid "Delete home directory" -msgstr "Heimatverzeichnis löschen" - -#: ../templates/pdfedit/pdfdelete.php:68 -#: ../templates/profedit/profiledelete.php:70 -msgid "Delete operation canceled." -msgstr "Löschoperation abgebrochen." - -#: ../templates/ou_edit.php:357 ../templates/ou_edit.php:390 -#: ../templates/ou_edit.php:423 ../templates/ou_edit.php:456 -#: ../help/help.inc:238 -msgid "Delete organizational unit" -msgstr "Organizational Unit löschen" - -#: ../templates/config/profmanage.php:248 -#: ../templates/profedit/profilemain.php:164 -#: ../templates/profedit/profilemain.php:207 -#: ../templates/profedit/profilemain.php:250 ../help/help.inc:112 -msgid "Delete profile" -msgstr "Lösche Profil" - -#: ../templates/lists/listusers.php:356 -msgid "Delete user(s)" -msgstr "Lösche Benutzer" - -#: ../lib/modules/sambaGroupMapping.inc:56 -msgid "Deleted Account" -msgstr "Gelöschter Account" - -#: ../templates/delete.php:224 -#, php-format -msgid "Deleted DN: %s" -msgstr "Gelöschter DN: %s" - -#: ../templates/pdfedit/pdfdelete.php:59 -msgid "Deleted PDF structure:" -msgstr "PDF-Struktur gelöscht:" - -#: ../templates/profedit/profiledelete.php:62 -msgid "Deleted profile:" -msgstr "Gelöschtes Profil:" - -#: ../templates/delete.php:128 -msgid "Deleting. Please stand by ..." -msgstr "Lösche. Bitte haben Sie ein wenig Geduld..." - -#: ../lib/modules/account.inc:71 ../lib/modules/account.inc:155 -#: ../lib/modules/account.inc:172 ../lib/modules/posixGroup.inc:131 -#: ../lib/modules/posixGroup.inc:329 ../lib/modules/posixGroup.inc:371 -#: ../lib/modules/sambaAccount.inc:850 ../lib/modules/sambaSamAccount.inc:922 -#: ../lib/modules/posixAccount.inc:267 -#: ../lib/modules/sambaGroupMapping.inc:301 -#: ../lib/modules/shadowAccount.inc:335 ../lib/modules/inetOrgPerson.inc:135 -#: ../lib/modules/inetOrgPerson.inc:393 ../lib/modules/inetOrgPerson.inc:461 -#: ../lib/lists.inc:187 -msgid "Description" -msgstr "Beschreibung" - -#: ../lib/modules/sambaAccount.inc:191 ../lib/modules/sambaAccount.inc:312 -#: ../lib/modules/sambaAccount.inc:842 ../lib/modules/sambaSamAccount.inc:125 -#: ../lib/modules/sambaSamAccount.inc:205 -#: ../lib/modules/sambaSamAccount.inc:914 -#: ../lib/modules/sambaGroupMapping.inc:159 -#: ../lib/modules/sambaGroupMapping.inc:267 -#: ../lib/modules/sambaGroupMapping.inc:299 ../help/help.inc:174 -msgid "Display name" -msgstr "Anzeigename" - -#: ../lib/modules.inc:471 -msgid "" -"Displayed account numbers start at \"0\". Add 2 to get the row in your " -"spreadsheet." -msgstr "" -"Die angezeigten Accountnummern beginnen mit \"0\". Addieren Sie 2 um die " -"Reihennummer in Ihrer Tabellenkalkulation zu erhalten." - -#: ../templates/domain.php:210 -msgid "Do you really want to delete domain(s):" -msgstr "Soll(en) diese Domäne(n) wirklich gelöscht werden?" - -#: ../templates/ou_edit.php:87 ../templates/ou_edit.php:152 -#: ../templates/ou_edit.php:217 ../templates/ou_edit.php:282 -msgid "Do you really want to delete this OU?" -msgstr "Soll diese OU gelöscht werden?" - -#: ../templates/pdfedit/pdfdelete.php:77 -msgid "Do you really want to delete this PDF structure?" -msgstr "Soll diese PDF-Struktur gelöscht werden?" - -#: ../templates/profedit/profiledelete.php:81 -#: ../templates/profedit/profiledelete.php:93 -#: ../templates/profedit/profiledelete.php:105 -msgid "Do you really want to delete this profile?" -msgstr "Soll dieses Profil gelöscht werden?" - -#: ../templates/delete.php:83 -msgid "Do you really want to remove the following accounts?" -msgstr "Sollen die folgenden Accounts wirklich gelöscht werden?" - -#: ../lib/modules/sambaAccount.inc:157 ../lib/modules/sambaAccount.inc:293 -#: ../lib/modules/sambaAccount.inc:303 ../lib/modules/sambaAccount.inc:374 -#: ../lib/modules/sambaAccount.inc:784 ../lib/modules/sambaAccount.inc:793 -#: ../lib/modules/sambaAccount.inc:849 ../lib/modules/sambaSamAccount.inc:185 -#: ../lib/modules/sambaSamAccount.inc:198 -#: ../lib/modules/sambaSamAccount.inc:317 -#: ../lib/modules/sambaSamAccount.inc:765 -#: ../lib/modules/sambaSamAccount.inc:773 -#: ../lib/modules/sambaSamAccount.inc:888 -#: ../lib/modules/sambaSamAccount.inc:901 -#: ../lib/modules/sambaSamAccount.inc:921 -#: ../lib/modules/sambaGroupMapping.inc:53 -#: ../lib/modules/sambaGroupMapping.inc:187 -#: ../lib/modules/sambaGroupMapping.inc:279 -#: ../lib/modules/sambaGroupMapping.inc:321 ../help/help.inc:211 -#: ../help/help.inc:229 -msgid "Domain" -msgstr "Domäne" - -#: ../lib/modules/sambaAccount.inc:33 ../lib/modules/sambaAccount.inc:288 -#: ../lib/modules/sambaSamAccount.inc:33 -#: ../lib/modules/sambaGroupMapping.inc:40 -msgid "Domain Admins" -msgstr "Domänenadministratoren" - -#: ../lib/modules/sambaAccount.inc:35 ../lib/modules/sambaSamAccount.inc:34 -#: ../lib/modules/sambaGroupMapping.inc:45 -msgid "Domain Certificate Admins" -msgstr "Domänen-Zertifikats-Administratoren" - -#: ../lib/modules/sambaAccount.inc:34 ../lib/modules/sambaAccount.inc:529 -#: ../lib/modules/sambaSamAccount.inc:34 -#: ../lib/modules/sambaSamAccount.inc:500 -#: ../lib/modules/sambaGroupMapping.inc:43 -msgid "Domain Computers" -msgstr "Domänen-PCs" - -#: ../lib/modules/sambaAccount.inc:35 ../lib/modules/sambaSamAccount.inc:34 -#: ../lib/modules/sambaGroupMapping.inc:44 -msgid "Domain Controllers" -msgstr "Domänencontroller" - -#: ../lib/modules/sambaAccount.inc:36 ../lib/modules/sambaSamAccount.inc:35 -#: ../lib/modules/sambaGroupMapping.inc:47 -msgid "Domain Enterprise Admins" -msgstr "Domänen-Unternehmens-Administratoren" - -#: ../lib/modules/sambaGroupMapping.inc:52 -#: ../lib/modules/sambaGroupMapping.inc:179 -msgid "Domain Group" -msgstr "Domänengruppe" - -#: ../lib/modules/sambaAccount.inc:34 ../lib/modules/sambaSamAccount.inc:33 -#: ../lib/modules/sambaGroupMapping.inc:42 -msgid "Domain Guests" -msgstr "Domänengäste" - -#: ../lib/modules/sambaAccount.inc:37 ../lib/modules/sambaSamAccount.inc:35 -#: ../lib/modules/sambaGroupMapping.inc:48 -msgid "Domain Policy Admins" -msgstr "Domänen-Policy-Administratoren" - -#: ../templates/lists/listdomains.php:99 ../templates/domain.php:104 -#: ../help/help.inc:244 -msgid "Domain SID" -msgstr "Domänen-SID" - -#: ../lib/modules/sambaAccount.inc:36 ../lib/modules/sambaSamAccount.inc:35 -#: ../lib/modules/sambaGroupMapping.inc:46 -msgid "Domain Schema Admins" -msgstr "Domänen-Schema-Administratoren" - -#: ../templates/domain.php:83 -msgid "Domain Settings" -msgstr "Domäneneinstellungen" - -#: ../lib/modules/sambaAccount.inc:33 ../lib/modules/sambaSamAccount.inc:33 -#: ../lib/modules/sambaGroupMapping.inc:41 -msgid "Domain Users" -msgstr "Domänenbenutzer" - -#: ../lib/modules/sambaGroupMapping.inc:247 -msgid "Domain administrators" -msgstr "Domänenadministratoren" - -#: ../templates/domain.php:313 -msgid "Domain deleted successfully." -msgstr "Domäne erfolgreich gelöscht." - -#: ../templates/domain.php:269 -msgid "Domain has been modified." -msgstr "Domäne wurde geändert." - -#: ../templates/lists/listdomains.php:98 ../templates/domain.php:88 -#: ../lib/modules/sambaAccount.inc:57 ../help/help.inc:240 -msgid "Domain name" -msgstr "Domänenname" - -#: ../lib/modules/sambaAccount.inc:57 ../lib/modules/sambaAccount.inc:58 -msgid "" -"Domain name contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and -." -msgstr "" -"Domänenname enthält ungültige Zeichen. Gültige Zeichen sind: a-z, A-Z, 0-9 " -"und -." - -#: ../templates/domain.php:242 -msgid "Domain name is invalid!" -msgstr "Domänenname ist ungültig!" - -#: ../templates/config/confmain.php:188 ../lib/config.inc:336 -msgid "DomainSuffix" -msgstr "DomänenSuffix" - -#: ../templates/config/confsave.php:121 -msgid "DomainSuffix is invalid!" -msgstr "Domänensuffix ist ungültig!" - -#: ../templates/ou_edit.php:438 -msgid "Domains" -msgstr "Domänen" - -#: ../templates/pdfedit/pdfpage.php:581 -msgid "Down" -msgstr "nach unten" - -#: ../templates/masscreate.php:261 -msgid "Download sample CSV file" -msgstr "Beispiel-CSV-Datei runterladen" - -#: ../lib/modules/sambaAccount.inc:348 ../lib/modules/sambaSamAccount.inc:161 -msgid "Drive letter assigned on windows workstations as homedirectory." -msgstr "Laufwerksbuchstabe, der als Heimatverzeichnis zugewiesen wird." - -#: ../help/help.inc:199 -msgid "Driveletter assigned on windows workstations as homedirectory." -msgstr "Laufwerksbuchstabe, der als Heimatverzeichnis zugewiesen wird." - -#: ../lib/lists.inc:186 -msgid "E-Mail" -msgstr "E-Mail" - -#: ../templates/lists/listhosts.php:233 ../templates/lists/listgroups.php:233 -#: ../templates/lists/listdomains.php:168 ../templates/lists/listusers.php:283 -msgid "Edit" -msgstr "Editieren" - -#: ../templates/pdfedit/pdfmain.php:121 -msgid "Edit PDF structure" -msgstr "PDF-Struktur ändern" - -#: ../lib/modules/posixGroup.inc:135 ../lib/modules/posixAccount.inc:832 -msgid "Edit groups" -msgstr "Gruppen ändern" - -#: ../templates/config/confmain.php:223 -msgid "Edit modules" -msgstr "Module ändern" - -#: ../templates/profedit/profilemain.php:152 -#: ../templates/profedit/profilemain.php:195 -#: ../templates/profedit/profilemain.php:238 -msgid "Edit profile" -msgstr "Profil ändern" - -#: ../lib/modules/sambaAccount.inc:749 ../lib/modules/sambaSamAccount.inc:728 -msgid "Edit workstations" -msgstr "Arbeitsstationen ändern" - -#: ../lib/modules/inetOrgPerson.inc:72 ../lib/modules/inetOrgPerson.inc:99 -#: ../lib/modules/inetOrgPerson.inc:147 ../lib/modules/inetOrgPerson.inc:231 -#: ../lib/modules/inetOrgPerson.inc:417 ../lib/modules/inetOrgPerson.inc:466 -msgid "Employee type" -msgstr "Angestelltentyp" - -#: ../lib/modules/inetOrgPerson.inc:232 -msgid "Employee type: Contractor, Employee, Intern, Temp, External, ..." -msgstr "Angestelltentyp: Angestellter, Extern, Aushilfskraft, ..." - -#: ../templates/login.php:297 -msgid "Empty Password submitted. Try again." -msgstr "Das Passwort war leer. Bitte erneut eingeben." - -#: ../templates/login.php:148 -msgid "Enter Username and Password for Account" -msgstr "Geben Sie Benutzernamen und Passwort ein" - -#: ../templates/delete.php:230 -#, php-format -msgid "Error while deleting DN: %s" -msgstr "Fehler beim Löschen von DN: %s" - -#: ../help/help.inc:69 ../help/help.inc:84 -msgid "Example" -msgstr "Beispiel" - -#: ../templates/masscreate.php:146 ../templates/masscreate.php:159 -#: ../templates/masscreate.php:298 -msgid "Example value" -msgstr "Beispielwert" - -#: ../help/help.inc:51 ../help/help.inc:63 -msgid "Examples" -msgstr "Beispiele" - -#: ../help/help.inc:178 -msgid "Expand suffix with primary groupname" -msgstr "Suffix um primäre Gruppe erweitern" - -#: ../lib/modules/shadowAccount.inc:93 ../lib/modules/shadowAccount.inc:155 -#: ../lib/modules/shadowAccount.inc:187 ../lib/modules/shadowAccount.inc:310 -msgid "Expiration date" -msgstr "Ablaufdatum" - -#: ../help/help.inc:170 -msgid "Expire date" -msgstr "Ablaufdatum" - -#: ../templates/domain.php:287 -msgid "Failed to add domain!" -msgstr "Konnte Domäne nicht erstellen!" - -#: ../templates/initsuff.php:149 -msgid "Failed to create entry!" -msgstr "Konnte Eintrag nicht erstellen!" - -#: ../templates/domain.php:270 -msgid "Failed to modify domain!" -msgstr "Konnte Domäne nicht ändern!" - -#: ../lib/modules/inetOrgPerson.inc:60 ../lib/modules/inetOrgPerson.inc:183 -#: ../lib/modules/inetOrgPerson.inc:255 ../lib/modules/inetOrgPerson.inc:256 -#: ../lib/modules/inetOrgPerson.inc:441 ../lib/modules/inetOrgPerson.inc:472 -msgid "Fax number" -msgstr "Faxnummer" - -#: ../templates/tools.php:69 -msgid "File upload" -msgstr "Dateiupload" - -#: ../lib/modules/sambaAccount.inc:359 ../lib/modules/sambaSamAccount.inc:172 -#: ../help/help.inc:201 -#, php-format -msgid "" -"Filename and -path relative to netlogon-share which should be executed on " -"logon. $%s and $%s are replaced with user- and groupname." -msgstr "" -"Dateiname und -pfad relativ zur Netlogon-Freigabe des Scripts, das beim " -"Login ausgeführt wird. $%s und $%s werden mit Benutzer- und Gruppenname " -"ersetzt." - -#: ../lib/lists.inc:155 -msgid "Filter" -msgstr "Filtern" - -#: ../lib/modules/inetOrgPerson.inc:52 ../lib/modules/inetOrgPerson.inc:122 -#: ../lib/modules/inetOrgPerson.inc:223 ../lib/modules/inetOrgPerson.inc:409 -#: ../lib/modules/inetOrgPerson.inc:464 ../lib/lists.inc:182 -#: ../help/help.inc:184 -msgid "First name" -msgstr "Vorname" - -#: ../lib/modules/inetOrgPerson.inc:52 ../lib/modules/inetOrgPerson.inc:53 -msgid "First name contains invalid characters!" -msgstr "Vorname enthält ungültige Zeichen!" - -#: ../lib/modules/inetOrgPerson.inc:224 ../help/help.inc:185 -msgid "First name of user. Only letters, - and spaces are allowed." -msgstr "Vorname des Benutzers. Es sind nur Buchstaben, - und Leerzeichen erlaubt." - -#: ../lib/modules/posixGroup.inc:128 ../lib/modules/posixGroup.inc:295 -#: ../lib/modules/posixGroup.inc:325 ../lib/modules/posixGroup.inc:350 -#: ../lib/modules/posixGroup.inc:369 ../lib/modules/posixGroup.inc:400 -#: ../lib/modules/posixAccount.inc:41 ../lib/modules/posixAccount.inc:963 -#: ../lib/modules/sambaGroupMapping.inc:297 ../lib/lists.inc:179 -#: ../lib/lists.inc:199 ../lib/lists.inc:218 ../help/help.inc:150 -msgid "GID number" -msgstr "GID Nummer" - -#: ../lib/modules/posixGroup.inc:400 -msgid "" -"GID number has changed. Please select checkbox to change GID number of users " -"and hosts." -msgstr "" -"Die GID-Nummer wurde geändert. Bitte verwenden sie das Kontrollkästchen um " -"die GID-Nummer von Benutzern und Hosts anzupassen." - -#: ../lib/modules/posixAccount.inc:41 -#, php-format -msgid "" -"GID number has changed. To keep file ownership you have to run the following " -"command as root: 'find / -gid %s -uid %s -exec chgrp %s {} \\;'" -msgstr "" -"GID-Nummer hat sich geändert. Sie müssen folgenden Befehl als root " -"ausführen, um die Dateirechte zu ändern: 'find / -gid %s -uid %s -exec chgrp " -"%s {} \\;'" - -#: ../lib/modules/posixGroup.inc:407 -msgid "GID number has to be a numeric value!" -msgstr "GID-Nummer muss eine Zahl sein!" - -#: ../lib/modules/posixGroup.inc:251 -msgid "GID ranges for Unix groups" -msgstr "GID-Bereiche für Unix-Gruppen" - -#: ../lib/modules/account.inc:46 ../lib/modules/posixAccount.inc:223 -#: ../lib/modules/posixAccount.inc:255 ../lib/modules/posixAccount.inc:308 -#: ../lib/modules/posixAccount.inc:340 ../lib/modules/posixAccount.inc:821 -#: ../lib/modules/posixAccount.inc:964 ../lib/modules/inetOrgPerson.inc:215 -#: ../lib/modules/inetOrgPerson.inc:265 ../help/help.inc:142 -#: ../help/help.inc:152 ../help/help.inc:160 -msgid "Gecos" -msgstr "Gecos" - -#: ../lib/modules/posixGroup.inc:139 ../lib/modules/posixAccount.inc:844 -msgid "Generate password" -msgstr "Passwort generieren" - -#: ../lib/modules/quota.inc:80 ../lib/modules/quota.inc:295 -msgid "Grace block period" -msgstr "Block-Frist" - -#: ../lib/modules/quota.inc:81 -msgid "Grace block period. Most filesystems use a fixed maximum value of 7 days." -msgstr "Block-Frist. Viele Dateisysteme verwenden ein festes Maximum von 7 Tagen." - -#: ../lib/modules/quota.inc:97 -msgid "" -"Grace inode (files) period. Most filesystems use a fixed maximum value of 7 " -"days." -msgstr "Inode-Frist. Viele Dateisysteme verwenden ein festes Maximum von 7 Tagen." - -#: ../lib/modules/quota.inc:96 ../lib/modules/quota.inc:299 -msgid "Grace inode period" -msgstr "Inode-Frist" - -#: ../lib/modules/posixGroup.inc:301 ../lib/lists.inc:202 -msgid "Group description" -msgstr "Gruppenbeschreibung" - -#: ../lib/modules/posixGroup.inc:330 ../help/help.inc:153 -msgid "Group description. If left empty group name will be used." -msgstr "Gruppenbeschreibung. Falls leer wird der Gruppename verwendet." - -#: ../lib/pdf.inc:452 -msgid "Group information page" -msgstr "Gruppeninformationen" - -#: ../templates/config/confsave.php:131 -msgid "Group list attributes are invalid!" -msgstr "Attribute der Gruppenliste sind ungültig!" - -#: ../lib/lists.inc:201 -msgid "Group member DNs" -msgstr "DNs der Gruppenmitglieder" - -#: ../lib/modules/posixGroup.inc:134 ../lib/modules/posixGroup.inc:193 -#: ../lib/modules/posixGroup.inc:307 ../lib/modules/posixGroup.inc:333 -#: ../lib/modules/posixGroup.inc:337 ../lib/modules/posixGroup.inc:370 -#: ../lib/lists.inc:200 ../help/help.inc:172 ../help/help.inc:231 -msgid "Group members" -msgstr "Gruppenmitglieder" - -#: ../templates/config/confmodules.php:284 -#: ../templates/config/confmain.php:220 ../lib/config.inc:346 -msgid "Group modules" -msgstr "Gruppenmodule" - -#: ../lib/modules/posixGroup.inc:287 ../lib/lists.inc:198 -msgid "Group name" -msgstr "Gruppenname" - -#: ../lib/modules/posixGroup.inc:322 ../help/help.inc:149 -msgid "" -"Group name of the group which should be created. Valid characters are: a-z,0-" -"9, .-_. Lam does not allow a number as first character because groupadd also " -"does not allow it. Lam does not allow capital letters A-Z because it can " -"cause several problems. If groupname is already used groupname will be " -"expanded with a number. The next free number will be used." -msgstr "" -"Gruppenname der zu erstellenden Gruppe. Gültige Zeichen sind: a-z, 0-9 und .-" -"_. LAM erlaubt keine Zahlen als erstes Zeichen weil es groupadd auch nicht " -"erlaubt. Großbuchstaben am Anfang können Probleme verursachen und sind " -"ebenfalls nicht erlaubt. Sollte der Gruppenname schon in Verwendung sein " -"wird eine Zahl angehängt." - -#: ../lib/modules/posixGroup.inc:313 ../lib/modules/posixGroup.inc:341 -msgid "Group password" -msgstr "Gruppenpasswort" - -#: ../templates/profedit/profilemain.php:175 -msgid "Group profiles" -msgstr "Gruppenprofile" - -#: ../help/help.inc:180 -msgid "Group suffix" -msgstr "Gruppensuffix" - -#: ../lib/modules/sambaGroupMapping.inc:184 -msgid "Group type" -msgstr "Gruppentyp" - -#: ../templates/config/confmain.php:176 ../lib/config.inc:334 -msgid "GroupSuffix" -msgstr "Gruppensuffix" - -#: ../templates/config/confsave.php:111 -msgid "GroupSuffix is invalid!" -msgstr "GruppenSuffix ist ungültig!" - -#: ../lib/modules/posixGroup.inc:125 ../lib/modules/posixGroup.inc:321 -#: ../lib/modules/posixGroup.inc:368 ../lib/modules/posixGroup.inc:408 -#: ../lib/modules/posixGroup.inc:409 ../lib/modules/posixGroup.inc:410 -#: ../help/help.inc:148 -msgid "Groupname" -msgstr "Gruppenname" - -#: ../lib/modules/posixGroup.inc:410 ../lib/modules/posixGroup.inc:411 -msgid "" -"Groupname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ !" -msgstr "" -"Gruppenname enthält ungültige Zeichen. Gültige Zeichen sind: a-z, A-Z, 0-" -"9, ., - und _!" - -#: ../lib/modules/posixGroup.inc:409 -msgid "Groupname in use. Selected next free groupname." -msgstr "" -"Gruppenname wird bereits verwendet. Nächster freier Gruppenname wurde " -"ausgewählt." - -#: ../templates/ou_edit.php:372 ../templates/main_header.php:75 -#: ../help/help.inc:76 -msgid "Groups" -msgstr "Gruppen" - -#: ../lib/modules/sambaAccount.inc:574 ../lib/modules/sambaAccount.inc:774 -#: ../lib/modules/sambaAccount.inc:777 ../lib/modules/sambaSamAccount.inc:545 -#: ../lib/modules/sambaSamAccount.inc:755 -#: ../lib/modules/sambaSamAccount.inc:758 -msgid "Guest" -msgstr "Gast" - -#: ../lib/modules/quota.inc:400 -msgid "Hard block" -msgstr "hartes Block-Limit" - -#: ../lib/modules/quota.inc:76 ../lib/modules/quota.inc:77 -#: ../lib/modules/quota.inc:294 ../lib/modules/quota.inc:351 -msgid "Hard block limit" -msgstr "hartes Block-Limit" - -#: ../lib/modules/quota.inc:400 -msgid "Hard inode" -msgstr "hartes Inode-Limit" - -#: ../lib/modules/quota.inc:93 -msgid "Hard inode (files) limit" -msgstr "Hartes Inode-Limit (Datein)" - -#: ../lib/modules/quota.inc:92 ../lib/modules/quota.inc:298 -#: ../lib/modules/quota.inc:353 -msgid "Hard inode limit" -msgstr "hartes Inode-Limit" - -#: ../templates/pdfedit/pdfpage.php:495 -msgid "Headline" -msgstr "Überschrift" - -#: ../templates/pdfedit/pdfpage.php:468 -msgid "Height" -msgstr "Höhe" - -#: ../templates/ou_edit.php:352 ../templates/ou_edit.php:365 -#: ../templates/ou_edit.php:385 ../templates/ou_edit.php:398 -#: ../templates/ou_edit.php:418 ../templates/ou_edit.php:431 -#: ../templates/ou_edit.php:451 ../templates/ou_edit.php:464 -#: ../templates/domain.php:96 ../templates/domain.php:112 -#: ../templates/domain.php:123 ../templates/domain.php:131 -#: ../templates/domain.php:139 ../templates/domain.php:151 -#: ../templates/domain.php:169 ../templates/masscreate.php:149 -#: ../templates/masscreate.php:161 ../templates/masscreate.php:306 -#: ../templates/config/profmanage.php:180 -#: ../templates/config/profmanage.php:227 -#: ../templates/config/profmanage.php:252 -#: ../templates/config/profmanage.php:281 -#: ../templates/config/profmanage.php:324 -#: ../templates/config/profmanage.php:347 -#: ../templates/config/profmanage.php:375 ../templates/config/confmain.php:162 -#: ../templates/config/confmain.php:172 ../templates/config/confmain.php:178 -#: ../templates/config/confmain.php:184 ../templates/config/confmain.php:190 -#: ../templates/config/confmain.php:208 ../templates/config/confmain.php:224 -#: ../templates/config/confmain.php:288 ../templates/config/confmain.php:294 -#: ../templates/config/confmain.php:300 ../templates/config/confmain.php:317 -#: ../templates/config/confmain.php:358 ../templates/config/confmain.php:373 -#: ../templates/config/confmain.php:378 ../templates/config/confmain.php:392 -#: ../templates/config/confmain.php:402 ../templates/config/confmain.php:468 -#: ../templates/config/conflogin.php:126 ../templates/pdfedit/pdfpage.php:811 -#: ../templates/profedit/profilepage.php:90 -#: ../templates/profedit/profilepage.php:129 -#: ../templates/profedit/profilepage.php:166 ../lib/modules.inc:883 -msgid "Help" -msgstr "Hilfe" - -#: ../templates/masscreate.php:83 -msgid "Here you can create multiple accounts by providing a CSV file." -msgstr "" -"Hier können Sie mehrere Accounts mittels einer CSV-formatierten Datei " -"erstellen." - -#: ../lib/lists.inc:162 -msgid "Here you can input small filters (e.g. 'value' or 'v*')." -msgstr "Hier können Sie kleinere Filter angeben (z.B. 'wert' oder 'w*')." - -#: ../templates/tools.php:54 -msgid "Here you can manage your account profiles." -msgstr "Hier können Sie Ihre Accountprofile verwalten." - -#: ../help/help.inc:107 -msgid "Here you can select which plugins you want to use for account management." -msgstr "" -"Hier können Sie die Plugins wählen, die Sie zur Accountverwaltung verwenden " -"möchten." - -#: ../lib/modules/posixAccount.inc:331 ../help/help.inc:139 -msgid "Hold the CTRL-key to (de)select multiple groups." -msgstr "Halten Sie Strg gedrückt um mehrere Gruppen zu markieren." - -#: ../lib/modules/posixAccount.inc:36 ../lib/modules/posixAccount.inc:64 -#: ../lib/modules/posixAccount.inc:65 ../lib/modules/posixAccount.inc:194 -#: ../lib/modules/posixAccount.inc:316 ../lib/modules/posixAccount.inc:711 -#: ../lib/modules/posixAccount.inc:834 ../lib/modules/posixAccount.inc:930 -#: ../lib/modules/posixAccount.inc:967 ../lib/lists.inc:184 -#: ../help/help.inc:140 -msgid "Home directory" -msgstr "Heimatverzeichnis" - -#: ../lib/modules/posixAccount.inc:36 -#, php-format -msgid "" -"Home directory changed. To keep home directory you have to run the following " -"command as root: 'mv %s %s'" -msgstr "" -"Heimatverzeichnis wurde geändert. Sie müssen folgendes Kommando als root-" -"Benutzer ausführen um das alte Verzeichnis zu ändern: 'mv %s %s'" - -#: ../lib/modules/sambaAccount.inc:126 ../lib/modules/sambaAccount.inc:249 -#: ../lib/modules/sambaAccount.inc:347 ../lib/modules/sambaAccount.inc:736 -#: ../lib/modules/sambaAccount.inc:845 ../lib/modules/sambaSamAccount.inc:160 -#: ../lib/modules/sambaSamAccount.inc:263 -#: ../lib/modules/sambaSamAccount.inc:715 -#: ../lib/modules/sambaSamAccount.inc:853 -#: ../lib/modules/sambaSamAccount.inc:917 ../help/help.inc:198 -msgid "Home drive" -msgstr "Heimatlaufwerk" - -#: ../lib/modules/sambaAccount.inc:46 ../lib/modules/sambaAccount.inc:47 -#: ../lib/modules/sambaAccount.inc:132 ../lib/modules/sambaAccount.inc:255 -#: ../lib/modules/sambaAccount.inc:350 ../lib/modules/sambaAccount.inc:739 -#: ../lib/modules/sambaAccount.inc:844 ../lib/modules/sambaSamAccount.inc:44 -#: ../lib/modules/sambaSamAccount.inc:45 -#: ../lib/modules/sambaSamAccount.inc:163 -#: ../lib/modules/sambaSamAccount.inc:269 -#: ../lib/modules/sambaSamAccount.inc:718 -#: ../lib/modules/sambaSamAccount.inc:859 -#: ../lib/modules/sambaSamAccount.inc:916 ../help/help.inc:208 -msgid "Home path" -msgstr "Heimatverzeichnis" - -#: ../lib/modules/sambaAccount.inc:46 ../lib/modules/sambaSamAccount.inc:44 -#: ../lib/modules/sambaSamAccount.inc:46 -msgid "Home path is invalid." -msgstr "Heimatverzeichnis ist ungültig." - -#: ../lib/modules/posixAccount.inc:64 ../lib/modules/posixAccount.inc:66 -msgid "Homedirectory contains invalid characters." -msgstr "Heimatverzeichnis enthält ungültige Zeichen." - -#: ../lib/lists.inc:216 -msgid "Host description" -msgstr "Hostbeschreibung" - -#: ../lib/modules/account.inc:47 ../lib/modules/posixAccount.inc:341 -#: ../lib/modules/inetOrgPerson.inc:266 ../help/help.inc:161 -msgid "Host description. If left empty host name will be used." -msgstr "Hostbeschreibung. Falls leer wird der Hostname verwendet." - -#: ../lib/modules/account.inc:56 -msgid "Host list" -msgstr "Hostliste" - -#: ../templates/config/confsave.php:136 -msgid "Host list attributes are invalid!" -msgstr "Attribute der Hostliste sind ungültig!" - -#: ../templates/config/confmodules.php:387 -#: ../templates/config/confmain.php:221 ../lib/config.inc:347 -msgid "Host modules" -msgstr "Hostmodule" - -#: ../lib/modules/posixAccount.inc:234 ../lib/modules/posixAccount.inc:336 -#: ../lib/lists.inc:214 ../help/help.inc:154 -msgid "Host name" -msgstr "Hostname" - -#: ../lib/modules/posixAccount.inc:337 ../help/help.inc:155 -msgid "" -"Host name of the host which should be created. Valid characters are: a-z,0-" -"9, .-_$. Lam does not allow a number as first character because useradd also " -"does not allow it. Lam does not allow capital letters A-Z because it can " -"cause several problems. Hostnames are always ending with $. If last " -"character is not $ it will be added. If hostname is already used hostname " -"will be expanded with a number. The next free number will be used." -msgstr "" -"Hostname des zu erstellenden Hosts. Gültige Zeichen sind: a-z, 0-9 und .-_$. " -"LAM erlaubt keine Zahlen als erstes Zeichen weil es useradd auch nicht " -"erlaubt. Großbuchstaben am Anfang können Probleme verursachen und sind " -"ebenfalls nicht erlaubt. Sollte der Hostname schon in Verwendung sein wird " -"eine Zahl angehängt." - -#: ../templates/profedit/profilemain.php:218 -msgid "Host profiles" -msgstr "Hostprofile" - -#: ../lib/lists.inc:213 -msgid "Host username" -msgstr "Host Benutzername" - -#: ../templates/config/confmain.php:182 ../lib/config.inc:335 -msgid "HostSuffix" -msgstr "HostSuffix" - -#: ../templates/config/confsave.php:116 -msgid "HostSuffix is invalid!" -msgstr "Hostsuffix ist ungültig!" - -#: ../lib/modules/posixAccount.inc:78 ../lib/modules/posixAccount.inc:79 -#: ../lib/modules/posixAccount.inc:81 -msgid "Hostname" -msgstr "Hostname" - -#: ../lib/modules/posixAccount.inc:83 -msgid "" -"Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ !" -msgstr "" -"Hostname enthält ungültige Zeichen. Gültige Zeichen sind: a-z, A-Z, 0-9 " -"und .-_." - -#: ../lib/modules/posixAccount.inc:79 -msgid "" -"Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ ! Hostname must end with $ !" -msgstr "" -"Hostname enthält ungültige Zeichen. Gültige Zeichen sind: a-z, A-Z, 0-9 " -"und .-_! Hostname muss mit $ enden!" - -#: ../lib/modules/posixAccount.inc:81 -msgid "Hostname in use. Selected next free hostname." -msgstr "Hostname wird bereits verwendet. Nächster freier Hostname wurde ausgewählt." - -#: ../templates/main_header.php:77 ../lib/modules/posixAccount.inc:59 -#: ../lib/modules/posixAccount.inc:60 ../lib/modules/posixAccount.inc:62 -#: ../lib/modules/posixAccount.inc:132 ../help/help.inc:79 -msgid "Hosts" -msgstr "Hosts" - -#: ../lib/modules/posixGroup.inc:403 ../lib/modules/posixGroup.inc:534 -#: ../lib/modules/posixAccount.inc:69 ../lib/modules/posixAccount.inc:657 -msgid "ID is already in use" -msgstr "ID wird bereits verwendet" - -#: ../lib/modules/posixGroup.inc:401 ../lib/modules/posixGroup.inc:402 -#: ../lib/modules/posixGroup.inc:403 ../lib/modules/posixGroup.inc:530 -#: ../lib/modules/posixGroup.inc:534 ../lib/modules/posixAccount.inc:67 -#: ../lib/modules/posixAccount.inc:68 ../lib/modules/posixAccount.inc:69 -#: ../lib/modules/posixAccount.inc:653 ../lib/modules/posixAccount.inc:657 -msgid "ID-Number" -msgstr "ID-Nummer" - -#: ../templates/masscreate.php:145 ../templates/masscreate.php:157 -#: ../templates/masscreate.php:290 -msgid "Identifier" -msgstr "Bezeichner" - -#: ../help/help.inc:181 -msgid "" -"If a not yet existing group is defined in csv-file, a new group in the " -"selected group suffix will be created." -msgstr "" -"Wenn in der CSV-Datei eine Gruppe, die noch nicht existiert, vorkommt wird " -"sie im gewählten Gruppensuffix erstellt." - -#: ../help/help.inc:216 -msgid "" -"If a not yet existing group is defined in csv-file, a new group with the " -"selected group profile will be created." -msgstr "" -"Wenn in der CSV-Datei eine Gruppe, die noch nicht existiert, vorkommt wird " -"sie mit dem gewählten Gruppenprofil erstellt." - -#: ../lib/modules/sambaAccount.inc:319 ../lib/modules/sambaSamAccount.inc:132 -msgid "If checked Unix password will also be used as Samba password." -msgstr "Falls aktiviert wird das Unix-Passwort auch als Samba-Passwort verwendet." - -#: ../lib/modules/sambaAccount.inc:337 ../lib/modules/sambaSamAccount.inc:150 -#: ../help/help.inc:197 -msgid "If checked account will be deactivated. (Setting D-Flag)" -msgstr "Falls angekreuzt wird der Account deaktiviert. (D-Flag wird gesetzt)" - -#: ../lib/modules/posixGroup.inc:346 ../lib/modules/sambaAccount.inc:325 -#: ../lib/modules/sambaSamAccount.inc:138 ../lib/modules/posixAccount.inc:322 -#: ../help/help.inc:187 -msgid "If checked no password will be used." -msgstr "Falls angekreuzt wird kein Passwort verwendet." - -#: ../lib/modules/sambaAccount.inc:331 ../lib/modules/sambaSamAccount.inc:144 -#: ../help/help.inc:191 -msgid "If checked password does not expire. (Setting X-Flag)" -msgstr "Falls angekreuzt läuft das Passwort nicht aus. (X-Flag wird gesetzt)" - -#: ../help/help.inc:189 -msgid "If checked unix password will also be used as samba password." -msgstr "Falls aktiviert wird das Unix-Passwort auch als Samba-Passwort verwendet." - -#: ../lib/modules/posixGroup.inc:326 ../help/help.inc:151 -msgid "" -"If empty GID number will be generated automaticly depending on your " -"configuration settings." -msgstr "" -"Falls leer wird die GID-Nummer automatisch auf Basis Ihrer " -"Konfigurationseinstellungen generiert." - -#: ../lib/modules/posixAccount.inc:300 ../help/help.inc:137 -#: ../help/help.inc:157 -msgid "If empty UID number will be generated automaticly." -msgstr "Falls leer wird die UID-Nummer automatisch generiert." - -#: ../help/help.inc:179 -msgid "" -"If selected users will be added with OUs expanded with their primary group. " -"E.g. if a user is in group admin the user suffix will be ou=admin,+user " -"suffix." -msgstr "" -"Diese Option erweitert die OU der Benutzer um die primäre Gruppe. Wenn z.B. " -"ein Benutzer in der Gruppe Administratoren ist wird der Benutzersuffix " -"ou=Administratoren,+Benutzersuffix sein." - -#: ../lib/modules/sambaAccount.inc:322 ../lib/modules/sambaSamAccount.inc:135 -msgid "If set to \"true\" Unix password will also be used as Samba password." -msgstr "" -"Falls auf \"true\" gesetzt wird das Unix-Passwort auch als Samba-Passwort " -"verwendet." - -#: ../lib/modules/sambaAccount.inc:340 ../lib/modules/sambaSamAccount.inc:153 -msgid "If set to \"true\" account will be deactivated. (Setting D-Flag)" -msgstr "" -"Falls auf \"true\" gesetzt wird der Account deaktiviert. (D-Flag wird " -"gesetzt)" - -#: ../lib/modules/sambaAccount.inc:328 ../lib/modules/sambaSamAccount.inc:141 -msgid "If set to \"true\" no password will be used." -msgstr "Falls auf \"true\" gesetzt wird kein Passwort verwendet." - -#: ../lib/modules/sambaAccount.inc:334 ../lib/modules/sambaSamAccount.inc:147 -msgid "If set to \"true\" password does not expire. (Setting X-Flag)" -msgstr "" -"Falls auf \"true\" gesetzt läuft das Passwort nicht aus. (X-Flag wird " -"gesetzt)" - -#: ../help/help.inc:101 -msgid "If you want to change the current preferences password, please enter it here." -msgstr "Wenn Sie das aktuelle Profilpasswort ändern wollen, geben Sie es hier ein." - -#: ../help/help.inc:119 -msgid "" -"If you want to change your master configuration password, please enter it " -"here." -msgstr "Wenn Sie das aktuelle Hauptpasswort ändern wollen, geben Sie es hier ein." - -#: ../lib/modules/sambaAccount.inc:372 -msgid "" -"If you want to create domain administrators or other special users use this " -"option." -msgstr "" -"Wenn Sie Domänenadministratoren oder andere spezielle Benutzer anlegen " -"möchten verwenden Sie bitte diese Option." - -#: ../lib/modules/sambaAccount.inc:366 -#: ../lib/modules/sambaGroupMapping.inc:272 ../help/help.inc:226 -msgid "If you want to use a well known RID you can selcet a well known group." -msgstr "" -"Wenn Sie eine vordefinierte RID verwenden wollen, wählen Sie eine der " -"vordefinierten Gruppen." - -#: ../lib/modules/quota.inc:33 -msgid "Inode hard quota" -msgstr "hartes Inode-Quota" - -#: ../lib/modules/quota.inc:33 -msgid "" -"Inode hard quota contains invalid characters. Only natural numbers are " -"allowed." -msgstr "" -"Hartes Inode-Limit enthält ungültige Zeichen. Nur natürliche Zahlen sind " -"erlaubt." - -#: ../lib/modules/quota.inc:35 -msgid "Inode quota" -msgstr "Inode-Quota" - -#: ../lib/modules/quota.inc:32 -msgid "Inode soft quota" -msgstr "weiches Inode-Quota" - -#: ../lib/modules/quota.inc:32 -msgid "" -"Inode soft quota contains invalid characters. Only natural numbers are " -"allowed." -msgstr "" -"Weiches Inode-Limit enthält ungültige Zeichen. Nur natürliche Zahlen sind " -"erlaubt." - -#: ../lib/modules/quota.inc:35 -msgid "Inode soft quota must be smaller than inode hard quota." -msgstr "Das weiche Inode-Quota muss kleiner sein als das harte Inode-Quota." - -#: ../lib/modules/sambaAccount.inc:47 ../lib/modules/sambaAccount.inc:48 -#: ../lib/modules/sambaSamAccount.inc:45 -msgid "Inserted user- or groupname in HomePath." -msgstr "Benutzer- oder Gruppenname wurde in Heimatverzeichnis eingefügt." - -#: ../lib/modules/sambaAccount.inc:53 -msgid "Inserted user- or groupname in logon script." -msgstr "Benutzer- oder Gruppenname wurde in Anmeldescript eingefügt." - -#: ../lib/modules/sambaAccount.inc:50 ../lib/modules/sambaAccount.inc:51 -#: ../lib/modules/sambaSamAccount.inc:48 -msgid "Inserted user- or groupname in profilepath." -msgstr "Benutzer- oder Gruppenname wurde in Profilpfad eingefügt." - -#: ../lib/modules/sambaSamAccount.inc:51 -msgid "Inserted user- or groupname in scriptpath." -msgstr "Benutzer- oder Gruppenname wurde in Scriptpfad eingefügt." - -#: ../lib/modules/posixGroup.inc:148 ../lib/modules/posixAccount.inc:853 -msgid "Invalid password" -msgstr "Ungültiges Passwort" - -#: ../lib/status.inc:61 -msgid "Invalid/Missing Message type" -msgstr "Ungültiger/Fehlender Nachrichtentyp" - -#: ../lib/modules/posixGroup.inc:401 ../lib/modules/posixAccount.inc:68 -msgid "" -"It is possible that this ID-number is reused. This can cause several " -"problems because files with old permissions might still exist. To avoid this " -"warning set maxUID to a higher value." -msgstr "" -"Es ist möglich, dass die ID-Nummer wiederverwendet wird. Das kann einige " -"Probleme verursachen weil Dateien mit alten Zugriffsrechten existieren " -"können. Zur Vermeidung dieser Warnung können Sie die maximale UID-Nummer in " -"den Optionen erhöhen." - -#: ../lib/modules/sambaGroupMapping.inc:57 -msgid "Ivalid Account" -msgstr "Ungültiger Account" - -#: ../lib/modules/inetOrgPerson.inc:70 ../lib/modules/inetOrgPerson.inc:95 -#: ../lib/modules/inetOrgPerson.inc:141 ../lib/modules/inetOrgPerson.inc:219 -#: ../lib/modules/inetOrgPerson.inc:405 ../lib/modules/inetOrgPerson.inc:463 -msgid "Job title" -msgstr "Berufsbezeichnung" - -#: ../lib/modules/inetOrgPerson.inc:220 -msgid "Job title of user: President, department manager, ..." -msgstr "Berufsbezeichnung des Benutzers: Präsident, Abteilungsleiter, ..." - -#: ../lib/status.inc:60 -msgid "LAM Internal Error" -msgstr "LAM interner Fehler" - -#: ../templates/massBuildAccounts.php:188 -msgid "LAM has checked your input and is now ready to create the accounts." -msgstr "LAM hat Ihre Eingaben überprüft und kann die Accounts nun erstellen." - -#: ../lib/modules/posixGroup.inc:355 ../lib/modules/posixAccount.inc:296 -msgid "" -"LAM supports CRYPT, SHA, SSHA, MD5 and SMD5 to generate the hash value of " -"passwords. SSHA and CRYPT are the most common but CRYPT does not support " -"passwords greater than 8 letters. We do not recommend to use plain text " -"passwords." -msgstr "" -"LAM unterstützt die Verfahren CRYPT, SHA, SSHA, MD5 und SMD5 um die Passwort-" -"Hashes zu generieren. SSHA und CRYPT sind am weitesten verbreitet aber CRYPT " -"unterstützt maximal 8 Zeichen. Wir raten davon ab Klartextpasswörter zu " -"verwenden." - -#: ../templates/massDoUpload.php:82 -#, php-format -msgid "LAM was unable to create account %s! An LDAP error occured." -msgstr "LAM konnte den Account %s nicht anlegen! Ein LDAP-Fehler trat auf." - -#: ../lib/modules/sambaGroupMapping.inc:341 -msgid "LAM was unable to find a Samba 3 domain with this name!" -msgstr "LAM konnte keine Samba 3 Domäne mit diesem Namen finden!" - -#: ../lib/modules/sambaSamAccount.inc:69 -msgid "LAM was unable to find a domain with this name!" -msgstr "LAM konnte keine Domäne mit diesem Namen finden!" - -#: ../lib/modules/posixAccount.inc:84 -msgid "LAM was unable to find a group with this name!" -msgstr "LAM konnte keine Gruppe mit diesem Namen finden!" - -#: ../lib/modules/posixAccount.inc:1243 -#, php-format -msgid "LAM was unable to modify group memberships for group: %s" -msgstr "LAM konnte die Gruppenzugehörigkeiten für Gruppe %s nicht ändern." - -#: ../templates/config/confmodules.php:67 ../templates/config/confsave.php:74 -#: ../templates/config/confmain.php:145 -msgid "LDAP Account Manager Configuration" -msgstr "LDAP Account Manager Einstellungen" - -#: ../templates/config/confmain.php:281 -msgid "LDAP List settings" -msgstr "LDAP Listeneinstellungen" - -#: ../templates/lists/listhosts.php:193 ../templates/lists/listgroups.php:193 -#: ../templates/lists/listdomains.php:125 ../templates/lists/listusers.php:232 -msgid "LDAP Search failed! Please check your preferences." -msgstr "LDAP Suche fehlgeschlagen! Bitte überprüfen Sie die Einstellungen." - -#: ../templates/login.php:336 -msgid "LDAP error, server says:" -msgstr "LDAP-Fehler, der Server meldet:" - -#: ../lib/modules.inc:772 -msgid "LDAP operation successful." -msgstr "LDAP-Operation war erfolgreich." - -#: ../templates/login.php:247 -msgid "LDAP server" -msgstr "LDAP-Server" - -#: ../templates/lists/listhosts.php:179 ../templates/lists/listgroups.php:179 -#: ../templates/lists/listdomains.php:114 ../templates/lists/listusers.php:217 -msgid "LDAP sizelimit exceeded, not all entries are shown." -msgstr "" -"LDAP Größenbeschränkung überschritten, es werden nicht alle Einträge " -"angezeigt." - -#: ../templates/profedit/profilepage.php:85 -#: ../templates/profedit/profilepage.php:86 -msgid "LDAP suffix" -msgstr "LDAP-Suffix" - -#: ../templates/massDoUpload.php:117 -msgid "LDAP upload has finished" -msgstr "LDAP-Upload wurde beendet" - -#: ../templates/massDoUpload.php:66 -msgid "LDAP upload in progress. Please wait." -msgstr "LDAP-Upload läuft. Bitte warten." - -#: ../templates/config/confsave.php:147 -msgid "Language is not defined!" -msgstr "Sprache ist nicht definiert!" - -#: ../templates/config/confmain.php:323 -msgid "Language settings" -msgstr "Spacheinstellungen" - -#: ../lib/modules/inetOrgPerson.inc:54 ../lib/modules/inetOrgPerson.inc:128 -#: ../lib/modules/inetOrgPerson.inc:227 ../lib/modules/inetOrgPerson.inc:413 -#: ../lib/modules/inetOrgPerson.inc:465 ../lib/lists.inc:183 -#: ../help/help.inc:182 -msgid "Last name" -msgstr "Nachname" - -#: ../lib/modules/inetOrgPerson.inc:54 ../lib/modules/inetOrgPerson.inc:55 -msgid "Last name contains invalid characters!" -msgstr "Nachname enthält ungültige Zeichen!" - -#: ../lib/modules/inetOrgPerson.inc:228 ../help/help.inc:183 -msgid "Last name of user. Only letters, - and spaces are allowed." -msgstr "Nachname des Benutzers. Es sind nur Buchstaben, - und Leerzeichen erlaubt." - -#: ../lib/modules/shadowAccount.inc:331 -msgid "Last password change" -msgstr "Letzte Passwortänderung" - -#: ../templates/pdfedit/pdfpage.php:535 -msgid "Left" -msgstr "Links" - -#: ../help/help.inc:66 -msgid "List attributes" -msgstr "Attribute der Listen" - -#: ../help/help.inc:207 -msgid "" -"List of Samba workstations the user is allowed to login. Empty means every " -"workstation." -msgstr "" -"Liste der Samba-Arbeitsstationen, auf welchen sich der Benutzer anmelden " -"darf. Leer heißt jede Arbeitsstation." - -#: ../templates/config/confsave.php:101 -msgid "List of admin users is empty or invalid!" -msgstr "Liste der berechtigten Benutzer ist ungültig!" - -#: ../templates/config/confmain.php:390 ../lib/config.inc:344 -msgid "List of valid users" -msgstr "Liste der berechtigten Benutzer" - -#: ../lib/modules.inc:748 ../help/help.inc:176 -msgid "Load profile" -msgstr "Profil laden" - -#: ../lib/modules/sambaGroupMapping.inc:54 -msgid "Local Group" -msgstr "Lokale Gruppe" - -#: ../lib/modules/posixGroup.inc:151 ../lib/modules/posixAccount.inc:215 -#: ../lib/modules/posixAccount.inc:856 ../lib/modules/posixAccount.inc:942 -msgid "Lock password" -msgstr "Passwort deaktivieren" - -#: ../templates/login.php:229 ../templates/login.php:230 -#: ../templates/config/conflogin.php:68 ../help/help.inc:46 -msgid "Login" -msgstr "Login" - -#: ../lib/modules/posixAccount.inc:201 ../lib/modules/posixAccount.inc:326 -#: ../lib/modules/posixAccount.inc:860 ../lib/modules/posixAccount.inc:934 -#: ../lib/modules/posixAccount.inc:969 ../lib/lists.inc:185 -#: ../help/help.inc:144 -msgid "Login shell" -msgstr "Login Shell" - -#: ../templates/pdfedit/pdfpage.php:434 -msgid "Logo" -msgstr "Logo" - -#: ../lib/modules/sambaSamAccount.inc:188 -#: ../lib/modules/sambaSamAccount.inc:307 -msgid "Logon hours" -msgstr "Anmeldezeiten" - -#: ../lib/modules/sambaAccount.inc:52 ../lib/modules/sambaAccount.inc:53 -#: ../lib/modules/sambaAccount.inc:144 ../lib/modules/sambaAccount.inc:267 -#: ../lib/modules/sambaAccount.inc:358 ../lib/modules/sambaAccount.inc:745 -#: ../lib/modules/sambaAccount.inc:846 ../lib/modules/sambaSamAccount.inc:171 -#: ../lib/modules/sambaSamAccount.inc:281 -#: ../lib/modules/sambaSamAccount.inc:724 -#: ../lib/modules/sambaSamAccount.inc:871 -#: ../lib/modules/sambaSamAccount.inc:918 -msgid "Logon script" -msgstr "Anmeldeskript" - -#: ../lib/modules/sambaAccount.inc:52 ../lib/modules/sambaAccount.inc:54 -#: ../lib/modules/sambaSamAccount.inc:52 -msgid "Logon script is invalid!" -msgstr "Anmeldeskript ist ungültig!" - -#: ../templates/main_header.php:63 ../templates/logout.php:60 -msgid "Logout" -msgstr "Abmelden" - -#: ../lib/modules/ieee802device.inc:50 ../lib/modules/ieee802device.inc:56 -#: ../lib/modules/ieee802device.inc:67 ../lib/modules/ieee802device.inc:142 -msgid "MAC address" -msgstr "MAC-Adresse" - -#: ../lib/modules/ieee802device.inc:60 ../lib/modules/ieee802device.inc:255 -msgid "MAC address list" -msgstr "Liste von MAC-Adressen" - -#: ../lib/modules.inc:693 ../lib/modules.inc:710 -msgid "Main" -msgstr "Allgemein" - -#: ../templates/config/conflogin.php:134 -msgid "Manage profiles" -msgstr "Profile verwalten" - -#: ../templates/tools.php:77 -msgid "Manages OU objects in your LDAP tree." -msgstr "Verwaltet OU-Objekte im LDAP-Baum." - -#: ../templates/tools.php:62 -msgid "Manages Samba 3 domain accounts." -msgstr "Verwaltet Samba 3 Domänen." - -#: ../templates/pdfedit/pdfpage.php:508 -msgid "Margin" -msgstr "Abstand" - -#: ../templates/config/profmanage.php:368 -msgid "Master Password:" -msgstr "Hauptpasswort:" - -#: ../help/help.inc:120 -msgid "Master password" -msgstr "Hauptpasswort" - -#: ../templates/config/profmanage.php:68 -msgid "Master password is wrong!" -msgstr "Hauptpasswort ist falsch!" - -#: ../templates/config/profmanage.php:128 -msgid "Master passwords are different or empty!" -msgstr "Die Passwörter stimmen nicht überein!" - -#: ../templates/config/confsave.php:141 -msgid "Max list entries is invalid!" -msgstr "Maximale Listeneinträge ist ungültig!" - -#: ../templates/pdfedit/pdfpage.php:479 -msgid "Maximize with correct ratio" -msgstr "Größe maximieren (Seitenverhältnis bleibt gleich)" - -#: ../lib/modules/posixGroup.inc:237 ../lib/modules/posixGroup.inc:405 -#: ../lib/modules/posixGroup.inc:406 -msgid "Maximum GID number" -msgstr "Maximale GID-Nummer" - -#: ../lib/modules/posixGroup.inc:254 -msgid "Maximum GID number for Unix groups" -msgstr "Maximale GID-Nummer für Unix-Gruppen" - -#: ../lib/modules/posixGroup.inc:405 -msgid "Maximum GID number is invalid or empty!" -msgstr "Maximale GID-Nummer ist ungültig oder leer!" - -#: ../lib/modules/posixGroup.inc:406 -msgid "Maximum GID number must be greater than minimum GID number!" -msgstr "Die maximale GID-Nummer muss größer sein als die minimale GID-Nummer!" - -#: ../lib/modules/posixAccount.inc:58 ../lib/modules/posixAccount.inc:60 -#: ../lib/modules/posixAccount.inc:61 ../lib/modules/posixAccount.inc:62 -#: ../lib/modules/posixAccount.inc:126 ../lib/modules/posixAccount.inc:135 -msgid "Maximum UID number" -msgstr "Maximale UID-Nummer" - -#: ../lib/modules/posixAccount.inc:156 -msgid "Maximum UID number for Unix accounts (hosts)" -msgstr "Maximale UID-Nummer für Unix-Accounts (Hosts)" - -#: ../lib/modules/posixAccount.inc:154 -msgid "Maximum UID number for Unix accounts (users)" -msgstr "Maximale UID-Nummer für Unix-Accounts (Benutzer)" - -#: ../lib/modules/posixAccount.inc:58 ../lib/modules/posixAccount.inc:60 -msgid "Maximum UID number is invalid!" -msgstr "Maximale UID-Nummer ist ungültig!" - -#: ../lib/modules/posixAccount.inc:61 ../lib/modules/posixAccount.inc:62 -msgid "Maximum UID number must be greater than minimum UID number!" -msgstr "Die maximale UID-Nummer muss größer sein als die minimale UID-Nummer!" - -#: ../templates/config/confmain.php:307 ../lib/config.inc:340 -#: ../help/help.inc:86 -msgid "Maximum list entries" -msgstr "Maximale Listeneinträge" - -#: ../lib/modules/shadowAccount.inc:88 ../lib/modules/shadowAccount.inc:151 -#: ../lib/modules/shadowAccount.inc:181 ../lib/modules/shadowAccount.inc:303 -#: ../help/help.inc:166 -msgid "Maximum password age" -msgstr "Maximales Passwortalter" - -#: ../lib/modules/inetOrgPerson.inc:130 -msgid "Miller" -msgstr "Müller" - -#: ../lib/modules/posixGroup.inc:234 ../lib/modules/posixGroup.inc:404 -msgid "Minimum GID number" -msgstr "Minimale GID-Nummer" - -#: ../lib/modules/posixGroup.inc:253 -msgid "Minimum GID number for Unix groups" -msgstr "Minimale GID-Nummer für Unix-Gruppen" - -#: ../lib/modules/posixGroup.inc:404 -msgid "Minimum GID number is invalid or empty!" -msgstr "Minimale GID-Nummer ist ungültig oder leer!" - -#: ../lib/modules/posixAccount.inc:57 ../lib/modules/posixAccount.inc:59 -#: ../lib/modules/posixAccount.inc:123 ../lib/modules/posixAccount.inc:132 -msgid "Minimum UID number" -msgstr "Minimale UID-Nummer" - -#: ../lib/modules/posixAccount.inc:155 -msgid "Minimum UID number for Unix accounts (hosts)" -msgstr "Minimale UID-Nummer für Unix-Accounts (Hosts)" - -#: ../lib/modules/posixAccount.inc:153 -msgid "Minimum UID number for Unix accounts (users)" -msgstr "Minimale UID-Nummer für Unix-Accounts (Benutzer)" - -#: ../lib/modules/posixAccount.inc:57 ../lib/modules/posixAccount.inc:59 -msgid "Minimum UID number is invalid!" -msgstr "Minimale UID-Nummer ist ungültig!" - -#: ../lib/modules/shadowAccount.inc:83 ../lib/modules/shadowAccount.inc:147 -#: ../lib/modules/shadowAccount.inc:175 ../lib/modules/shadowAccount.inc:300 -#: ../help/help.inc:168 -msgid "Minimum password age" -msgstr "Minimales Passwortalter" - -#: ../lib/modules/inetOrgPerson.inc:58 ../lib/modules/inetOrgPerson.inc:177 -#: ../lib/modules/inetOrgPerson.inc:251 ../lib/modules/inetOrgPerson.inc:252 -#: ../lib/modules/inetOrgPerson.inc:437 ../lib/modules/inetOrgPerson.inc:471 -msgid "Mobile number" -msgstr "Mobil" - -#: ../lib/modules.inc:672 ../lib/modules.inc:759 -msgid "Modify Account" -msgstr "Account ändern" - -#: ../templates/config/confmodules.php:75 -msgid "Module selection" -msgstr "Modulauswahl" - -#: ../lib/config.inc:348 -msgid "Module settings" -msgstr "Moduleinstellungen" - -#: ../lib/modules/quota.inc:64 ../lib/modules/quota.inc:291 -#: ../lib/modules/quota.inc:349 ../lib/modules/quota.inc:400 -msgid "Mountpoint" -msgstr "Mountpunkt" - -#: ../lib/modules/quota.inc:65 -msgid "Mountpoint of device with enabled quotas." -msgstr "Mountpunkt des Dateisystems mit aktivierten Quota." - -#: ../lib/modules/inetOrgPerson.inc:167 -msgid "Mycity" -msgstr "Stadt" - -#: ../lib/modules/inetOrgPerson.inc:155 -msgid "Mystreetname 42" -msgstr "Musterstraße 42" - -#: ../templates/pdfedit/pdfdelete.php:56 ../templates/pdfedit/pdfdelete.php:59 -#: ../templates/pdfedit/pdfdelete.php:78 -msgid "Name" -msgstr "Name" - -#: ../help/help.inc:128 -msgid "" -"Name under which the profile will be saved. If a profile with the same name " -"exists, it will be overwritten." -msgstr "" -"Name, unter dem das Profil gespeichert wird. Falls ein Profil mit diesem " -"Namen existiert wird es überschrieben." - -#: ../templates/lists/listdomains.php:213 -msgid "New Domain" -msgstr "Neue Domäne" - -#: ../templates/lists/listgroups.php:306 -msgid "New Group" -msgstr "Neue Gruppe" - -#: ../templates/lists/listhosts.php:291 -msgid "New Host" -msgstr "Neuer Host" - -#: ../lib/modules/ieee802device.inc:149 -msgid "New MAC address" -msgstr "Neue MAC-Adresse" - -#: ../templates/ou_edit.php:52 ../templates/ou_edit.php:117 -#: ../templates/ou_edit.php:182 ../templates/ou_edit.php:247 -msgid "New OU created successfully." -msgstr "Neue OU erfolgreich erstellt." - -#: ../templates/config/confmain.php:399 -msgid "New Password" -msgstr "Neues Passwort" - -#: ../templates/config/profmanage.php:135 -msgid "New default profile set successfully." -msgstr "Neues Standardprofil wurde erfolgreich gesetzt." - -#: ../templates/config/profmanage.php:343 -msgid "New master password" -msgstr "Neues Hauptpasswort" - -#: ../templates/config/profmanage.php:126 -msgid "New master password set successfully." -msgstr "Neues Hauptpasswort wurde erfolgreich gesetzt." - -#: ../templates/ou_edit.php:344 ../templates/ou_edit.php:377 -#: ../templates/ou_edit.php:410 ../templates/ou_edit.php:443 -#: ../help/help.inc:236 -msgid "New organizational unit" -msgstr "Neue Organizational Unit" - -#: ../templates/config/profmanage.php:116 -msgid "New password set successfully." -msgstr "Neues Passwort wurde erfolgreich gesetzt." - -#: ../lib/modules.inc:617 -msgid "New profile created." -msgstr "Neues Profil wurde erstellt." - -#: ../templates/lists/listusers.php:354 -msgid "New user" -msgstr "Neuer Benutzer" - -#: ../templates/domain.php:135 ../help/help.inc:250 -msgid "Next Group RID" -msgstr "Nächste Gruppen-RID" - -#: ../templates/domain.php:119 ../help/help.inc:246 -msgid "Next RID" -msgstr "Nächste RID" - -#: ../templates/domain.php:249 -msgid "Next RID is not a number!" -msgstr "Nächste RID ist keine Zahl!" - -#: ../help/help.inc:247 -msgid "Next RID to use when creating accounts." -msgstr "Nächste RID für neue Accounts." - -#: ../help/help.inc:251 -msgid "Next RID to use when creating groups." -msgstr "Nächste RID für neue Gruppen." - -#: ../help/help.inc:249 -msgid "Next RID to use when creating user accounts." -msgstr "Nächste RID für neue Benutzer." - -#: ../templates/domain.php:127 ../help/help.inc:248 -msgid "Next User RID" -msgstr "Nächste Benutzer-RID" - -#: ../templates/domain.php:251 -msgid "Next group RID is not a number!" -msgstr "Nächste Gruppen-RID ist keine Zahl!" - -#: ../templates/domain.php:250 -msgid "Next user RID is not a number!" -msgstr "Nächste Benutzer-RID ist keine Zahl!" - -#: ../templates/lists/listgroups.php:184 ../templates/lists/listgroups.php:193 -#: ../templates/lists/listgroups.php:197 -msgid "No Groups found!" -msgstr "Keine Gruppen gefunden!" - -#: ../templates/lists/listdomains.php:119 -#: ../templates/lists/listdomains.php:125 -#: ../templates/lists/listdomains.php:129 -msgid "No Samba Domains found!" -msgstr "Keine Samba Domänen gefunden!" - -#: ../templates/lists/listhosts.php:184 ../templates/lists/listhosts.php:193 -#: ../templates/lists/listhosts.php:197 -msgid "No Samba Hosts found!" -msgstr "Keine Samba Hosts gefunden!" - -#: ../templates/lists/listusers.php:222 ../templates/lists/listusers.php:233 -msgid "No Users found!" -msgstr "Keine Benutzer gefunden!" - -#: ../templates/config/confmodules.php:274 -#: ../templates/config/confmodules.php:377 -#: ../templates/config/confmodules.php:480 -msgid "No base module selected!" -msgstr "Es wurde kein Basismodul gewählt!" - -#: ../templates/initsuff.php:165 -msgid "No changes were made." -msgstr "Keine Änderungen vorgenommen." - -#: ../templates/config/conflogin.php:93 -msgid "No configuration profiles found. Please create one." -msgstr "Keine Konfigurationsprofile gefunden, bitte erstellen Sie eines." - -#: ../lib/modules/posixGroup.inc:402 ../lib/modules/posixAccount.inc:67 -msgid "No free ID-Number!" -msgstr "Keine ID-Nummer mehr frei!" - -#: ../lib/modules/posixAccount.inc:359 -msgid "No groups found in ldap." -msgstr "Keine Gruppen gefunden!" - -#: ../templates/pdfedit/pdfpage.php:409 -msgid "No logo" -msgstr "Kein Logo" - -#: ../templates/config/confmain.php:96 -msgid "No password was entered!" -msgstr "Passwort leer!" - -#: ../lib/modules.inc:614 -msgid "No profilename given." -msgstr "Kein Profilname angegeben." - -#: ../templates/pdfedit/pdfpage.php:73 -msgid "No section text specified" -msgstr "Kein Abschnittsname angegeben" - -#: ../templates/pdfedit/pdfpage.php:77 -msgid "No static text specified" -msgstr "Kein statischer Text angegeben" - -#: ../help/help.inc:57 -msgid "Note" -msgstr "Hinweis" - -#: ../lib/modules/shadowAccount.inc:144 ../help/help.inc:165 -msgid "Number of days a user can login even his password has expired. -1=always." -msgstr "" -"Anzahl der Tage, in denen sich ein Benutzer anmelden kann, obwohl sein " -"Passwort bereits abgelaufen ist. -1 = immer." - -#: ../lib/modules/shadowAccount.inc:148 ../help/help.inc:169 -msgid "" -"Number of days a user has to wait until he\\'s allowed to change his " -"password again. If set value must be 0<." -msgstr "" -"Anzahl Tage, die ein Benutzer warten muss bevor er sein Passwort ändern " -"darf. Wert muss >0 sein." - -#: ../lib/modules/shadowAccount.inc:152 ../help/help.inc:167 -msgid "" -"Number of days after a user has to change his password again. If set value " -"must be 0<." -msgstr "" -"Anzahl Tage, nach denen der Benutzer sein Passwort ändern muss. Wert muss >0 " -"sein." - -#: ../templates/ou_edit.php:58 ../templates/ou_edit.php:123 -#: ../templates/ou_edit.php:188 ../templates/ou_edit.php:253 -msgid "OU already exists!" -msgstr "OU besteht schon!" - -#: ../templates/ou_edit.php:69 ../templates/ou_edit.php:134 -#: ../templates/ou_edit.php:199 ../templates/ou_edit.php:264 -msgid "OU deleted successfully." -msgstr "OU erfolgreich gelöscht." - -#: ../templates/tools.php:76 -msgid "OU editor" -msgstr "OU-Editor" - -#: ../templates/ou_edit.php:62 ../templates/ou_edit.php:127 -#: ../templates/ou_edit.php:192 ../templates/ou_edit.php:257 -msgid "OU is invalid!" -msgstr "OU ist ungültig!" - -#: ../templates/ou_edit.php:99 ../templates/ou_edit.php:164 -#: ../templates/ou_edit.php:229 ../templates/ou_edit.php:294 -msgid "OU is not empty or invalid!" -msgstr "OU ist nicht leer oder ungültig!" - -#: ../help/help.inc:236 ../help/help.inc:238 -msgid "OU-Editor" -msgstr "OU-Editor" - -#: ../lib/cache.inc:79 ../lib/modules.inc:913 ../lib/modules.inc:951 -#: ../lib/modules.inc:1050 -#, php-format -msgid "ObjectClass %s required but not defined in LDAP." -msgstr "Objektklasse %s wird benötigt, wurde aber nicht in LDAP gefunden." - -#: ../templates/config/conflogin.php:123 ../templates/config/conflogin.php:124 -msgid "Ok" -msgstr "Ok" - -#: ../templates/tools.php:83 -msgid "PDF editor" -msgstr "PDF-Editor" - -#: ../templates/lists/listhosts.php:296 ../templates/lists/listgroups.php:311 -#: ../templates/lists/listusers.php:359 ../templates/pdfedit/pdfpage.php:573 -msgid "PDF structure" -msgstr "PDF-Struktur" - -#: ../templates/pdfedit/pdfmain.php:101 -msgid "PDF structures" -msgstr "PDF-Strukturen" - -#: ../templates/pdfedit/pdfpage.php:61 -msgid "PDF-structure name not valid" -msgstr "PDF-Strukturname ist nicht gültig" - -#: ../templates/pdfedit/pdfpage.php:429 -msgid "Page settings" -msgstr "Seiteneinstellungen" - -#: ../templates/login.php:178 ../lib/modules/posixGroup.inc:137 -#: ../lib/modules/posixGroup.inc:397 ../lib/modules/posixGroup.inc:398 -#: ../lib/modules/posixGroup.inc:399 ../lib/modules/sambaAccount.inc:59 -#: ../lib/modules/sambaAccount.inc:60 ../lib/modules/sambaAccount.inc:197 -#: ../lib/modules/sambaSamAccount.inc:55 ../lib/modules/sambaSamAccount.inc:56 -#: ../lib/modules/sambaSamAccount.inc:211 ../lib/modules/posixAccount.inc:71 -#: ../lib/modules/posixAccount.inc:72 ../lib/modules/posixAccount.inc:73 -#: ../lib/modules/posixAccount.inc:209 ../lib/modules/posixAccount.inc:842 -#: ../lib/modules/posixAccount.inc:968 -msgid "Password" -msgstr "Passwort" - -#: ../templates/config/confsave.php:240 -msgid "Password changed!" -msgstr "Passwort geändert!" - -#: ../lib/modules/posixGroup.inc:398 ../lib/modules/sambaAccount.inc:60 -#: ../lib/modules/sambaAccount.inc:61 ../lib/modules/sambaSamAccount.inc:56 -#: ../lib/modules/sambaSamAccount.inc:57 ../lib/modules/posixAccount.inc:72 -#: ../lib/modules/posixAccount.inc:74 -msgid "" -"Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and #*,.;:_-+!$%&/|?{[()]}= !" -msgstr "" -"Passwort enthält ungültige Zeichen. Gültige Zeichen sind: a-z, A-Z, 0-9 und " -"#*,.;:_-+!$%&/|?{[()]}= !" - -#: ../lib/modules/sambaAccount.inc:112 ../lib/modules/sambaAccount.inc:219 -#: ../lib/modules/sambaAccount.inc:330 ../lib/modules/sambaAccount.inc:333 -#: ../lib/modules/sambaAccount.inc:708 ../lib/modules/sambaSamAccount.inc:143 -#: ../lib/modules/sambaSamAccount.inc:146 -#: ../lib/modules/sambaSamAccount.inc:233 -#: ../lib/modules/sambaSamAccount.inc:687 -#: ../lib/modules/sambaSamAccount.inc:839 ../help/help.inc:190 -msgid "Password does not expire" -msgstr "Passwort läuft nicht ab" - -#: ../lib/modules/shadowAccount.inc:43 ../lib/modules/shadowAccount.inc:78 -#: ../lib/modules/shadowAccount.inc:143 ../lib/modules/shadowAccount.inc:169 -#: ../lib/modules/shadowAccount.inc:297 ../lib/modules/shadowAccount.inc:334 -msgid "Password expiration" -msgstr "Passwortablauf" - -#: ../lib/modules/shadowAccount.inc:43 ../lib/modules/shadowAccount.inc:44 -msgid "Password expiration must be are natural number or -1." -msgstr "Passwortablauf muss eine natürliche Zahl oder -1 sein." - -#: ../help/help.inc:164 -msgid "Password expire" -msgstr "Passwortablauf" - -#: ../lib/modules/posixGroup.inc:241 ../lib/modules/posixGroup.inc:354 -#: ../lib/modules/posixAccount.inc:141 ../lib/modules/posixAccount.inc:295 -msgid "Password hash type" -msgstr "Passwort-Hash" - -#: ../lib/modules/posixAccount.inc:157 -msgid "Password hash type for Unix accounts" -msgstr "Passwort-Hashtyp für Unix-Accounts" - -#: ../lib/modules/posixGroup.inc:255 -msgid "Password hash type for Unix groups" -msgstr "Passwort-Hashtyp für Unix-Gruppen" - -#: ../lib/modules/shadowAccount.inc:41 ../lib/modules/shadowAccount.inc:47 -msgid "Password maxage" -msgstr "Maximales Passwortalter" - -#: ../lib/modules/shadowAccount.inc:41 ../lib/modules/shadowAccount.inc:42 -msgid "Password maximum age must be are natural number." -msgstr "Maximales Passwortalter muss eine natürliche Zahl sein." - -#: ../lib/modules/shadowAccount.inc:47 ../lib/modules/shadowAccount.inc:48 -msgid "Password maximum age must be bigger as password minimum age." -msgstr "Maximales Passwortalter muss größer als minimales Passwortalter sein." - -#: ../lib/modules/shadowAccount.inc:39 -msgid "Password minage" -msgstr "Minimales Passwortalter" - -#: ../lib/modules/shadowAccount.inc:39 ../lib/modules/shadowAccount.inc:40 -msgid "Password minimum age must be are natural number." -msgstr "Minimales Passwortalter muss eine natürliche Zahl sein." - -#: ../help/help.inc:162 -msgid "Password warn" -msgstr "Passwortwarnung" - -#: ../lib/modules/shadowAccount.inc:45 ../lib/modules/shadowAccount.inc:73 -#: ../lib/modules/shadowAccount.inc:139 ../lib/modules/shadowAccount.inc:163 -#: ../lib/modules/shadowAccount.inc:294 ../lib/modules/shadowAccount.inc:332 -msgid "Password warning" -msgstr "Passwortwarnung" - -#: ../lib/modules/shadowAccount.inc:45 ../lib/modules/shadowAccount.inc:46 -msgid "Password warning must be are natural number." -msgstr "Passwortwarnung muss eine natürliche Zahl sein." - -#: ../templates/config/confsave.php:234 -msgid "Passwords are different!" -msgstr "Die Passwörter stimmen nicht überein!" - -#: ../lib/modules/sambaAccount.inc:355 ../lib/modules/sambaSamAccount.inc:168 -#: ../help/help.inc:204 -#, php-format -msgid "" -"Path of the user profile. Can be a local absolute path or a UNC-path (\\" -"\\server\\share). $%s and $%s are replaced with user- and groupname." -msgstr "" -"Pfad zum Benutzerprofil. Kann ein lokaler Pfad oder UNC-Pfad (\\\\Server" -"\\Freigabe) sein. $%s und $%s werden durch Benutzer- und Gruppenname ersetzt." - -#: ../templates/config/confmain.php:375 ../lib/config.inc:342 -msgid "Path to external script" -msgstr "Pfad zum externen Script" - -#: ../lib/modules/inetOrgPerson.inc:87 -msgid "Personal" -msgstr "Persönlich" - -#: ../templates/delete.php:80 -msgid "Please confirm:" -msgstr "Bitte bestätigen:" - -#: ../lib/modules/sambaSamAccount.inc:60 -msgid "Please enter a RID number or the name of a special account!" -msgstr "Bitte geben Sie eine RID-Nummer oder den Namen eines Spezialaccounts ein!" - -#: ../lib/modules/sambaAccount.inc:55 ../lib/modules/sambaAccount.inc:56 -#: ../lib/modules/sambaSamAccount.inc:53 ../lib/modules/sambaSamAccount.inc:54 -msgid "Please enter a comma separated list of host names!" -msgstr "Bitte geben Sie eine Liste von Hostnamen, getrennt durch Kommata, ein!" - -#: ../lib/modules/inetOrgPerson.inc:74 -msgid "Please enter a valid common name!" -msgstr "Bitte geben Sie einen gültigen allgemeinen Namen ein!" - -#: ../lib/modules/sambaAccount.inc:69 ../lib/modules/sambaAccount.inc:70 -#: ../lib/modules/sambaSamAccount.inc:66 ../lib/modules/sambaSamAccount.inc:67 -msgid "Please enter a valid date in format DD-MM-YYYY." -msgstr "Bitte geben Sie ein gültiges Datum im Format TT-MM-JJJJ ein." - -#: ../lib/modules/sambaAccount.inc:64 ../lib/modules/sambaSamAccount.inc:61 -msgid "Please enter a valid display name!" -msgstr "Bitte geben Sie einen gültigen Anzeigenamen ein!" - -#: ../lib/modules/sambaAccount.inc:71 ../lib/modules/sambaSamAccount.inc:68 -msgid "Please enter a valid drive letter." -msgstr "Bitte geben Sie einen gültigen Laufwerksbuchstaben ein." - -#: ../lib/modules/inetOrgPerson.inc:62 ../lib/modules/inetOrgPerson.inc:63 -msgid "Please enter a valid eMail address!" -msgstr "Bitte geben Sie eine gültige e-mail Adresse ein!" - -#: ../lib/modules/inetOrgPerson.inc:72 ../lib/modules/inetOrgPerson.inc:73 -msgid "Please enter a valid employee type!" -msgstr "Bitte geben Sie einen gültigen Angestelltentyp ein!" - -#: ../lib/modules/inetOrgPerson.inc:60 ../lib/modules/inetOrgPerson.inc:61 -msgid "Please enter a valid fax number!" -msgstr "Bitte geben Sie eine gültige Faxnummer ein!" - -#: ../lib/modules/sambaAccount.inc:72 -msgid "Please enter a valid group RID." -msgstr "Bitte geben Sie eine gültige Gruppen-RID ein." - -#: ../lib/modules/inetOrgPerson.inc:70 ../lib/modules/inetOrgPerson.inc:71 -msgid "Please enter a valid job title!" -msgstr "Bitte geben Sie eine gültige Berufsbezeichnung ein!" - -#: ../lib/modules/inetOrgPerson.inc:58 ../lib/modules/inetOrgPerson.inc:59 -msgid "Please enter a valid mobile number!" -msgstr "Bitte geben Sie eine gültige Mobiltelefonnummer ein!" - -#: ../lib/modules/inetOrgPerson.inc:66 ../lib/modules/inetOrgPerson.inc:67 -msgid "Please enter a valid postal address!" -msgstr "Bitte geben Sie eine gültige Anschrift ein!" - -#: ../lib/modules/inetOrgPerson.inc:68 ../lib/modules/inetOrgPerson.inc:69 -msgid "Please enter a valid postal code!" -msgstr "Bitte geben Sie eine gültige Postleitzahl ein!" - -#: ../lib/modules/sambaAccount.inc:73 -msgid "Please enter a valid special user name." -msgstr "Bitte geben Sie den Namen eines gültigen Spezialaccounts ein." - -#: ../lib/modules/inetOrgPerson.inc:64 ../lib/modules/inetOrgPerson.inc:65 -msgid "Please enter a valid street name!" -msgstr "Bitte geben Sie einen gültigen Straßennamen ein!" - -#: ../lib/modules/inetOrgPerson.inc:56 ../lib/modules/inetOrgPerson.inc:57 -msgid "Please enter a valid telephone number!" -msgstr "Bitte geben Sie eine gültige Telefonnummer ein!" - -#: ../lib/modules/posixGroup.inc:530 ../lib/modules/posixAccount.inc:653 -#, php-format -msgid "Please enter a value between %s and %s!" -msgstr "Bitte geben Sie einen Wert zwischen %s und %s ein!" - -#: ../templates/config/conflogin.php:87 -msgid "Please enter password to change preferences:" -msgstr "Bitte Profilpasswort eingeben:" - -#: ../help/help.inc:47 -msgid "" -"Please enter the configuration password. This is NOT your LDAP password. It " -"is stored in your .conf-file. If this is the first time you log in, enter " -"\"lam\"." -msgstr "" -"Bitte geben Sie das Konfigurationspasswort ein. Das ist NICHT ihr LDAP-" -"Passwort. Es befindet sich in ihrer .conf-Datei. Wenn Sie sich zum ersten " -"Mal anmelden geben Sie \"lam\" ein." - -#: ../help/help.inc:121 -msgid "" -"Please enter the master configuration password. This is NOT your LDAP " -"password. It is stored in your config.cfg file. If this is the first time " -"you log in, enter \"lam\"." -msgstr "" -"Bitte geben Sie das Hauptpasswort ein. Das ist NICHT ihr LDAP-Passwort. Es " -"befindet sich in ihrer config.cfg-Datei. Wenn Sie sich zum ersten Mal " -"anmelden geben Sie \"lam\" ein." - -#: ../help/help.inc:109 -msgid "" -"Please enter the name of the new profile and the password to change its " -"settings. Profile names may contain letters, numbers and -/_." -msgstr "" -"Bitte geben Sie den Namen des neuen Profils und das Passwort an um es zu " -"erstellen. Profilnamen dürfen Buchstaben, Zahlen und -/_ enthalten." - -#: ../help/help.inc:111 -msgid "" -"Please enter the new name of the profile. The name may contain letters, " -"numbers and -/_." -msgstr "" -"Bitte geben Sie den neuen Namen des Profils an. Profilnamen dürfen " -"Buchstaben, Zahlen und -/_ enthalten." - -#: ../lib/modules/posixGroup.inc:397 ../lib/modules/sambaAccount.inc:59 -#: ../lib/modules/sambaSamAccount.inc:55 ../lib/modules/posixAccount.inc:71 -msgid "Please enter the same password in both password-fields." -msgstr "Bitte geben Sie das selbe Passwort in beide Felder ein." - -#: ../templates/masscreate.php:120 -msgid "" -"Please provide a CSV formated file with your account data. The cells in the " -"first row must be filled with the column identifiers. The following rows " -"represent one account for each row." -msgstr "" -"Bitte erstellen Sie eine CSV-formatierte Datei mit Ihren Accountdaten. Die " -"Zellen der ersten Zeile müssen mit den Spaltenbezeichnern gefüllt werden. " -"Alle nachfolgenden Zeilen repräsentieren jeweils einen Account." - -#: ../lib/status.inc:62 -msgid "" -"Please report this error to the Bug-Tracker at {link=http://lam.sf.net}LDAP " -"Account Manager Development Team{endlink}. The error number is {bold}0001:" -"Invalid/Missing Message type.{endbold} Thank you." -msgstr "" -"Bitte melden Sie dieses Problem an den Bug-Tracker des {link=http://lam.sf." -"net}LDAP Account Manager Entwickler-Teams{endlink}. Die Fehlernummer ist " -"{bold}0001:Fehlerhafter/Fehlender Nachrichtentyp.{endbold} Danke." - -#: ../lib/modules.inc:688 -msgid "Please select page:" -msgstr "Bitte Seite wählen:" - -#: ../templates/masscreate.php:89 -msgid "Please select your account type:" -msgstr "Bitte Accounttyp wählen:" - -#: ../lib/modules.inc:728 -#, php-format -msgid "Please set up all required attributes on page: %s" -msgstr "Bitte setzen Sie alle erforderlichen Werte auf der Seite: %s" - -#: ../templates/config/profmanage.php:148 -msgid "Please set up your master configuration file (config/config.cfg) first!" -msgstr "" -"Bitte konfigurieren Sie zuerst die Haupteinstellungsdatei (config/config." -"cfg)!" - -#: ../templates/pdfedit/pdfpage.php:708 -msgid "Position" -msgstr "Position" - -#: ../help/help.inc:222 -msgid "Position in ldap-tree where the group should be created." -msgstr "Position im LDAP-Baum, wo die Gruppe erstellt werden soll." - -#: ../help/help.inc:224 -msgid "Position in ldap-tree where the host should be created." -msgstr "Position im LDAP-Baum, wo der Host erstellt werden soll." - -#: ../help/help.inc:220 -msgid "Position in ldap-tree where the user should be created." -msgstr "Position im LDAP-Baum, wo der Benutzer erstellt werden soll." - -#: ../templates/masscreate.php:158 ../templates/masscreate.php:294 -#: ../lib/modules/sambaGroupMapping.inc:342 -msgid "Possible values" -msgstr "Mögliche Werte" - -#: ../lib/modules/inetOrgPerson.inc:66 ../lib/modules/inetOrgPerson.inc:165 -#: ../lib/modules/inetOrgPerson.inc:243 ../lib/modules/inetOrgPerson.inc:429 -#: ../lib/modules/inetOrgPerson.inc:469 -msgid "Postal address" -msgstr "Anschrift" - -#: ../lib/modules/inetOrgPerson.inc:244 -msgid "Postal address, city" -msgstr "Bitte geben Sie hier die Anschrift ein." - -#: ../lib/modules/inetOrgPerson.inc:68 ../lib/modules/inetOrgPerson.inc:159 -#: ../lib/modules/inetOrgPerson.inc:239 ../lib/modules/inetOrgPerson.inc:240 -#: ../lib/modules/inetOrgPerson.inc:425 ../lib/modules/inetOrgPerson.inc:468 -msgid "Postal code" -msgstr "Postleitzahl" - -#: ../help/help.inc:71 -msgid "Predefined values" -msgstr "Vordefinierte Werte" - -#: ../lib/modules/inetOrgPerson.inc:143 -msgid "President" -msgstr "Präsident" - -#: ../lib/modules/posixGroup.inc:115 ../lib/modules/posixAccount.inc:181 -#: ../lib/modules/posixAccount.inc:248 ../lib/modules/posixAccount.inc:312 -#: ../lib/modules/posixAccount.inc:344 ../lib/modules/posixAccount.inc:825 -#: ../lib/modules/posixAccount.inc:921 ../lib/modules/posixAccount.inc:949 -#: ../lib/modules/posixAccount.inc:965 ../help/help.inc:146 -#: ../help/help.inc:158 -msgid "Primary group" -msgstr "Primäre Gruppe" - -#: ../templates/config/profmanage.php:106 -msgid "Profile deleted." -msgstr "Profil gelöscht." - -#: ../templates/tools.php:53 -msgid "Profile editor" -msgstr "Profileditor" - -#: ../templates/config/profmanage.php:50 -#: ../templates/config/profmanage.php:161 ../help/help.inc:108 -#: ../help/help.inc:110 ../help/help.inc:112 ../help/help.inc:114 -#: ../help/help.inc:116 ../help/help.inc:118 ../help/help.inc:120 -msgid "Profile management" -msgstr "Profilverwaltung" - -#: ../templates/config/profmanage.php:176 -#: ../templates/config/profmanage.php:223 -#: ../templates/profedit/profilepage.php:126 ../help/help.inc:127 -msgid "Profile name" -msgstr "Profilname" - -#: ../templates/config/profmanage.php:90 -#: ../templates/config/profmanage.php:101 -msgid "Profile name is invalid!" -msgstr "Profilname ist ungültig!" - -#: ../templates/config/profmanage.php:187 -#: ../templates/config/profmanage.php:277 -msgid "Profile password" -msgstr "Profilpasswort" - -#: ../templates/config/profmanage.php:88 -#: ../templates/config/profmanage.php:118 -msgid "Profile passwords are different or empty!" -msgstr "Die Passwörter stimmen nicht überein!" - -#: ../lib/modules/sambaAccount.inc:49 ../lib/modules/sambaAccount.inc:50 -#: ../lib/modules/sambaAccount.inc:138 ../lib/modules/sambaAccount.inc:261 -#: ../lib/modules/sambaAccount.inc:354 ../lib/modules/sambaAccount.inc:742 -#: ../lib/modules/sambaAccount.inc:847 ../lib/modules/sambaSamAccount.inc:47 -#: ../lib/modules/sambaSamAccount.inc:48 -#: ../lib/modules/sambaSamAccount.inc:167 -#: ../lib/modules/sambaSamAccount.inc:275 -#: ../lib/modules/sambaSamAccount.inc:721 -#: ../lib/modules/sambaSamAccount.inc:865 -#: ../lib/modules/sambaSamAccount.inc:919 ../help/help.inc:203 -msgid "Profile path" -msgstr "Profilpfad" - -#: ../lib/modules/sambaAccount.inc:49 ../lib/modules/sambaSamAccount.inc:47 -#: ../lib/modules/sambaSamAccount.inc:49 -msgid "Profile path is invalid!" -msgstr "Profilpfad ist ungültig!" - -#: ../templates/profedit/profilecreate.php:112 -msgid "Profile was saved." -msgstr "Profil wurde gespeichert." - -#: ../lib/modules/quota.inc:48 -msgid "Quota" -msgstr "Quota" - -#: ../templates/masscreate.php:154 ../help/help.inc:125 -msgid "RDN identifier" -msgstr "RDN-Bezeichner" - -#: ../lib/lists.inc:215 -msgid "RID (Windows UID)" -msgstr "RID (Windows UID)" - -#: ../templates/config/confmain.php:405 -msgid "Reenter Password" -msgstr "Passwort nochmal eingeben" - -#: ../templates/config/profmanage.php:354 -msgid "Reenter new master password" -msgstr "Neues Hauptpasswort erneut eingeben" - -#: ../templates/config/profmanage.php:196 -#: ../templates/config/profmanage.php:288 -msgid "Reenter profile password" -msgstr "Profilpasswort erneut eingeben" - -#: ../lib/lists.inc:95 -msgid "Refresh" -msgstr "Aktualisieren" - -#: ../templates/pdfedit/pdfpage.php:581 ../lib/modules/ieee802device.inc:144 -msgid "Remove" -msgstr "Löschen" - -#: ../templates/config/profmanage.php:219 ../help/help.inc:110 -msgid "Rename profile" -msgstr "Profil umbenennen" - -#: ../templates/config/profmanage.php:97 -msgid "Renamed profile." -msgstr "Profil umbenannt." - -#: ../lib/modules/posixGroup.inc:142 ../lib/modules/sambaAccount.inc:693 -#: ../lib/modules/sambaSamAccount.inc:672 ../lib/modules/posixAccount.inc:847 -msgid "Repeat password" -msgstr "Passwort wiederholen" - -#: ../lib/modules/posixAccount.inc:65 ../lib/modules/posixAccount.inc:711 -msgid "Replaced $user or $group in homedir." -msgstr "$user und $group wurden im Heimatverzeichnis ersetzt." - -#: ../templates/domain.php:187 ../templates/config/confmain.php:420 -#: ../templates/profedit/profilepage.php:138 -msgid "Reset" -msgstr "Zurücksetzen" - -#: ../lib/modules.inc:705 -msgid "Reset changes" -msgstr "Änderungen zurücksetzen" - -#: ../lib/modules/sambaAccount.inc:789 ../lib/modules/sambaSamAccount.inc:770 -msgid "Reset password" -msgstr "Passwort zurücksetzen" - -#: ../lib/modules/sambaAccount.inc:93 -msgid "Samba 2" -msgstr "Samba 2" - -#: ../lib/modules/sambaSamAccount.inc:89 -#: ../lib/modules/sambaGroupMapping.inc:218 -msgid "Samba 3" -msgstr "Samba 3" - -#: ../templates/domain.php:244 -msgid "Samba 3 domain SID is invalid!" -msgstr "Samba 3 Domänen-SID ist ungültig!" - -#: ../templates/tools.php:61 -msgid "Samba 3 domains" -msgstr "Samba 3 Domänen" - -#: ../templates/ou_edit.php:405 -msgid "Samba Hosts" -msgstr "Samba Hosts" - -#: ../lib/modules/sambaSamAccount.inc:181 -#: ../lib/modules/sambaSamAccount.inc:300 -#: ../lib/modules/sambaSamAccount.inc:323 -msgid "Samba RID" -msgstr "Samba-RID" - -#: ../lib/modules/sambaGroupMapping.inc:251 -#: ../lib/modules/sambaGroupMapping.inc:275 -msgid "Samba RID number" -msgstr "Samba RID-Nummer" - -#: ../lib/modules/sambaGroupMapping.inc:245 -msgid "Samba display name" -msgstr "Samba Anzeigename" - -#: ../lib/modules/sambaGroupMapping.inc:237 -msgid "Samba domain name" -msgstr "Samba Domänenname" - -#: ../lib/modules/sambaGroupMapping.inc:257 -#: ../lib/modules/sambaGroupMapping.inc:283 -#: ../lib/modules/sambaGroupMapping.inc:300 -msgid "Samba group type" -msgstr "Samba-Gruppentyp" - -#: ../lib/modules/sambaAccount.inc:315 ../lib/modules/sambaAccount.inc:691 -#: ../lib/modules/sambaSamAccount.inc:128 -#: ../lib/modules/sambaSamAccount.inc:670 -msgid "Samba password" -msgstr "Samba-Passwort" - -#: ../lib/modules/sambaAccount.inc:55 ../lib/modules/sambaAccount.inc:150 -#: ../lib/modules/sambaAccount.inc:273 ../lib/modules/sambaAccount.inc:362 -#: ../lib/modules/sambaAccount.inc:748 ../lib/modules/sambaAccount.inc:848 -#: ../lib/modules/sambaSamAccount.inc:53 -#: ../lib/modules/sambaSamAccount.inc:175 -#: ../lib/modules/sambaSamAccount.inc:287 -#: ../lib/modules/sambaSamAccount.inc:727 -#: ../lib/modules/sambaSamAccount.inc:877 -#: ../lib/modules/sambaSamAccount.inc:920 ../help/help.inc:206 -msgid "Samba workstations" -msgstr "Samba PCs" - -#: ../lib/pdf.inc:455 -msgid "Samba-Host information page" -msgstr "Samba-Host-Informationen" - -#: ../templates/pdfedit/pdfpage.php:831 -#: ../templates/profedit/profilepage.php:136 -msgid "Save" -msgstr "Speichern" - -#: ../lib/modules.inc:614 ../lib/modules.inc:617 ../lib/modules.inc:618 -#: ../lib/modules.inc:752 ../lib/modules.inc:757 ../help/help.inc:213 -msgid "Save profile" -msgstr "Profil speichern" - -#: ../templates/config/confsave.php:171 -msgid "Saving group modules failed!" -msgstr "Speichern der Gruppenmodule fehlgeschlagen!" - -#: ../templates/config/confsave.php:177 -msgid "Saving host modules failed!" -msgstr "Speichern der Hostmodule fehlgeschlagen!" - -#: ../templates/config/confsave.php:165 -msgid "Saving user modules failed!" -msgstr "Speichern der Benutzermodule fehlgeschlagen!" - -#: ../templates/pdfedit/pdfdelete.php:56 ../templates/pdfedit/pdfdelete.php:59 -#: ../templates/pdfedit/pdfdelete.php:78 -msgid "Scope" -msgstr "Typ" - -#: ../lib/modules/sambaSamAccount.inc:50 ../lib/modules/sambaSamAccount.inc:51 -#: ../help/help.inc:90 ../help/help.inc:200 -msgid "Script path" -msgstr "Scriptpfad" - -#: ../templates/config/confsave.php:153 ../lib/modules/sambaSamAccount.inc:50 -msgid "Script path is invalid!" -msgstr "Scriptpfad ist ungültig!" - -#: ../help/help.inc:95 -msgid "Script server" -msgstr "Scriptserver" - -#: ../templates/config/confsave.php:159 -msgid "Script server is invalid!" -msgstr "Scriptserver ist ungültig!" - -#: ../templates/config/confmain.php:366 -msgid "Script settings" -msgstr "Scripteinstellungen" - -#: ../templates/pdfedit/pdfpage.php:740 -msgid "Section" -msgstr "Abschnitt" - -#: ../templates/config/confmain.php:386 -msgid "Security settings" -msgstr "Sicherheitseinstellungen" - -#: ../templates/lists/listhosts.php:179 ../templates/lists/listgroups.php:179 -#: ../templates/lists/listdomains.php:114 ../templates/lists/listusers.php:217 -msgid "See README.openldap.txt to solve this problem." -msgstr "Bitte lesen Sie README.openldap.txt um dieses Problem zu lösen." - -#: ../templates/help.php:112 -msgid "See also" -msgstr "Siehe auch" - -#: ../templates/lists/listhosts.php:257 ../templates/lists/listgroups.php:274 -#: ../templates/lists/listusers.php:308 -msgid "Select all" -msgstr "Alle auswählen" - -#: ../help/help.inc:215 -msgid "Select group profile" -msgstr "Gruppenprofil wählen" - -#: ../templates/config/confmodules.php:291 -msgid "Selected group modules" -msgstr "Ausgewählte Gruppenmodule" - -#: ../lib/modules/posixAccount.inc:894 -msgid "Selected groups" -msgstr "Gewählte Gruppen" - -#: ../templates/config/confmodules.php:394 -msgid "Selected host modules" -msgstr "Ausgewählte Hostmodule" - -#: ../templates/config/confmodules.php:188 -msgid "Selected user modules" -msgstr "Ausgewählte Benutzermodule" - -#: ../lib/modules/posixGroup.inc:194 -msgid "Selected users" -msgstr "Ausgewählte Benutzer" - -#: ../templates/config/confsave.php:91 -msgid "Server Address is empty!" -msgstr "Die Server Addresse ist nicht gesetzt!" - -#: ../templates/config/confmain.php:158 ../lib/config.inc:331 -#: ../help/help.inc:48 -msgid "Server address" -msgstr "Serveraddresse" - -#: ../templates/config/confmain.php:370 ../lib/config.inc:343 -msgid "Server of external script" -msgstr "Server mit externem Script" - -#: ../templates/config/confmain.php:155 -msgid "Server settings" -msgstr "Servereinstellungen" - -#: ../lib/modules/posixGroup.inc:145 ../lib/modules/posixAccount.inc:850 -#: ../lib/modules/posixAccount.inc:938 -msgid "Set no password" -msgstr "Kein Passwort setzen" - -#: ../templates/config/profmanage.php:273 ../help/help.inc:114 -msgid "Set profile password" -msgstr "Profilpasswort setzen" - -#: ../lib/modules/posixGroup.inc:342 -msgid "Sets the group password." -msgstr "Setzt das Gruppenpasswort." - -#: ../lib/modules/shadowAccount.inc:62 -msgid "Shadow" -msgstr "Shadow" - -#: ../templates/massBuildAccounts.php:196 -msgid "Show LDIF file" -msgstr "Zeige LDIF-Datei" - -#: ../templates/pdfedit/pdfpage.php:455 -msgid "Size" -msgstr "Größe" - -#: ../lib/modules/quota.inc:400 -msgid "Soft block" -msgstr "weiches Block-Limit" - -#: ../lib/modules/quota.inc:72 ../lib/modules/quota.inc:293 -#: ../lib/modules/quota.inc:350 -msgid "Soft block limit" -msgstr "weiches Block-Limit" - -#: ../lib/modules/quota.inc:73 -msgid "Soft block limit." -msgstr "weiches Block-Limit" - -#: ../lib/modules/quota.inc:400 -msgid "Soft inode" -msgstr "weiches Inode-Limit" - -#: ../lib/modules/quota.inc:89 -msgid "Soft inode (files) limit." -msgstr "Weiches Inode-Limit (Dateien)." - -#: ../lib/modules/quota.inc:88 ../lib/modules/quota.inc:297 -#: ../lib/modules/quota.inc:352 -msgid "Soft inode limit" -msgstr "weiches Inode-Limit" - -#: ../lib/modules.inc:727 -msgid "Some required information is missing" -msgstr "Einige benötigte Informationen fehlen noch" - -#: ../templates/help.php:144 -#, php-format -msgid "" -"Sorry this help id ({bold}%s{endbold}) is not available for this module " -"({bold}%s{endbold})." -msgstr "" -"Diese Hilfenummer ({bold}%s{endbold}) ist leider nicht verfügbar für das " -"Modul: {bold}%s{endbold}." - -#: ../templates/help.php:157 -#, php-format -msgid "Sorry this help number ({bold}%d{endbold}) is not available." -msgstr "Diese Hilfenummer ist leider nicht verfügbar: {bold}%d{endbold}" - -#: ../lib/modules/sambaGroupMapping.inc:340 -msgid "Special Group" -msgstr "Spezielle Gruppe" - -#: ../lib/modules/sambaAccount.inc:62 ../lib/modules/sambaAccount.inc:63 -#: ../lib/modules/sambaAccount.inc:286 ../lib/modules/sambaAccount.inc:371 -#: ../lib/modules/sambaAccount.inc:780 ../lib/modules/sambaSamAccount.inc:58 -#: ../lib/modules/sambaSamAccount.inc:59 -#: ../lib/modules/sambaSamAccount.inc:761 -msgid "Special user" -msgstr "Spezieller Benutzer" - -#: ../templates/pdfedit/pdfpage.php:645 ../templates/pdfedit/pdfpage.php:651 -#: ../templates/pdfedit/pdfpage.php:777 -msgid "Static text" -msgstr "Statischer Text" - -#: ../lib/modules/inetOrgPerson.inc:124 -msgid "Steve" -msgstr "Hans" - -#: ../lib/modules/sambaAccount.inc:193 ../lib/modules/sambaSamAccount.inc:207 -#: ../lib/modules/inetOrgPerson.inc:117 -msgid "Steve Miller" -msgstr "Hans Müller" - -#: ../lib/modules/posixAccount.inc:225 -msgid "Steve Miller,Room 2.14,123-123-1234,123-123-1234" -msgstr "Hans Müller,Raum 2.14,123-123-1234,123-123-1234" - -#: ../lib/modules/inetOrgPerson.inc:64 ../lib/modules/inetOrgPerson.inc:153 -#: ../lib/modules/inetOrgPerson.inc:235 ../lib/modules/inetOrgPerson.inc:236 -#: ../lib/modules/inetOrgPerson.inc:421 ../lib/modules/inetOrgPerson.inc:467 -msgid "Street" -msgstr "Straße" - -#: ../templates/pdfedit/pdfpage.php:805 -msgid "Structure name" -msgstr "Name der Struktur" - -#: ../templates/ou_edit.php:94 ../templates/ou_edit.php:159 -#: ../templates/ou_edit.php:224 ../templates/ou_edit.php:289 -#: ../templates/ou_edit.php:470 ../templates/domain.php:186 -#: ../templates/config/profmanage.php:373 -#: ../templates/config/confmodules.php:496 -#: ../templates/config/confmain.php:418 ../templates/pdfedit/pdfdelete.php:81 -#: ../templates/pdfedit/pdfpage.php:797 ../templates/pdfedit/pdfmain.php:143 -#: ../templates/profedit/profiledelete.php:85 -#: ../templates/profedit/profiledelete.php:97 -#: ../templates/profedit/profiledelete.php:109 -#: ../templates/profedit/profilemain.php:261 -msgid "Submit" -msgstr "Abschicken" - -#: ../templates/pdfedit/pdfpage.php:445 ../templates/pdfedit/pdfpage.php:490 -msgid "Submit page settings" -msgstr "Seiteneinstellungen übernehmen" - -#: ../templates/lists/listhosts.php:278 ../templates/lists/listgroups.php:294 -#: ../templates/lists/listdomains.php:200 ../templates/lists/listusers.php:328 -#: ../templates/domain.php:159 ../lib/modules.inc:740 ../help/help.inc:219 -#: ../help/help.inc:221 ../help/help.inc:223 ../help/help.inc:242 -msgid "Suffix" -msgstr "Suffix" - -#: ../lib/modules/inetOrgPerson.inc:56 ../lib/modules/inetOrgPerson.inc:171 -#: ../lib/modules/inetOrgPerson.inc:247 ../lib/modules/inetOrgPerson.inc:248 -#: ../lib/modules/inetOrgPerson.inc:433 ../lib/modules/inetOrgPerson.inc:470 -msgid "Telephone number" -msgstr "Telefonnummer" - -#: ../lib/modules/inetOrgPerson.inc:149 -msgid "Temp" -msgstr "Aushilfskraft" - -#: ../lib/modules/inetOrgPerson.inc:137 -msgid "Temp, contract until december" -msgstr "Aushilfskraft, Vertrag bis Dezember" - -#: ../help/help.inc:104 -msgid "Text for user PDF" -msgstr "Text für Benutzer-PDF" - -#: ../lib/modules/posixAccount.inc:313 ../help/help.inc:147 -msgid "The Primary Group the user should be member of." -msgstr "Die primäre Gruppe des Benutzers." - -#: ../lib/modules/posixAccount.inc:345 ../help/help.inc:159 -msgid "The Primary group the host should be member of." -msgstr "Die primäre Gruppe des Hosts." - -#: ../help/help.inc:245 -msgid "The SID of your Samba server. Get it with \"net getlocalsid\"." -msgstr "Die Domänen-SID des Samba-Servers. Auszulesen mit \"net getlocalsid\"." - -#: ../lib/modules/posixAccount.inc:63 -msgid "" -"The UID ranges for users and hosts overlap! This is a problem because LAM " -"uses the highest UID in use + 1 for new accounts. Please set the minimum UID " -"to equal values or use independent ranges." -msgstr "" -"Die UID-Bereiche für Benutzer und Hosts überlappen! Dies ist ein Problem " -"weil LAM die größte verwendete UID + 1 für neue Accounts verwendet. Bitte " -"setzen Sie die minimalen UID-Nummern auf den selben Wert oder verwenden Sie " -"unabhängige Bereiche." - -#: ../help/help.inc:243 -msgid "The domain entry will be saved under this suffix." -msgstr "Der Domäneneintrag wird unter diesem Suffix gespeichert." - -#: ../lib/modules/shadowAccount.inc:49 -msgid "The expiration date is invalid." -msgstr "Das Ablaufdatum ist ungültig." - -#: ../templates/config/confsave.php:246 -msgid "The following settings were saved to profile:" -msgstr "Die folgenden Einstellungen wurden gespeichert:" - -#: ../templates/initsuff.php:184 -msgid "The following suffix(es) are missing in LDAP. LAM can create them for you." -msgstr "Folgende Suffixe fehlen in LDAP. LAM kann sie für Sie erstellen." - -#: ../lib/modules/sambaSamAccount.inc:70 -msgid "The format of the logon hours field is invalid!" -msgstr "Das Format der Anmeldezeiten ist ungültig!" - -#: ../templates/pdfedit/pdfpage.php:73 -msgid "The headline for a new section must contain at least one character." -msgstr "" -"Die Überschrift für einen neuen Abschnitt muss mindestens ein Zeichen " -"enthalten." - -#: ../templates/pdfedit/pdfpage.php:61 -msgid "" -"The name for that PDF-structure you submitted is not valid. A valid name " -"must constist at least of one of the following characters 'a-z','A-Z','0-" -"9','_','-','.'." -msgstr "" -"Der Bezeichner für die PDF-Struktur ist ungültig. Ein gültiger besteht " -"mindestens aus einem der folgenden Zeichen: 'a-z','A-Z','0-9','_','-','.'." - -#: ../help/help.inc:241 -msgid "The name of your Windows domain or workgroup." -msgstr "Der Name ihrer Windows-Domäne oder Arbeitsgruppe." - -#: ../help/help.inc:130 -msgid "The new account will be saved under this LDAP suffix." -msgstr "Der neue Account wird unter diesem LDAP-Suffix gespeichert." - -#: ../templates/config/confmain.php:109 -msgid "The password is invalid! Please try again." -msgstr "Das Passwort ist falsch! Bitte erneut eingeben." - -#: ../templates/pdfedit/pdfpage.php:77 -msgid "The static text must contain at least one character." -msgstr "Der statische Text muss mindestens ein Zeichen enthalten." - -#: ../lib/modules/posixGroup.inc:115 -msgid "There are still users who have this group as their primary group." -msgstr "Es gibt noch Benutzer, deren primäre Gruppe diese Gruppe ist." - -#: ../lib/modules/sambaAccount.inc:62 ../lib/modules/sambaSamAccount.inc:58 -msgid "There can be only one administrator per domain." -msgstr "Es kann nur einen Administrator pro Domäne geben." - -#: ../lib/modules/sambaGroupMapping.inc:340 -#, php-format -msgid "There can be only one group %s." -msgstr "Es kann nur eine Gruppe %s geben." - -#: ../lib/modules/sambaAccount.inc:63 ../lib/modules/sambaSamAccount.inc:59 -msgid "There can be only one guest per domain." -msgstr "Es kann nur einen Gast pro Domäne geben." - -#: ../templates/massDoUpload.php:119 -msgid "There were errors while uploading:" -msgstr "Beim Upload traten Fehler auf:" - -#: ../lib/modules/posixGroup.inc:351 -msgid "" -"These are the minimum and maximum numbers to use for group IDs when creating " -"new group accounts. New group accounts will always get the highest number in " -"use plus one." -msgstr "" -"Das sind die minimalen und maximalen Nummern für Gruppen-IDs wenn neue " -"Gruppen erstellt werden. Neue Gruppen bekommen die immer die höchste " -"verwendete Zahl plus 1." - -#: ../lib/modules/posixAccount.inc:292 -msgid "" -"These are the minimum and maximum numbers to use for machine IDs when " -"creating new accounts for Samba hosts. The range should be different from " -"that of users. New host accounts will always get the highest number in use " -"plus one." -msgstr "" -"Das sind die minimalen und maximalen Nummern für Host-IDs wenn neue Hosts " -"erstellt werden. Der Bereich sollte sich von dem der Benutzer unterscheiden. " -"Neue Hosts bekommen die immer die höchste verwendete Zahl plus 1." - -#: ../lib/modules/posixAccount.inc:288 -msgid "" -"These are the minimum and maximum numbers to use for user IDs when creating " -"new user accounts. The range should be different from that of machines. New " -"user accounts will always get the highest number in use plus one." -msgstr "" -"Das sind die minimalen und maximalen Nummern für Benutzer-IDs wenn neue " -"Benutzer erstellt werden. Der Bereich sollte sich von dem der Hosts " -"unterscheiden. Neue Benutzer bekommen die immer die höchste verwendete Zahl " -"plus 1." - -#: ../lib/modules/posixAccount.inc:85 -msgid "This GID number is invalid! Please provide either a number or a group name." -msgstr "" -"Diese GID-Nummer ist ungültig! Bitte geben Sie eine Nummer ein oder einen " -"Gruppennamen." - -#: ../templates/domain.php:247 -msgid "This Samba 3 domain is already present!" -msgstr "Diese Samba3-Domäne ist bereits vorhanden!" - -#: ../help/help.inc:115 -msgid "This changes the password of the selected profile." -msgstr "Damit ändern Sie das Passwort des gewählten Profils." - -#: ../help/help.inc:117 -msgid "This changes the profile which is selected by default at login." -msgstr "Damit ändern Sie das Standardprofil am Login." - -#: ../templates/massBuildAccounts.php:148 -msgid "This column is defined to include unique entries but duplicates were found:" -msgstr "Diese Spalte darf keine doppelten Einträge enthalten:" - -#: ../help/help.inc:89 -msgid "" -"This defines the language of the login window and sets this language as the " -"default language. Users can change the language at login." -msgstr "" -"Bestimmt die Sprache des Logins und setzt diese Sprache als Standard. " -"Benutzer können die Sprache beim Login ändern." - -#: ../lib/pdf.inc:511 -msgid "This document was automatically created by LDAP Account Manager" -msgstr "Dieses Dokument wurde von LDAP Account Manager erstellt." - -#: ../lib/modules/posixAccount.inc:86 -msgid "This gecos value is invalid!" -msgstr "Dieser Gecos-Wert ist ungültig!" - -#: ../lib/modules/ieee802device.inc:61 -msgid "This is a comma separated list of MAC addresses." -msgstr "Dies ist eine Liste von MAC-Adressen, getrennt durch Kommata." - -#: ../help/help.inc:82 -msgid "" -"This is a list of valid DN entries of all users that are allowed to login to " -"LDAP Account Manager. The user names have to be separated by semicolons." -msgstr "" -"Das ist eine Liste von DN-Einträgen aller Benutzer, die sich bei LDAP " -"Account Manager anmelden dürfen. Die Benutzernamen müssen mit Strichpunkten " -"getrennt sein." - -#: ../templates/masscreate.php:209 -msgid "" -"This is an example how it would look in your spreadsheet program before you " -"convert to CSV:" -msgstr "" -"Dies ist ein Beispiel wie es in Ihrem Tabellenkalkulationsprogramm aussehen " -"würde bevor Sie nach CSV konvertieren:" - -#: ../lib/modules/sambaGroupMapping.inc:342 -msgid "This is not a valid Samba 3 group type!" -msgstr "Das ist kein korrekter Samba 3 Gruppentyp!" - -#: ../lib/modules/ieee802device.inc:57 -msgid "" -"This is the MAC address of the network card of the device (e.g. 00:01:02:DE:" -"EF:18)." -msgstr "Dies ist die MAC-Adresse der Netzwerkkarte im Gerät (z.B. 00:01:02:DE:EF:18)." - -#: ../lib/modules/sambaAccount.inc:369 -msgid "This is the RID of the user's primary Windows group." -msgstr "Das ist die RID-Nummer der primären Gruppe des Benutzers." - -#: ../lib/modules/sambaSamAccount.inc:179 -msgid "This is the SID of the user's primary Windows group." -msgstr "Das ist die SID der primären Gruppe des Benutzers." - -#: ../help/help.inc:91 -msgid "" -"This is the absolute path to an external script for setting quotas and " -"creating home directories." -msgstr "" -"Das ist der absolute Pfad zu einem externen Script, das Quotas und " -"Heimatverzeichnisse verwaltet." - -#: ../lib/modules/sambaAccount.inc:316 ../lib/modules/sambaSamAccount.inc:129 -msgid "This is the account's Windows password." -msgstr "Das ist das Windows-Passwort für den Account." - -#: ../lib/modules/sambaAccount.inc:313 ../lib/modules/sambaSamAccount.inc:126 -msgid "This is the account's full name on Windows systems." -msgstr "Das ist der Name, der auf Windows-Systemen angezeigt wird." - -#: ../lib/modules/sambaGroupMapping.inc:268 -msgid "This is the group name which will be shown in Windows." -msgstr "Das ist der Gruppenname, der in Windows angezeigt wird." - -#: ../help/help.inc:126 -msgid "" -"This is the identifier for the relative DN value. It must be one of the " -"given allowed LDAP attributes (e.g. user accounts usually use \"uid\" while " -"groups use \"cn\")." -msgstr "" -"Das ist der Bezeichner für den relativen DN-Wert. Er muss eines der " -"erlaubten LDAP-Attribute sein (z.B. verwenden Benutzer-Accounts gewöhnlich " -"\"uid\" und Gruppen \"cn\")." - -#: ../help/help.inc:67 -msgid "" -"This is the list of attributes to show in the user/group/host list. The " -"entries can either be predefined values, \"#attribute\", or individual ones, " -"\"attribute:description\". Several entries are seperated by semicolons." -msgstr "" -"Das ist eine Liste von Attributen, die in den Benutzer/Gruppen/Host-Listen " -"angezeigt wird. Die Einträge können entweder vordefinierte Werte \"#Wert\" " -"oder eigne Werte \"#Wert:Beschreibung\" sein. Mehrere Werte werden durch " -"Strichpunkte getrennt." - -#: ../help/help.inc:87 -msgid "" -"This is the number of rows to show in the user/group/host list. If more " -"entries are found the list will be split into several pages." -msgstr "" -"Das ist die Anzahl von Zeilen, die in den Benutzer/Gruppen/Host-Listen " -"angezeigt wird. Wenn mehr Einträge gefunden werden, wird die Liste auf " -"mehrere Seiten aufgeteilt." - -#: ../lib/modules/sambaGroupMapping.inc:276 -msgid "" -"This is the relative ID (similar to UID on Unix) for Windows accounts. If " -"you leave this empty LAM will calculate the RID from the UID. This can be " -"either a number or the name of a special group:" -msgstr "" -"Das ist die die relative ID-Nummer (ähnlich wie UID bei Unix) für Windows-" -"Accounts. Wenn Sie das Feld leer lassen wird LAM die RID aus der UID " -"berechnen. Mögliche Werte sind eine Zahl oder eine spezielle Gruppe:" - -#: ../lib/modules/sambaSamAccount.inc:182 -#, php-format -msgid "" -"This is the relative ID number for your Windows account. You can either " -"enter a number or one of these special accounts: %s. If you leave this empty " -"LAM will use: uidNumber*2 + sambaAlgorithmicRidBase." -msgstr "" -"Das ist die relative ID-Nummer für den Windows-Account. Sie können entweder " -"eine Nummer angeben oder den Namen eines Spezialaccounts: %s. Wenn Sie das " -"Feld leer lassen wird LAM diesen Wert einsetzen: uidNumber*2 + " -"sambaAlgorithmicRidBase." - -#: ../help/help.inc:49 -msgid "" -"This is the server address of your LDAP server. Use ldap:// for standard " -"LDAP connections and ldaps:// for encrypted (require server certificates) " -"connections. The port value is optional." -msgstr "" -"Das ist die Serveradresse ihres LDAP-Servers. Verwenden Sie ldap:// für " -"normale LDAP-Verbindungen und ldaps:// für verschlüsselte Verbindungen " -"(benötigt Serverzertifikat). Die Portnummer ist optional." - -#: ../help/help.inc:96 -msgid "" -"This is the server where the lamdaemon script is stored. LDAP Account " -"Manager will make a SSH connection to this server with username and password " -"provided at login." -msgstr "" -"Das ist der Server auf dem das lamdaemon-Script liegt. LDAP Account Manager " -"wird eine SSH-Verbindung zu diesem Serer aufbauen, dabei werden Benutzername " -"und Passwort vom Login verwendet." - -#: ../help/help.inc:61 -msgid "" -"This is the suffix of the LDAP tree from where to search for user/group/host " -"entries. Only entries in these subtrees will be displayed in the user/group/" -"host list. When creating a new accont this will be the DN where it is saved." -msgstr "" -"Das ist der Suffix im LDAP-Baum in dem nach Benutzern/Gruppen/Hosts gesucht " -"wird. Nur Einträge in diesen Teilbäumen werden in den Listen angezeigt. Neue " -"Accounts werden werden unter diesem DN gespeichert." - -#: ../help/help.inc:103 -msgid "" -"This is the time in minutes which LAM caches its LDAP searches. Shorter " -"times will stress LDAP more but decrease the possibility that changes are " -"not identified." -msgstr "" -"Dies ist die Zeit in Minuten die LAM LDAP-Suchen zwischenspeichert. Kürzere " -"Zeiten belasten den LDAP-Server mehr, verringern aber die Gefahr, dass " -"Änderungen nicht erkannt werden." - -#: ../lib/modules/posixAccount.inc:87 -msgid "This login shell is invalid!" -msgstr "Login-Shell ist ungültig!" - -#: ../lib/modules/sambaSamAccount.inc:189 -msgid "" -"This option defines the allowed logon hours for this account. The format is " -"the same as for the LDAP attribute. The 24*7 hours are represented as 168 " -"bit which are saved as 21 hex (21*8 = 168) values. The first bit represents " -"Sunday 0:00 - 0:59 in GMT." -msgstr "" -"Diese Option definiert die erlaubten Anmeldezeiten für diesen Account. Das " -"Format ist identisch mit dem des LDAP-Attributes. Die 24*7 Stunden werden " -"als 168 Bit dargestellt, die als 21 Hex-Werte (21*8 = 168) gespeichert " -"werden. Das erste Bit stellt den Zeitraum 00:00 - 00:59 Uhr GMT am Sonntag " -"dar." - -#: ../help/help.inc:105 -msgid "This text will appear on top of every user PDF file." -msgstr "Dieser Text erscheint am Anfang jedes Benutzer-PDFs." - -#: ../templates/tools.php:84 -msgid "This tool allows you to customize the PDF pages." -msgstr "Dieses Werkzeug erlaubt die Anpassung der PDF-Seiten." - -#: ../templates/lists/userlink.php:63 -msgid "This user was not found!" -msgstr "Dieser Benutzer wurde nicht gefunden!" - -#: ../lib/modules/sambaAccount.inc:65 ../lib/modules/sambaAccount.inc:66 -#: ../lib/modules/sambaAccount.inc:67 ../lib/modules/sambaAccount.inc:68 -#: ../lib/modules/sambaSamAccount.inc:62 ../lib/modules/sambaSamAccount.inc:63 -#: ../lib/modules/sambaSamAccount.inc:64 ../lib/modules/sambaSamAccount.inc:65 -msgid "This value can only be \\\"true\\\" or \\\"false\\\"!" -msgstr "Dieser Wert darf nur \\\"true\\\" oder \\\"false\\\" sein!" - -#: ../lib/modules/posixAccount.inc:88 -msgid "This value can only be \\\"true\\\" or \\\"false\\\"." -msgstr "Dieser Wert darf nur \\\"true\\\" oder \\\"false\\\" sein." - -#: ../lib/modules/posixGroup.inc:412 -msgid "This value must be a list of user names separated by semicolons." -msgstr "Dieser Wert muss eine Liste von Benutzernamen, getrennt duch Kommata, sein." - -#: ../help/help.inc:237 -msgid "This will create a new organizational unit under the selected one." -msgstr "Dies erzeugt eine neue Organizational Unit unterhalb der markierten." - -#: ../help/help.inc:239 -msgid "This will delete the selected organizational unit. The OU has to be empty." -msgstr "Dies löscht die markierte Organizational Unit. Die OU muss leer sein." - -#: ../help/help.inc:113 -msgid "This will delete the selected profile." -msgstr "Dies löscht das markierte Profil." - -#: ../help/help.inc:214 -msgid "" -"This will make a profile of the current account. The saved values are the " -"same as in the profile editor. Profile names may contain the letters a-z, 0-" -"9 and -_." -msgstr "" -"Damit erstellen Sie ein Profil aus dem aktuellen Account. Es werden die " -"selben Werte wie im Profileditor gespeichert. Profilnamen dürfen die " -"Buchstaben a-z, 0-9 und -_ enthalten." - -#: ../lib/modules/posixAccount.inc:327 ../help/help.inc:145 -msgid "" -"To disable login use /bin/false. List of shells is read from lam/config/" -"shells" -msgstr "" -"Verwenden Sie /bin/false um den Login zu deaktivieren. Die Shellliste wird " -"von lam/config/shells gelesen." - -#: ../templates/main_header.php:56 -msgid "Tools" -msgstr "Werkzeuge" - -#: ../templates/pdfedit/pdfpage.php:513 -msgid "Top" -msgstr "Anfang" - -#: ../templates/lists/listusers.php:342 -msgid "Translate GID number to group name" -msgstr "GID-Nummer als Gruppenname darstellen" - -#: ../lib/modules/posixAccount.inc:75 -msgid "UID" -msgstr "Benutzer ID" - -#: ../lib/modules/posixAccount.inc:75 -msgid "UID has changed. Do you want to change home directory?" -msgstr "UID-Nummer wurde geändert. Soll das Heimatverzeichnis angepasst werden?" - -#: ../lib/modules/posixAccount.inc:70 -msgid "" -"UID must be a number. It has to be inside the UID range which is defined in " -"your configuration profile." -msgstr "" -"UID muss eine Zahl sein. Sie muss sich innerhalb des Bereiches befinden der " -"in Ihrem Konfigurationsprofil festgelegt ist." - -#: ../lib/modules/posixAccount.inc:46 ../lib/modules/posixAccount.inc:175 -#: ../lib/modules/posixAccount.inc:242 ../lib/modules/posixAccount.inc:287 -#: ../lib/modules/posixAccount.inc:291 ../lib/modules/posixAccount.inc:299 -#: ../lib/modules/posixAccount.inc:817 ../lib/modules/posixAccount.inc:962 -#: ../lib/lists.inc:178 ../lib/lists.inc:217 ../help/help.inc:136 -#: ../help/help.inc:156 -msgid "UID number" -msgstr "UID Nummer" - -#: ../lib/modules/posixAccount.inc:46 -#, php-format -msgid "" -"UID number has changed. To keep file ownership you have to run the following " -"command as root: 'find / -uid %s -exec chown %s {} \\;'" -msgstr "" -"Die UID-Nummer hat sich geändert. Sie müssen folgenden Befehl als root " -"ausführen um die existierenden Dateirechte zu ändern: 'find / -uid %s -exec " -"chown %s {} \\;'" - -#: ../lib/modules/posixAccount.inc:63 ../lib/modules/posixAccount.inc:151 -msgid "UID ranges for Unix accounts" -msgstr "UID-Bereiche für Unix-Accounts" - -#: ../lib/modules/sambaAccount.inc:351 ../lib/modules/sambaSamAccount.inc:164 -#: ../help/help.inc:209 -#, php-format -msgid "" -"UNC-path (\\\\server\\share) of homedirectory. $%s and $%s are replaced with " -"user- and groupname." -msgstr "" -"UNC-Pfad (\\\\Server\\Freigabe) des Heimatverzeichnisses. $%s und $%s werden " -"durch Benutzer- und Gruppenname ersetzt." - -#: ../templates/ou_edit.php:55 ../templates/ou_edit.php:120 -#: ../templates/ou_edit.php:185 ../templates/ou_edit.php:250 -msgid "Unable to create new OU!" -msgstr "Kann neue OU nicht erstellen!" - -#: ../templates/config/profmanage.php:86 -msgid "Unable to create new profile!" -msgstr "Kann das Profil nicht erstellen!" - -#: ../templates/ou_edit.php:72 ../templates/ou_edit.php:137 -#: ../templates/ou_edit.php:202 ../templates/ou_edit.php:267 -msgid "Unable to delete OU!" -msgstr "Kann OU nicht löschen!" - -#: ../templates/pdfedit/pdfdelete.php:56 -msgid "Unable to delete PDF structure!" -msgstr "Kann die PDF-Struktur nicht löschen!" - -#: ../templates/domain.php:314 -msgid "Unable to delete domain!" -msgstr "Kann Domäne nicht löschen!" - -#: ../templates/config/profmanage.php:108 -#: ../templates/profedit/profiledelete.php:60 -msgid "Unable to delete profile!" -msgstr "Kann das Profil nicht löschen!" - -#: ../lib/modules/posixAccount.inc:1260 -msgid "Unable to find group in LDAP." -msgstr "Kann Gruppe nicht im LDAP-Baum finden." - -#: ../templates/login.php:100 ../templates/config/confmain.php:355 -msgid "" -"Unable to load available languages. Setting English as default language. For " -"further instructions please contact the Admin of this site." -msgstr "" -"Konnte verfügbare Sprachen nicht laden. Englisch wurde als Standardsprache " -"gesetzt. Für weitere Anweisungen wenden Sie sich bitte an den Administrator " -"dieser Seite." - -#: ../lib/profiles.inc:91 ../lib/profiles.inc:95 -msgid "Unable to load profile!" -msgstr "Kann das Profil nicht laden!" - -#: ../templates/profedit/profilecreate.php:114 -msgid "Unable to save profile!" -msgstr "Kann das Profil nicht speichern!" - -#: ../lib/modules/posixGroup.inc:226 ../lib/modules/posixAccount.inc:114 -msgid "Unix" -msgstr "Unix" - -#: ../lib/modules/inetOrgPerson.inc:51 ../lib/modules/inetOrgPerson.inc:400 -#: ../lib/modules/inetOrgPerson.inc:462 ../help/help.inc:227 -msgid "Unix workstations" -msgstr "Arbeitsstationen" - -#: ../lib/modules/inetOrgPerson.inc:51 -msgid "Unix workstations is invalid." -msgstr "Unix-Arbeitsstationen sind ungültig." - -#: ../templates/config/confmodules.php:245 -#: ../templates/config/confmodules.php:348 -#: ../templates/config/confmodules.php:451 -msgid "Unsolved dependency:" -msgstr "Ungelöste Abhängigkeit:" - -#: ../templates/pdfedit/pdfpage.php:581 -msgid "Up" -msgstr "nach oben" - -#: ../templates/massBuildAccounts.php:193 -msgid "Upload accounts to LDAP" -msgstr "Accounts in LDAP anlegen" - -#: ../templates/masscreate.php:128 -msgid "Upload file and create accounts" -msgstr "Datei hochladen und Accounts erstellen" - -#: ../lib/modules.inc:472 -#, php-format -msgid "Upload was stopped after errors in %s module!" -msgstr "Upload wurde nach Fehlern im Modul %s gestoppt!" - -#: ../lib/modules/sambaAccount.inc:100 ../lib/modules/sambaAccount.inc:203 -#: ../lib/modules/sambaAccount.inc:318 ../lib/modules/sambaAccount.inc:321 -#: ../lib/modules/sambaSamAccount.inc:131 -#: ../lib/modules/sambaSamAccount.inc:134 -#: ../lib/modules/sambaSamAccount.inc:217 -msgid "Use Unix password" -msgstr "Unix-Passwort verwenden" - -#: ../templates/pdfedit/pdfpage.php:442 ../templates/pdfedit/pdfpage.php:487 -#: ../templates/pdfedit/pdfpage.php:501 ../templates/pdfedit/pdfpage.php:519 -#: ../templates/pdfedit/pdfpage.php:530 ../templates/pdfedit/pdfpage.php:541 -#: ../templates/pdfedit/pdfpage.php:552 -msgid "Use default" -msgstr "Standardwert benutzen" - -#: ../help/help.inc:93 ../help/help.inc:98 -msgid "" -"Use it at your own risk and read the documentation for lamdaemon before you " -"use it!" -msgstr "" -"Verwendung auf eigene Gefahr. Lesen Sie die Dokumentation für lamdaemon " -"bevor Sie es benutzen!" - -#: ../lib/modules/posixGroup.inc:345 ../lib/modules/sambaAccount.inc:106 -#: ../lib/modules/sambaAccount.inc:211 ../lib/modules/sambaAccount.inc:324 -#: ../lib/modules/sambaAccount.inc:327 ../lib/modules/sambaAccount.inc:703 -#: ../lib/modules/sambaSamAccount.inc:137 -#: ../lib/modules/sambaSamAccount.inc:140 -#: ../lib/modules/sambaSamAccount.inc:225 -#: ../lib/modules/sambaSamAccount.inc:682 -#: ../lib/modules/sambaSamAccount.inc:833 ../lib/modules/posixAccount.inc:321 -#: ../help/help.inc:186 -msgid "Use no password" -msgstr "Kein Passwort setzen" - -#: ../lib/modules/sambaAccount.inc:697 ../lib/modules/sambaSamAccount.inc:676 -#: ../lib/modules/sambaSamAccount.inc:827 ../help/help.inc:188 -msgid "Use unix password" -msgstr "Unix-Passwort verwenden" - -#: ../lib/modules/quota.inc:68 ../lib/modules/quota.inc:292 -msgid "Used blocks" -msgstr "Benutzte Blöcke" - -#: ../lib/modules/quota.inc:69 -msgid "Used blocks. 1000 blocks are usually 1MB" -msgstr "Verwendete Blöcke. 1000 Blöcke sind normalerweise 1 MB." - -#: ../help/help.inc:253 -msgid "Used for calculating RIDs from UID/GID. Do not change if unsure." -msgstr "" -"Wird für die Berechnung der RIDs aus UID/GID verwendet. Nicht ändern, wenn " -"Sie nicht sicher sind." - -#: ../lib/modules/quota.inc:84 ../lib/modules/quota.inc:296 -msgid "Used inodes" -msgstr "benutzte Inodes" - -#: ../lib/modules/quota.inc:85 -msgid "Used inodes (files)" -msgstr "Benutze Inodes (Dateien)" - -#: ../lib/modules/sambaGroupMapping.inc:51 -msgid "User" -msgstr "Benutzer" - -#: ../lib/lists.inc:177 -msgid "User ID" -msgstr "Benutzer ID" - -#: ../lib/modules/sambaAccount.inc:235 ../lib/modules/sambaAccount.inc:342 -#: ../lib/modules/sambaAccount.inc:719 ../lib/modules/sambaSamAccount.inc:155 -#: ../lib/modules/sambaSamAccount.inc:249 -#: ../lib/modules/sambaSamAccount.inc:698 ../help/help.inc:192 -msgid "User can change password" -msgstr "Benutzer kann Passwort ändern" - -#: ../lib/modules/posixAccount.inc:309 ../lib/modules/inetOrgPerson.inc:216 -#: ../help/help.inc:143 -msgid "User description. If left empty sur- and give name will be used." -msgstr "Benutzerbeschreibung, falls leer wird Vor- und Nachname verwendet." - -#: ../lib/pdf.inc:449 -msgid "User information page" -msgstr "Benutzerinformationen" - -#: ../templates/initsuff.php:152 ../templates/initsuff.php:159 -#: ../templates/initsuff.php:167 -msgid "User list" -msgstr "Benutzerliste" - -#: ../templates/config/confsave.php:126 -msgid "User list attributes are invalid!" -msgstr "Attribute der Benutzerliste sind ungültig!" - -#: ../templates/config/confmodules.php:181 -#: ../templates/config/confmain.php:219 ../lib/config.inc:345 -msgid "User modules" -msgstr "Benutzermodule" - -#: ../lib/modules/sambaAccount.inc:242 ../lib/modules/sambaAccount.inc:344 -#: ../lib/modules/sambaAccount.inc:727 ../lib/modules/sambaSamAccount.inc:157 -#: ../lib/modules/sambaSamAccount.inc:256 -#: ../lib/modules/sambaSamAccount.inc:706 ../help/help.inc:194 -msgid "User must change password" -msgstr "Benutzer muss Passwort ändern" - -#: ../lib/modules/account.inc:64 ../lib/modules/posixAccount.inc:167 -msgid "User name" -msgstr "Benutzername" - -#: ../templates/profedit/profilemain.php:132 -msgid "User profiles" -msgstr "Benutzerprofile" - -#: ../lib/modules/quota.inc:400 -msgid "User quota" -msgstr "Benutzer-Quota" - -#: ../help/help.inc:60 -msgid "User/Group/Host suffix" -msgstr "Benutzer-/Gruppen-/Hostsuffix" - -#: ../templates/config/confmain.php:170 ../lib/config.inc:333 -msgid "UserSuffix" -msgstr "Benutzersuffix" - -#: ../templates/config/confsave.php:106 -msgid "UserSuffix is invalid!" -msgstr "UserSuffix ist ungültig!" - -#: ../templates/login.php:157 ../lib/modules/sambaAccount.inc:843 -#: ../lib/modules/sambaSamAccount.inc:915 ../lib/modules/posixAccount.inc:76 -#: ../lib/modules/posixAccount.inc:77 ../lib/modules/posixAccount.inc:80 -#: ../lib/modules/posixAccount.inc:304 ../lib/modules/posixAccount.inc:814 -#: ../lib/modules/posixAccount.inc:961 ../lib/lists.inc:180 -#: ../help/help.inc:134 -msgid "Username" -msgstr "Benutzername" - -#: ../lib/modules/posixAccount.inc:77 ../lib/modules/posixAccount.inc:82 -msgid "" -"Username contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ !" -msgstr "" -"Benutzername enthält ungültige Zeichen. Gültige Zeichen sind: a-z, A-Z, 0-9 " -"und .-_ !" - -#: ../lib/modules/posixAccount.inc:80 -msgid "Username in use. Selected next free username." -msgstr "" -"Der Benutzername ist bereits vorhanden, der nächste freie Name wurde " -"ausgewählt." - -#: ../lib/modules/posixAccount.inc:305 ../help/help.inc:135 -msgid "" -"Username of the user who should be created. Valid characters are: a-z,0-9, .-" -"_. Lam does not allow a number as first character because useradd also does " -"not allow it. Lam does not allow capital letters A-Z because it can cause " -"several problems. If username is already used username will be expanded with " -"a number. The next free number will be used. Warning: Older systems have " -"problems with usernames longer than 8 characters. You can not log in to " -"Windows if username is longer than 16 characters." -msgstr "" -"Benutzername des zu erstellenden Benutzers. Gültige Zeichen sind: a-z, 0-9 " -"und .-_. LAM erlaubt keine Zahlen als erstes Zeichen weil es useradd auch " -"nicht erlaubt. Großbuchstaben am Anfang können Probleme verursachen und sind " -"ebenfalls nicht erlaubt. Sollte der Benutzername schon in Verwendung sein " -"wird eine Zahl angehängt. Achtung! Ältere Systeme haben Probleme mit mehr " -"als 8 Zeichen. Sie können sich bei Windows nicht anmelden wenn Sie mehr als " -"16 Zeichen verwenden." - -#: ../templates/ou_edit.php:339 ../templates/main_header.php:74 -#: ../lib/modules/posixAccount.inc:57 ../lib/modules/posixAccount.inc:58 -#: ../lib/modules/posixAccount.inc:61 ../lib/modules/posixAccount.inc:123 -#: ../help/help.inc:73 -msgid "Users" -msgstr "Benutzer" - -#: ../help/help.inc:232 -msgid "Users also being member of the current group." -msgstr "Benutzer die Mitglieder der Gruppe sind." - -#: ../lib/modules/posixGroup.inc:334 -msgid "Users who are member of the current group." -msgstr "Benutzer die Mitglieder der aktuellen Gruppe sind." - -#: ../lib/modules/posixGroup.inc:338 -msgid "" -"Users who will become member of the current group. User names are separated " -"by semicolons." -msgstr "" -"Benutzer die Mitglieder der aktuellen Gruppe werden. Benutzernamen werden " -"durch Komma getrennt." - -#: ../help/help.inc:173 -msgid "Users wich are also members of group." -msgstr "Benutzer die Mitglieder der Gruppe sind." - -#: ../help/help.inc:81 -msgid "Valid users" -msgstr "Berechtigte Benutzer" - -#: ../templates/delete.php:184 ../lib/modules.inc:1406 -#, php-format -msgid "Was unable to add attribtues to DN: %s." -msgstr "Konnte keine Attribute zum DN hinzufügen: %s." - -#: ../lib/modules.inc:1371 ../lib/modules.inc:1380 -#, php-format -msgid "Was unable to create DN: %s." -msgstr "Konnte DN nicht erstellen: %s." - -#: ../lib/modules.inc:1364 -#, php-format -msgid "Was unable to delete DN: %s." -msgstr "Konnte DN nicht löschen: %s." - -#: ../templates/delete.php:174 ../lib/modules.inc:1396 -#, php-format -msgid "Was unable to modify attribtues from DN: %s." -msgstr "Konnte die Attribute nicht ändern: %s." - -#: ../templates/delete.php:194 ../templates/delete.php:218 -#: ../lib/modules.inc:1416 -#, php-format -msgid "Was unable to remove attribtues from DN: %s." -msgstr "Konnte die Attribute nicht löschen: %s." - -#: ../help/help.inc:59 -msgid "" -"When using ldaps:// be sure to use exactly the same IP/domain name as in " -"your certificate!" -msgstr "" -"Wenn Sie ldaps:// verwenden stellen Sie sicher, dass Sie genau die selbe IP/" -"Domäne wie in ihrem Zertifikat verwenden!" - -#: ../templates/pdfedit/pdfpage.php:460 -msgid "Width" -msgstr "Breite" - -#: ../help/help.inc:175 -msgid "Windows clients will show display name as group description." -msgstr "Der Anzeigename wird von Windows als Gruppenbeschreibung angezeigt." - -#: ../help/help.inc:217 -msgid "Windows domain" -msgstr "Windows-Domäne" - -#: ../lib/modules/sambaAccount.inc:375 ../lib/modules/sambaSamAccount.inc:186 -msgid "Windows domain name of account." -msgstr "Windows-Domänenname des Accounts." - -#: ../help/help.inc:218 -msgid "Windows domain of host." -msgstr "Windows-Domäne des Hosts." - -#: ../lib/modules/sambaAccount.inc:279 ../lib/modules/sambaAccount.inc:763 -#: ../lib/modules/sambaSamAccount.inc:293 -#: ../lib/modules/sambaSamAccount.inc:742 -#: ../lib/modules/sambaSamAccount.inc:923 -#: ../lib/modules/sambaGroupMapping.inc:174 -#: ../lib/modules/sambaGroupMapping.inc:298 -msgid "Windows group" -msgstr "Windows-Gruppe" - -#: ../lib/modules/sambaAccount.inc:368 -msgid "Windows group RID" -msgstr "Windows-Gruppen-RID" - -#: ../lib/modules/sambaAccount.inc:365 ../help/help.inc:225 -msgid "Windows group name" -msgstr "Windows-Gruppenname" - -#: ../lib/modules/sambaGroupMapping.inc:284 -msgid "Windows group type." -msgstr "Windows-Gruppentyp." - -#: ../lib/modules/sambaGroupMapping.inc:271 -msgid "Windows groupname" -msgstr "Windows-Gruppenname" - -#: ../lib/modules/sambaSamAccount.inc:178 -msgid "Windows primary group SID" -msgstr "Primäre Windows-Gruppen-SID" - -#: ../lib/modules/sambaGroupMapping.inc:280 -msgid "Windows-Domain name of group." -msgstr "Windows-Domänenname der Gruppe." - -#: ../help/help.inc:230 -msgid "Windows-Domain of group." -msgstr "Windows-Domäne der Gruppe." - -#: ../help/help.inc:212 -msgid "Windows-Domain of user." -msgstr "Windows-Domäne des Benutzers." - -#: ../templates/login.php:331 -msgid "Wrong Password/Username combination. Try again." -msgstr "Falsche Benutzername/Passwort-Kombination. Bitte erneut eingeben." - -#: ../templates/pdfedit/pdfdelete.php:89 -#: ../templates/profedit/profiledelete.php:118 -msgid "Wrong or missing type!" -msgstr "Falscher oder fehlender Typ!" - -#: ../lib/modules.inc:618 -msgid "Wrong profilename given." -msgstr "Falscher Profilname angegeben." - -#: ../lib/modules/posixGroup.inc:408 ../lib/modules/posixAccount.inc:76 -#: ../lib/modules/posixAccount.inc:78 -msgid "" -"You are using a capital letters. This can cause problems because windows " -"isn't case-sensitive." -msgstr "" -"Sie verwenden Großbuchstaben, das kann Probleme verursachen, da Windows " -"Groß-/Kleinschreibung nicht unterscheidet." - -#: ../help/help.inc:177 -msgid "" -"You can select a previous defined profile here. This will set all fields to " -"the profile values." -msgstr "" -"Sie können hier ein vordefiniertes Profil wählen. Das überschreibt alle " -"Felder mit den Profilwerten." - -#: ../lib/modules/posixGroup.inc:399 ../lib/modules/posixAccount.inc:73 -msgid "You cannot use this password options at the same time." -msgstr "Sie können diese Passwortoptionen nicht gleichzeitig verwenden." - -#: ../templates/logout.php:70 -msgid "You have been logged off from LDAP Account Manager." -msgstr "Sie wurden vom LDAP Account Manager abgemeldet." - -#: ../templates/login.php:201 -msgid "Your Language" -msgstr "Sprache" - -#: ../lib/modules/sambaAccount.inc:257 ../lib/modules/sambaSamAccount.inc:271 -msgid "\\\\server\\homes\\smiller" -msgstr "\\\\server\\homes\\hmueller" - -#: ../lib/modules/sambaAccount.inc:263 ../lib/modules/sambaSamAccount.inc:277 -msgid "\\\\server\\profiles\\smiller" -msgstr "\\\\server\\profile\\hmueller" - -#: ../lib/modules/posixGroup.inc:289 -msgid "adminstrators" -msgstr "administratoren" - -#: ../templates/config/confmodules.php:194 -#: ../templates/config/confmodules.php:222 -#: ../templates/config/confmodules.php:297 -#: ../templates/config/confmodules.php:325 -#: ../templates/config/confmodules.php:400 -#: ../templates/config/confmodules.php:428 -msgid "base module" -msgstr "Basismodul" - -#: ../lib/modules/inetOrgPerson.inc:62 ../lib/modules/inetOrgPerson.inc:189 -#: ../lib/modules/inetOrgPerson.inc:259 ../lib/modules/inetOrgPerson.inc:260 -#: ../lib/modules/inetOrgPerson.inc:445 ../lib/modules/inetOrgPerson.inc:473 -msgid "eMail address" -msgstr "E-Mail Adresse" - -#: ../lib/modules/posixAccount.inc:190 -msgid "group01,group02" -msgstr "gruppe01,gruppe02" - -#: ../lib/modules/quota.inc:120 ../lib/modules/quota.inc:122 -#: ../lib/modules/quota.inc:189 ../lib/modules/quota.inc:191 -msgid "hours" -msgstr "Stunden" - -#: ../help/help.inc:53 -msgid "" -"ldap://localhost:389 connects to localhost using a standard LDAP connection " -"on port 389" -msgstr "ldaps://141.40.146.133 baut eine einfache Verbindung zu 141.40.146.133 auf." - -#: ../help/help.inc:55 -msgid "" -"ldaps://141.40.146.133 connects to 141.40.146.133 using an encrypted LDAP " -"connection." -msgstr "" -"ldaps://141.40.146.133 baut eine verschlüsselte Verbindung zu 141.40.146.133 " -"auf." - -#: ../lib/modules/posixAccount.inc:250 -msgid "machines" -msgstr "Hosts" - -#: ../lib/modules/sambaAccount.inc:295 ../lib/modules/sambaAccount.inc:305 -#: ../lib/modules/sambaSamAccount.inc:201 -#: ../lib/modules/sambaSamAccount.inc:319 -msgid "mydomain" -msgstr "meineDomaene" - -#: ../help/help.inc:65 -msgid "" -"ou=People,dc=yourcompany,dc=com will read and store all accounts in this " -"subtree." -msgstr "" -"ou=People,dc=yourcompany,dc=com liest und speichert alle Accounts in diesem " -"Unterzweig." - -#: ../lib/modules/posixAccount.inc:236 -msgid "pc01$" -msgstr "pc01$" - -#: ../lib/modules/posixAccount.inc:257 -msgid "pc01,Room 2.34" -msgstr "pc01,Raum 2.34" - -#: ../templates/config/confmain.php:431 -msgid "required" -msgstr "erforderlich" - -#: ../templates/config/confmain.php:433 -msgid "required for Samba 3 accounts" -msgstr "erforderlich für Samba 3 Accounts" - -#: ../templates/config/confmain.php:432 -msgid "required for Samba accounts" -msgstr "erforderlich für Samba-Accounts" - -#: ../templates/pdfedit/pdfpage.php:546 -msgid "right" -msgstr "rechts" - -#: ../lib/modules/posixGroup.inc:315 ../lib/modules/sambaAccount.inc:199 -#: ../lib/modules/sambaSamAccount.inc:213 ../lib/modules/posixAccount.inc:211 -msgid "secret" -msgstr "geheim" - -#: ../lib/modules/posixAccount.inc:169 -msgid "smiller" -msgstr "hmueller" - -#: ../lib/modules/posixGroup.inc:309 -msgid "user01,user02,user03" -msgstr "benutzer01,benutzer02,benutzer03" - -#: ../lib/modules/inetOrgPerson.inc:191 -msgid "user@company.com" -msgstr "benutzer@firma.de" - -#: ../lib/modules/posixAccount.inc:183 -msgid "users" -msgstr "Benutzer" - diff --git a/lam/locale/es_ES/LC_MESSAGES/messages.mo b/lam/locale/es_ES/LC_MESSAGES/messages.mo deleted file mode 100644 index 5e9212aa..00000000 Binary files a/lam/locale/es_ES/LC_MESSAGES/messages.mo and /dev/null differ diff --git a/lam/locale/es_ES/LC_MESSAGES/messages.po b/lam/locale/es_ES/LC_MESSAGES/messages.po deleted file mode 100644 index 07424cf2..00000000 --- a/lam/locale/es_ES/LC_MESSAGES/messages.po +++ /dev/null @@ -1,3805 +0,0 @@ -# translation of messages.po to Español -# -# LDAP Account Manager -# Dani Pardo , 2004. -# -msgid "" -msgstr "" -"Project-Id-Version: messages\n" -"Report-Msgid-Bugs-To: post@rolandgruber.de \n" -"POT-Creation-Date: 2004-01-14 17:45+0200\n" -"PO-Revision-Date: 2004-12-13 20:04+0100\n" -"Last-Translator: Dani Pardo \n" -"Language-Team: Español \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.3.1\n" - -#: ../templates/lists/listdomains.php:138 -#: ../templates/lists/listdomains.php:188 -#, php-format -msgid "%s Samba domain(s) found" -msgstr "%s Dominios de Samba encontrado(s) " - -#: ../templates/lists/listgroups.php:206 ../templates/lists/listgroups.php:282 -#, php-format -msgid "%s group(s) found" -msgstr "%s grupo(s) encontrado(s)" - -#: ../templates/lists/listhosts.php:206 ../templates/lists/listhosts.php:266 -#, php-format -msgid "%s host(s) found" -msgstr "%s host(s) encontrados" - -#: ../templates/lists/listusers.php:245 ../templates/lists/listusers.php:316 -#, php-format -msgid "%s user(s) found" -msgstr "%s usuario(s) encontrados" - -#: ../lib/modules/posixAccount.inc:196 -msgid "/home/smiller" -msgstr "/home/smiller" - -#: ../templates/massBuildAccounts.php:113 -msgid "A required column is missing in your CSV file." -msgstr "Falta una columna obligatoria en su archivo CVS" - -#: ../templates/ou_edit.php:95 ../templates/ou_edit.php:160 -#: ../templates/ou_edit.php:225 ../templates/ou_edit.php:290 -#: ../templates/config/confmodules.php:499 -#: ../templates/config/confmain.php:422 ../templates/pdfedit/pdfdelete.php:82 -#: ../templates/pdfedit/pdfpage.php:834 ../templates/pdfedit/pdfmain.php:144 -#: ../templates/profedit/profiledelete.php:86 -#: ../templates/profedit/profiledelete.php:98 -#: ../templates/profedit/profiledelete.php:110 -#: ../templates/profedit/profilepage.php:140 -#: ../templates/profedit/profilemain.php:262 -msgid "Abort" -msgstr "Abortar" - -#: ../lib/modules/account.inc:35 -msgid "Account" -msgstr "Cuenta" - -#: ../templates/massBuildAccounts.php:164 ../lib/modules/ieee802device.inc:84 -#: ../lib/modules/posixGroup.inc:407 ../lib/modules/posixGroup.inc:411 -#: ../lib/modules/posixGroup.inc:412 ../lib/modules/sambaAccount.inc:48 -#: ../lib/modules/sambaAccount.inc:51 ../lib/modules/sambaAccount.inc:54 -#: ../lib/modules/sambaAccount.inc:56 ../lib/modules/sambaAccount.inc:58 -#: ../lib/modules/sambaAccount.inc:61 ../lib/modules/sambaAccount.inc:64 -#: ../lib/modules/sambaAccount.inc:65 ../lib/modules/sambaAccount.inc:66 -#: ../lib/modules/sambaAccount.inc:67 ../lib/modules/sambaAccount.inc:68 -#: ../lib/modules/sambaAccount.inc:69 ../lib/modules/sambaAccount.inc:70 -#: ../lib/modules/sambaAccount.inc:71 ../lib/modules/sambaAccount.inc:72 -#: ../lib/modules/sambaAccount.inc:73 ../lib/modules/sambaSamAccount.inc:46 -#: ../lib/modules/sambaSamAccount.inc:49 ../lib/modules/sambaSamAccount.inc:52 -#: ../lib/modules/sambaSamAccount.inc:54 ../lib/modules/sambaSamAccount.inc:57 -#: ../lib/modules/sambaSamAccount.inc:60 ../lib/modules/sambaSamAccount.inc:61 -#: ../lib/modules/sambaSamAccount.inc:62 ../lib/modules/sambaSamAccount.inc:63 -#: ../lib/modules/sambaSamAccount.inc:64 ../lib/modules/sambaSamAccount.inc:65 -#: ../lib/modules/sambaSamAccount.inc:66 ../lib/modules/sambaSamAccount.inc:67 -#: ../lib/modules/sambaSamAccount.inc:68 ../lib/modules/sambaSamAccount.inc:69 -#: ../lib/modules/sambaSamAccount.inc:70 ../lib/modules/posixAccount.inc:66 -#: ../lib/modules/posixAccount.inc:70 ../lib/modules/posixAccount.inc:74 -#: ../lib/modules/posixAccount.inc:82 ../lib/modules/posixAccount.inc:83 -#: ../lib/modules/posixAccount.inc:84 ../lib/modules/posixAccount.inc:85 -#: ../lib/modules/posixAccount.inc:86 ../lib/modules/posixAccount.inc:87 -#: ../lib/modules/posixAccount.inc:88 ../lib/modules/sambaGroupMapping.inc:341 -#: ../lib/modules/sambaGroupMapping.inc:342 -#: ../lib/modules/shadowAccount.inc:40 ../lib/modules/shadowAccount.inc:42 -#: ../lib/modules/shadowAccount.inc:44 ../lib/modules/shadowAccount.inc:46 -#: ../lib/modules/shadowAccount.inc:48 ../lib/modules/shadowAccount.inc:49 -#: ../lib/modules/inetOrgPerson.inc:53 ../lib/modules/inetOrgPerson.inc:55 -#: ../lib/modules/inetOrgPerson.inc:57 ../lib/modules/inetOrgPerson.inc:59 -#: ../lib/modules/inetOrgPerson.inc:61 ../lib/modules/inetOrgPerson.inc:63 -#: ../lib/modules/inetOrgPerson.inc:65 ../lib/modules/inetOrgPerson.inc:67 -#: ../lib/modules/inetOrgPerson.inc:69 ../lib/modules/inetOrgPerson.inc:71 -#: ../lib/modules/inetOrgPerson.inc:73 ../lib/modules/inetOrgPerson.inc:74 -#, php-format -msgid "Account %s:" -msgstr "Cuenta %s:" - -#: ../templates/masscreate.php:78 -msgid "Account creation via file upload" -msgstr "Creación de cuenta mediante transferencia de archivo" - -#: ../lib/modules/shadowAccount.inc:156 -msgid "Account expiration date. Format: DD-MM-YYYY" -msgstr "Fecha de caducidad de cuenta. Formato: DD-MM-YYYY" - -#: ../help/help.inc:171 -msgid "Account expire date. Format: DD-MM-YYYY" -msgstr "Fecha de caducidad de cuenta: Formato: DD-MM-YYYY" - -#: ../lib/modules/shadowAccount.inc:333 -msgid "Account inactive" -msgstr "Cuenta inactiva" - -#: ../lib/modules/sambaAccount.inc:118 ../lib/modules/sambaAccount.inc:227 -#: ../lib/modules/sambaAccount.inc:336 ../lib/modules/sambaAccount.inc:339 -#: ../lib/modules/sambaAccount.inc:713 ../lib/modules/sambaSamAccount.inc:149 -#: ../lib/modules/sambaSamAccount.inc:152 -#: ../lib/modules/sambaSamAccount.inc:241 -#: ../lib/modules/sambaSamAccount.inc:692 -#: ../lib/modules/sambaSamAccount.inc:845 ../help/help.inc:196 -msgid "Account is deactivated" -msgstr "La cuenta está desactivada" - -#: ../templates/config/confmain.php:215 ../help/help.inc:106 -msgid "Account modules" -msgstr "Módulos de cuenta" - -#: ../templates/delete.php:88 -msgid "Account name:" -msgstr "Nombre de la cuenta:" - -#: ../lib/modules.inc:767 -msgid "Account was created successfully." -msgstr "La cuenta se creó correctamente." - -#: ../lib/modules.inc:770 -msgid "Account was modified successfully." -msgstr "La cuenta se modificó correctamente." - -#: ../templates/pdfedit/pdfpage.php:725 ../lib/modules/ieee802device.inc:151 -msgid "Add" -msgstr "Añadir" - -#: ../templates/pdfedit/pdfpage.php:713 -msgid "Add after" -msgstr "Añadir al final" - -#: ../templates/config/profmanage.php:172 ../help/help.inc:108 -msgid "Add profile" -msgstr "Añadir perfil" - -#: ../templates/pdfedit/pdfpage.php:699 -msgid "Add section or static text" -msgstr "Añadir sección o texto estático" - -#: ../lib/modules/posixAccount.inc:188 ../lib/modules/posixAccount.inc:330 -#: ../lib/modules/posixAccount.inc:831 ../lib/modules/posixAccount.inc:893 -#: ../lib/modules/posixAccount.inc:925 ../lib/modules/posixAccount.inc:966 -#: ../help/help.inc:138 -msgid "Additional groups" -msgstr "Grupos adicionales" - -#: ../templates/massDoUpload.php:98 -msgid "Additional tasks for module:" -msgstr "Tareas adicionales para el módulo:" - -#: ../lib/modules/sambaAccount.inc:568 ../lib/modules/sambaAccount.inc:769 -#: ../lib/modules/sambaAccount.inc:772 ../lib/modules/sambaSamAccount.inc:539 -#: ../lib/modules/sambaSamAccount.inc:750 -#: ../lib/modules/sambaSamAccount.inc:753 -msgid "Administrator" -msgstr "Administrador" - -#: ../lib/modules/posixGroup.inc:303 -msgid "Administrators group" -msgstr "Grupo del administrador" - -#: ../templates/domain.php:146 ../help/help.inc:252 -msgid "Algorithmic RID Base" -msgstr "Base algorítmica del RID" - -#: ../templates/domain.php:252 -msgid "Algorithmic RID base is not a number!" -msgstr "La base algorítmica del RID no es un numero!" - -#: ../templates/initsuff.php:157 -msgid "All changes were successful." -msgstr "Todos los cambios aplicados con éxito." - -#: ../lib/lists.inc:181 -msgid "Allowed hosts" -msgstr "Hosts permitidos" - -#: ../lib/modules/sambaAccount.inc:819 ../lib/modules/sambaAccount.inc:820 -#: ../lib/modules/sambaSamAccount.inc:800 -#: ../lib/modules/sambaSamAccount.inc:801 -msgid "Allowed workstations" -msgstr "Estaciones de trabajo permitidas" - -#: ../templates/lists/listusers.php:347 -msgid "Apply" -msgstr "Aplicar" - -#: ../lib/cache.inc:101 ../lib/cache.inc:160 -msgid "Attribute not defined in LDAP." -msgstr "Atributo no definido en LDAP" - -#: ../templates/config/confmain.php:292 ../lib/config.inc:338 -msgid "Attributes in Group List" -msgstr "Atributos en la lista de grupos" - -#: ../templates/config/confmain.php:298 ../lib/config.inc:339 -msgid "Attributes in Host List" -msgstr "Atributos en la lista de hosts" - -#: ../templates/config/confmain.php:286 ../lib/config.inc:337 -msgid "Attributes in User List" -msgstr "Atributos en la lista de usuarios" - -#: ../templates/pdfedit/pdfpage.php:852 -msgid "Available PDF fields" -msgstr "Campos disponibles del PDF " - -#: ../templates/config/confmodules.php:319 -msgid "Available group modules" -msgstr "Módulos de grupo disponibles" - -#: ../lib/modules/posixAccount.inc:899 -msgid "Available groups" -msgstr "Grupos disponibles" - -#: ../templates/config/confmodules.php:422 -msgid "Available host modules" -msgstr "Modulos de host disponibles" - -#: ../templates/config/confmodules.php:216 -msgid "Available user modules" -msgstr "Módulos de usuarios disponibles" - -#: ../lib/modules/posixGroup.inc:199 -msgid "Available users" -msgstr "Usuarios disponibles" - -#: ../lib/modules/sambaAccount.inc:825 ../lib/modules/sambaSamAccount.inc:806 -msgid "Available workstations" -msgstr "Estaciones de trabajo disponibles" - -#: ../lib/modules/posixGroup.inc:203 ../lib/modules/sambaAccount.inc:829 -#: ../lib/modules/sambaSamAccount.inc:810 ../lib/modules/posixAccount.inc:903 -msgid "Back" -msgstr "Atrás" - -#: ../templates/config/confsave.php:248 ../templates/config/conflogin.php:147 -#: ../templates/logout.php:71 -msgid "Back to Login" -msgstr "Volver a autentificarse" - -#: ../templates/ou_edit.php:309 ../templates/ou_edit.php:313 -msgid "Back to OU-Editor" -msgstr "Retroceder al editor de Unidades Organizativas (OU)" - -#: ../templates/pdfedit/pdfdelete.php:61 ../templates/pdfedit/pdfdelete.php:69 -#: ../templates/pdfedit/pdfdelete.php:90 -msgid "Back to PDF Editor" -msgstr "Volver al editor de PDF" - -#: ../templates/profedit/profilecreate.php:115 -#: ../templates/profedit/profiledelete.php:63 -#: ../templates/profedit/profiledelete.php:71 -#: ../templates/profedit/profiledelete.php:119 -msgid "Back to Profile Editor" -msgstr "Regresar al editor de perfiles" - -#: ../lib/modules.inc:780 -msgid "Back to account list" -msgstr "Regresar a la lista de cuentas" - -#: ../templates/domain.php:290 ../templates/domain.php:317 -msgid "Back to domain list" -msgstr "Regresar a la lista de dominios" - -#: ../templates/lists/userlink.php:65 -msgid "Back to group list" -msgstr "Regresar a la lista de usuarios" - -#: ../templates/delete.php:238 -msgid "Back to list" -msgstr "Regresar a la lista" - -#: ../templates/config/confsave.php:92 ../templates/config/confsave.php:97 -#: ../templates/config/confsave.php:102 ../templates/config/confsave.php:107 -#: ../templates/config/confsave.php:112 ../templates/config/confsave.php:117 -#: ../templates/config/confsave.php:122 ../templates/config/confsave.php:127 -#: ../templates/config/confsave.php:132 ../templates/config/confsave.php:137 -#: ../templates/config/confsave.php:142 ../templates/config/confsave.php:148 -#: ../templates/config/confsave.php:154 ../templates/config/confsave.php:160 -#: ../templates/config/confsave.php:166 ../templates/config/confsave.php:172 -#: ../templates/config/confsave.php:178 ../templates/config/confsave.php:225 -msgid "Back to preferences..." -msgstr "Regresar a preferencias..." - -#: ../templates/config/profmanage.php:382 -msgid "Back to profile login" -msgstr "Regresar al logeo del perfil" - -#: ../templates/pdfedit/pdfpage.php:577 -msgid "Beginning" -msgstr "Comienzo" - -#: ../lib/modules/quota.inc:31 -msgid "Block hard quota" -msgstr "Bloquear quota \"hard\"" - -#: ../lib/modules/quota.inc:31 -msgid "" -"Block hard quota contains invalid characters. Only natural numbers are " -"allowed." -msgstr "El campo \"Bloquear quota hard\" contiene carácteres inválidos. Sólo se admiten numeros naturales." - -#: ../lib/modules/quota.inc:34 -msgid "Block quota" -msgstr "Bloquear quota" - -#: ../lib/modules/quota.inc:30 -msgid "Block soft quota" -msgstr "Bloquear quota \"soft\"" - -#: ../lib/modules/quota.inc:30 -msgid "" -"Block soft quota contains invalid characters. Only natural numbers are " -"allowed." -msgstr "El campo \"Bloquear quota soft\" contiene carácteres inválidos. Sólo se admiten números naturales." - -#: ../lib/modules/quota.inc:34 -msgid "Block soft quota must be smaller than block hard quota." -msgstr "El campo \"Bloquear quota soft\" debe ser menor que el campo \"Bloquear quota hard\"." - -#: ../templates/pdfedit/pdfpage.php:524 -msgid "Bottom" -msgstr "Debajo" - -#: ../lib/modules/sambaGroupMapping.inc:55 -msgid "Builtin Group" -msgstr "Grupo incorporado del sistema" - -#: ../templates/masscreate.php:127 -msgid "CSV file:" -msgstr "Archivo CSV:" - -#: ../templates/config/confmain.php:198 ../lib/config.inc:332 -#: ../help/help.inc:102 -msgid "Cache timeout" -msgstr "Tiempo máximo de espera de la caché:" - -#: ../templates/config/confsave.php:96 -msgid "Cache timeout is invalid!" -msgstr "El tiempo máximo de espera de la caché es inválido." - -#: ../lib/modules/posixGroup.inc:334 ../lib/modules/sambaAccount.inc:351 -#: ../lib/modules/sambaAccount.inc:355 ../lib/modules/sambaAccount.inc:359 -#: ../lib/modules/sambaAccount.inc:363 ../lib/modules/sambaAccount.inc:375 -#: ../lib/modules/sambaSamAccount.inc:164 -#: ../lib/modules/sambaSamAccount.inc:168 -#: ../lib/modules/sambaSamAccount.inc:172 -#: ../lib/modules/sambaSamAccount.inc:176 ../lib/modules/posixAccount.inc:331 -#: ../lib/modules/sambaGroupMapping.inc:280 -#: ../lib/modules/shadowAccount.inc:140 ../lib/modules/shadowAccount.inc:144 -#: ../lib/modules/shadowAccount.inc:148 ../lib/modules/shadowAccount.inc:152 -#: ../help/help.inc:139 ../help/help.inc:163 ../help/help.inc:165 -#: ../help/help.inc:167 ../help/help.inc:169 ../help/help.inc:201 -#: ../help/help.inc:204 ../help/help.inc:207 ../help/help.inc:209 -#: ../help/help.inc:212 ../help/help.inc:218 ../help/help.inc:228 -#: ../help/help.inc:230 ../help/help.inc:232 -msgid "Can be left empty." -msgstr "Se puede dejar vacio." - -#: ../templates/domain.php:188 ../templates/domain.php:219 -#: ../templates/delete.php:104 ../templates/initsuff.php:194 -msgid "Cancel" -msgstr "Cancelar" - -#: ../templates/login.php:321 ../templates/login.php:326 -msgid "Cannot connect to specified LDAP-Server. Please try again." -msgstr "No se puede conectar al servidor LDAP especificado. Por favor, inténtelo de nuevo." - -#: ../lib/config.inc:323 ../lib/config.inc:895 -msgid "Cannot open config file!" -msgstr "No se puede abrir el archivo de configuración." - -#: ../templates/pdfedit/pdfpage.php:605 ../templates/pdfedit/pdfpage.php:611 -msgid "Change" -msgstr "Cambiar" - -#: ../lib/modules/posixGroup.inc:155 -msgid "Change GID number of users and hosts" -msgstr "Cambiar GID de usuarios y hosts" - -#: ../templates/login.php:272 -msgid "Change Profile" -msgstr "Cambiar perfil" - -#: ../templates/lists/listhosts.php:285 ../templates/lists/listgroups.php:301 -#: ../templates/lists/listdomains.php:207 ../templates/lists/listusers.php:335 -msgid "Change Suffix" -msgstr "Cambiar Sufijo" - -#: ../templates/config/profmanage.php:319 ../help/help.inc:116 -msgid "Change default profile" -msgstr "Cambiar perfil por defecto" - -#: ../templates/config/profmanage.php:339 ../help/help.inc:118 -msgid "Change master password" -msgstr "Cambiar contraseña maestra" - -#: ../help/help.inc:100 -msgid "Change password" -msgstr "Cambiar contraseña" - -#: ../lib/baseModule.inc:524 -#, php-format -msgid "Changed value %s because only numeric values are allowed." -msgstr "Se ha cambiado el valor %s porque solo se admiten valores numéricos." - -#: ../lib/baseModule.inc:541 -msgid "Changed value because only ASCII characters are allowed." -msgstr "Se ha cambiado el valor porque sólo se admiten valores alfanuméricos." - -#: ../lib/config.inc:88 -msgid "Click here if you are not directed to the next page." -msgstr "Haga click aquí si no se le redirge automáticamente a la página siguiente." - -#: ../templates/masscreate.php:135 -msgid "Columns:" -msgstr "Columnas:" - -#: ../lib/modules/sambaAccount.inc:363 ../lib/modules/sambaSamAccount.inc:176 -msgid "" -"Comma separated list of Samba workstations the user is allowed to login. " -"Empty means every workstation." -msgstr "" -"Lista (separada por comas) de estaciones de trabajo a través de las cuales el usuario está autorizado a Iniciar sesión. " -"Vacio significará todas las estacioines de trabajo." - -#: ../help/help.inc:228 -msgid "Comma separated list of unix workstations the user is allowed to login." -msgstr "Lista (separada por comas) de estaciones Unix a traves de las cuales el usuario estará autorizado a entrar." - -#: ../lib/modules/inetOrgPerson.inc:115 -msgid "Common name" -msgstr "Nombre común" - -#: ../templates/login.php:119 -msgid "Configuration Login" -msgstr "Login de configuración" - -#: ../templates/login.php:255 -msgid "Configuration profile" -msgstr "Perfil de configuración" - -#: ../help/help.inc:46 ../help/help.inc:48 ../help/help.inc:60 -#: ../help/help.inc:66 ../help/help.inc:81 ../help/help.inc:86 -#: ../help/help.inc:88 ../help/help.inc:90 ../help/help.inc:95 -#: ../help/help.inc:100 ../help/help.inc:102 ../help/help.inc:104 -#: ../help/help.inc:106 -msgid "Configuration wizard" -msgstr "Asistente de configuración" - -#: ../templates/config/confmodules.php:257 -#: ../templates/config/confmodules.php:360 -#: ../templates/config/confmodules.php:463 -msgid "Conflicting module:" -msgstr "Módulo en conflicto:" - -#: ../templates/config/profmanage.php:99 -msgid "Could not rename file!" -msgstr "No se pudo renombrar el archivo!" - -#: ../templates/initsuff.php:193 -msgid "Create" -msgstr "Crear" - -#: ../lib/modules.inc:760 -msgid "Create Account" -msgstr "Crear cuenta" - -#: ../lib/modules.inc:778 -msgid "Create PDF file" -msgstr "Crear PDF" - -#: ../templates/lists/listgroups.php:319 -msgid "Create PDF for all groups" -msgstr "Crear PFD para todos los grupos" - -#: ../templates/lists/listhosts.php:304 -msgid "Create PDF for all hosts" -msgstr "Crear PDF para todos los hosts" - -#: ../templates/lists/listusers.php:367 -msgid "Create PDF for all users" -msgstr "Crear PDF para todas las máquinas" - -#: ../templates/lists/listgroups.php:317 -msgid "Create PDF for selected group(s)" -msgstr "Crear PDF para los grupos selecionados" - -#: ../templates/lists/listhosts.php:302 -msgid "Create PDF for selected host(s)" -msgstr "Crear PFD para los hosts selecionados" - -#: ../templates/lists/listusers.php:365 -msgid "Create PDF for selected user(s)" -msgstr "Crear PDF para los usuarios selecionados" - -#: ../templates/pdfedit/pdfmain.php:109 -msgid "Create a new PDF structure for scope: " -msgstr "Crear una nueva estructura del PDF para el contexto:" - -#: ../templates/profedit/profilemain.php:140 -#: ../templates/profedit/profilemain.php:183 -#: ../templates/profedit/profilemain.php:226 -msgid "Create a new profile" -msgstr "Crear un nuevo perfil" - -#: ../lib/modules.inc:776 -msgid "Create another account" -msgstr "Crear una nueva cuenta" - -#: ../templates/masscreate.php:99 -msgid "Create group accounts" -msgstr "Crear cuentas de grupo" - -#: ../lib/modules/posixAccount.inc:838 -msgid "Create home directory" -msgstr "Crear el directorio del usuario" - -#: ../templates/masscreate.php:102 -msgid "Create host accounts" -msgstr "Crear cuentas de host" - -#: ../lib/modules.inc:673 -msgid "Create new Account" -msgstr "Crear nueva cuenta" - -#: ../templates/masscreate.php:96 -msgid "Create user accounts" -msgstr "Crear cuentas de usuario" - -#: ../templates/config/profmanage.php:84 -msgid "Created new profile." -msgstr "Se ha creado un nuevo perfil." - -#: ../templates/tools.php:70 -msgid "Creates accounts by uploading a CSV formated file." -msgstr "Crea cuentas de usuario mediante la transferencia de un archivo CSV." - -#: ../templates/delete.php:89 ../lib/modules.inc:1509 -msgid "DN" -msgstr "DN" - -#: ../templates/masscreate.php:138 -msgid "DN settings" -msgstr "Opcioines de DN" - -#: ../templates/masscreate.php:142 ../help/help.inc:129 -msgid "DN suffix" -msgstr "Sufijo DN" - -#: ../lib/modules/sambaGroupMapping.inc:253 -msgid "DOMAIN_ADMINS" -msgstr "DOMAIN_ADMINS" - -#: ../templates/massBuildAccounts.php:164 -msgid "Data field for RDN is empty!" -msgstr "El campo RDN está vacio!" - -#: ../lib/modules/sambaAccount.inc:343 ../lib/modules/sambaSamAccount.inc:156 -#: ../help/help.inc:193 -msgid "Date after the user is able to change his password. Format: DD-MM-YYYY" -msgstr "Fecha a partir de la cual el usuario está autorizado a cambiar su contraseña. El formato es DD-MM-YYYY" - -#: ../lib/modules/sambaAccount.inc:345 ../lib/modules/sambaSamAccount.inc:158 -#: ../help/help.inc:195 -msgid "Date after the user must change his password. Format: DD-MM-YYYY" -msgstr "Fecha en la que el usuario deberá cambiar su contraseña. Formato: DD-MM-YYYY" - -#: ../lib/modules/shadowAccount.inc:140 ../help/help.inc:163 -msgid "" -"Days before password is to expire that user is warned of pending password " -"expiration. If set value must be 0<." -msgstr "Numero de dias antes de que caduque la contraseña, a partir de los cuales el usuario será avisado de dicha caducidad. En caso de especificar valor, debe ser menor que 0." - -#: ../templates/config/confmain.php:328 ../lib/config.inc:341 -#: ../help/help.inc:88 -msgid "Default language" -msgstr "Idioma por defecto" - -#: ../templates/masscreate.php:147 ../templates/masscreate.php:302 -msgid "Default value" -msgstr "Valor por defecto" - -#: ../templates/domain.php:218 ../templates/delete.php:103 -msgid "Delete" -msgstr "Borrar" - -#: ../templates/delete.php:74 ../templates/delete.php:121 -msgid "Delete Account" -msgstr "Borrar cuenta" - -#: ../templates/lists/listdomains.php:214 -msgid "Delete Domain(s)" -msgstr "Borrar Dominio(s)" - -#: ../templates/lists/listgroups.php:308 -msgid "Delete Group(s)" -msgstr "Borrar Grupo(s)" - -#: ../templates/lists/listhosts.php:293 -msgid "Delete Host(s)" -msgstr "Borrar Host(s)" - -#: ../templates/pdfedit/pdfdelete.php:48 ../templates/pdfedit/pdfmain.php:133 -msgid "Delete PDF structure" -msgstr "Borrar estructura del PDF" - -#: ../templates/profedit/profiledelete.php:52 -msgid "Delete User Profile" -msgstr "Borrar perfil de usuario" - -#: ../templates/domain.php:209 -msgid "Delete domain(s)" -msgstr "Borrar dominio(s)" - -#: ../lib/modules/posixAccount.inc:870 -msgid "Delete home directory" -msgstr "Borrar directorio del usuario" - -#: ../templates/pdfedit/pdfdelete.php:68 -#: ../templates/profedit/profiledelete.php:70 -msgid "Delete operation canceled." -msgstr "Se ha cancelado la operación de borrar" - -#: ../templates/ou_edit.php:357 ../templates/ou_edit.php:390 -#: ../templates/ou_edit.php:423 ../templates/ou_edit.php:456 -#: ../help/help.inc:238 -msgid "Delete organizational unit" -msgstr "Borrar unidad organizativa" - -#: ../templates/config/profmanage.php:248 -#: ../templates/profedit/profilemain.php:164 -#: ../templates/profedit/profilemain.php:207 -#: ../templates/profedit/profilemain.php:250 ../help/help.inc:112 -msgid "Delete profile" -msgstr "Borrar perefil" - -#: ../templates/lists/listusers.php:356 -msgid "Delete user(s)" -msgstr "Borrar usuario(s)" - -#: ../lib/modules/sambaGroupMapping.inc:56 -msgid "Deleted Account" -msgstr "Cuenta suprimida" - -#: ../templates/delete.php:224 -#, php-format -msgid "Deleted DN: %s" -msgstr "DN suprimido: %s" - -#: ../templates/pdfedit/pdfdelete.php:59 -msgid "Deleted PDF structure:" -msgstr "Estructura de PDF suprimida:" - -#: ../templates/profedit/profiledelete.php:62 -msgid "Deleted profile:" -msgstr "Perfil suprimido:" - -#: ../templates/delete.php:128 -msgid "Deleting. Please stand by ..." -msgstr "Borrando. Por favor, espere..." - -#: ../lib/modules/account.inc:71 ../lib/modules/account.inc:155 -#: ../lib/modules/account.inc:172 ../lib/modules/posixGroup.inc:131 -#: ../lib/modules/posixGroup.inc:329 ../lib/modules/posixGroup.inc:371 -#: ../lib/modules/sambaAccount.inc:850 ../lib/modules/sambaSamAccount.inc:922 -#: ../lib/modules/posixAccount.inc:267 -#: ../lib/modules/sambaGroupMapping.inc:301 -#: ../lib/modules/shadowAccount.inc:335 ../lib/modules/inetOrgPerson.inc:135 -#: ../lib/modules/inetOrgPerson.inc:393 ../lib/modules/inetOrgPerson.inc:461 -#: ../lib/lists.inc:187 -msgid "Description" -msgstr "Descripción" - -#: ../lib/modules/sambaAccount.inc:191 ../lib/modules/sambaAccount.inc:312 -#: ../lib/modules/sambaAccount.inc:842 ../lib/modules/sambaSamAccount.inc:125 -#: ../lib/modules/sambaSamAccount.inc:205 -#: ../lib/modules/sambaSamAccount.inc:914 -#: ../lib/modules/sambaGroupMapping.inc:159 -#: ../lib/modules/sambaGroupMapping.inc:267 -#: ../lib/modules/sambaGroupMapping.inc:299 ../help/help.inc:174 -msgid "Display name" -msgstr "Nombre a mostrar" - -#: ../lib/modules.inc:471 -msgid "" -"Displayed account numbers start at \"0\". Add 2 to get the row in your " -"spreadsheet." -msgstr "Los números de cuenta mostrados empiezan a partir de \"0\". Añada 2 para obtener la fila correspondiente dentro de su hoja de cálculo." - -#: ../templates/domain.php:210 -msgid "Do you really want to delete domain(s):" -msgstr "Está Ud. seguro que quiere borrar los dominio(s): " - -#: ../templates/ou_edit.php:87 ../templates/ou_edit.php:152 -#: ../templates/ou_edit.php:217 ../templates/ou_edit.php:282 -msgid "Do you really want to delete this OU?" -msgstr "Está Ud. seguro que quiere borrar esta Unidad Organizativa (U.O)?" - -#: ../templates/pdfedit/pdfdelete.php:77 -msgid "Do you really want to delete this PDF structure?" -msgstr "Está Ud. seguro que quiere borrar esta estructura de PDF?" - -#: ../templates/profedit/profiledelete.php:81 -#: ../templates/profedit/profiledelete.php:93 -#: ../templates/profedit/profiledelete.php:105 -msgid "Do you really want to delete this profile?" -msgstr "Está Ud. seguro que quiere borrar este perfil?" - -#: ../templates/delete.php:83 -msgid "Do you really want to remove the following accounts?" -msgstr "Está Ud. seguro de querer borrar las cuentas especificadas?" - -#: ../lib/modules/sambaAccount.inc:157 ../lib/modules/sambaAccount.inc:293 -#: ../lib/modules/sambaAccount.inc:303 ../lib/modules/sambaAccount.inc:374 -#: ../lib/modules/sambaAccount.inc:784 ../lib/modules/sambaAccount.inc:793 -#: ../lib/modules/sambaAccount.inc:849 ../lib/modules/sambaSamAccount.inc:185 -#: ../lib/modules/sambaSamAccount.inc:198 -#: ../lib/modules/sambaSamAccount.inc:317 -#: ../lib/modules/sambaSamAccount.inc:765 -#: ../lib/modules/sambaSamAccount.inc:773 -#: ../lib/modules/sambaSamAccount.inc:888 -#: ../lib/modules/sambaSamAccount.inc:901 -#: ../lib/modules/sambaSamAccount.inc:921 -#: ../lib/modules/sambaGroupMapping.inc:53 -#: ../lib/modules/sambaGroupMapping.inc:187 -#: ../lib/modules/sambaGroupMapping.inc:279 -#: ../lib/modules/sambaGroupMapping.inc:321 ../help/help.inc:211 -#: ../help/help.inc:229 -msgid "Domain" -msgstr "Dominio" - -#: ../lib/modules/sambaAccount.inc:33 ../lib/modules/sambaAccount.inc:288 -#: ../lib/modules/sambaSamAccount.inc:33 -#: ../lib/modules/sambaGroupMapping.inc:40 -msgid "Domain Admins" -msgstr "Administradores del Dominio" - -#: ../lib/modules/sambaAccount.inc:35 ../lib/modules/sambaSamAccount.inc:34 -#: ../lib/modules/sambaGroupMapping.inc:45 -msgid "Domain Certificate Admins" -msgstr "Administradores certificados del Dominio" - -#: ../lib/modules/sambaAccount.inc:34 ../lib/modules/sambaAccount.inc:529 -#: ../lib/modules/sambaSamAccount.inc:34 -#: ../lib/modules/sambaSamAccount.inc:500 -#: ../lib/modules/sambaGroupMapping.inc:43 -msgid "Domain Computers" -msgstr "Ordenadores del Dominio" - -#: ../lib/modules/sambaAccount.inc:35 ../lib/modules/sambaSamAccount.inc:34 -#: ../lib/modules/sambaGroupMapping.inc:44 -msgid "Domain Controllers" -msgstr "Controladores del Dominio" - -#: ../lib/modules/sambaAccount.inc:36 ../lib/modules/sambaSamAccount.inc:35 -#: ../lib/modules/sambaGroupMapping.inc:47 -msgid "Domain Enterprise Admins" -msgstr "Administradores \"Enterprise\" del Dominio" - -#: ../lib/modules/sambaGroupMapping.inc:52 -#: ../lib/modules/sambaGroupMapping.inc:179 -msgid "Domain Group" -msgstr "Grupo de Dominio" - -#: ../lib/modules/sambaAccount.inc:34 ../lib/modules/sambaSamAccount.inc:33 -#: ../lib/modules/sambaGroupMapping.inc:42 -msgid "Domain Guests" -msgstr "Invitados del Dominio" - -#: ../lib/modules/sambaAccount.inc:37 ../lib/modules/sambaSamAccount.inc:35 -#: ../lib/modules/sambaGroupMapping.inc:48 -msgid "Domain Policy Admins" -msgstr "Administradores de politicas de Dominio" - -#: ../templates/lists/listdomains.php:99 ../templates/domain.php:104 -#: ../help/help.inc:244 -msgid "Domain SID" -msgstr "SID del Dominio" - -#: ../lib/modules/sambaAccount.inc:36 ../lib/modules/sambaSamAccount.inc:35 -#: ../lib/modules/sambaGroupMapping.inc:46 -msgid "Domain Schema Admins" -msgstr "Administradores del Esquema de Dominio" - -#: ../templates/domain.php:83 -msgid "Domain Settings" -msgstr "Preferencias de Dominio" - -#: ../lib/modules/sambaAccount.inc:33 ../lib/modules/sambaSamAccount.inc:33 -#: ../lib/modules/sambaGroupMapping.inc:41 -msgid "Domain Users" -msgstr "Usuarios del Dominio" - -#: ../lib/modules/sambaGroupMapping.inc:247 -msgid "Domain administrators" -msgstr "Administradores del Dominio" - -#: ../templates/domain.php:313 -msgid "Domain deleted successfully." -msgstr "Dominio suprimido correctamente" - -#: ../templates/domain.php:269 -msgid "Domain has been modified." -msgstr "El dominio ha sido modicado." - -#: ../templates/lists/listdomains.php:98 ../templates/domain.php:88 -#: ../lib/modules/sambaAccount.inc:57 ../help/help.inc:240 -msgid "Domain name" -msgstr "Nombre del dominio" - -#: ../lib/modules/sambaAccount.inc:57 ../lib/modules/sambaAccount.inc:58 -msgid "" -"Domain name contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and -." -msgstr "El nombre del domio contiene carácteres inválidos. Los caracteres válidos son: a-z, A-Z, 0-9 y -." - -#: ../templates/domain.php:242 -msgid "Domain name is invalid!" -msgstr "El nombre del dominio es inválido!" - -#: ../templates/config/confmain.php:188 ../lib/config.inc:336 -msgid "DomainSuffix" -msgstr "SufijoDeDominio" - -#: ../templates/config/confsave.php:121 -msgid "DomainSuffix is invalid!" -msgstr "SufijoDeDominio es inválido!" - -#: ../templates/ou_edit.php:438 -msgid "Domains" -msgstr "Dominios" - -#: ../templates/pdfedit/pdfpage.php:581 -msgid "Down" -msgstr "Abajo" - -#: ../templates/masscreate.php:261 -msgid "Download sample CSV file" -msgstr "Bajarse archivo CSV de ejemplo" - -#: ../lib/modules/sambaAccount.inc:348 ../lib/modules/sambaSamAccount.inc:161 -msgid "Drive letter assigned on windows workstations as homedirectory." -msgstr "Letra de la unidad que será asignada al diretorio home en Windows." - -#: ../help/help.inc:199 -msgid "Driveletter assigned on windows workstations as homedirectory." -msgstr "Letra de la unidad que será asignada al diretorio home en Windows." - -#: ../lib/lists.inc:186 -msgid "E-Mail" -msgstr "E-Mail" - -#: ../templates/lists/listhosts.php:233 ../templates/lists/listgroups.php:233 -#: ../templates/lists/listdomains.php:168 ../templates/lists/listusers.php:283 -msgid "Edit" -msgstr "Editar" - -#: ../templates/pdfedit/pdfmain.php:121 -msgid "Edit PDF structure" -msgstr "Editar estructura PDF" - -#: ../lib/modules/posixGroup.inc:135 ../lib/modules/posixAccount.inc:832 -msgid "Edit groups" -msgstr "Editar grupos" - -#: ../templates/config/confmain.php:223 -msgid "Edit modules" -msgstr "Editar módulos" - -#: ../templates/profedit/profilemain.php:152 -#: ../templates/profedit/profilemain.php:195 -#: ../templates/profedit/profilemain.php:238 -msgid "Edit profile" -msgstr "Editar perfil" - -#: ../lib/modules/sambaAccount.inc:749 ../lib/modules/sambaSamAccount.inc:728 -msgid "Edit workstations" -msgstr "Editar estaciones de trabajo" - -#: ../lib/modules/inetOrgPerson.inc:72 ../lib/modules/inetOrgPerson.inc:99 -#: ../lib/modules/inetOrgPerson.inc:147 ../lib/modules/inetOrgPerson.inc:231 -#: ../lib/modules/inetOrgPerson.inc:417 ../lib/modules/inetOrgPerson.inc:466 -msgid "Employee type" -msgstr "Tipo de empleado" - -#: ../lib/modules/inetOrgPerson.inc:232 -msgid "Employee type: Contractor, Employee, Intern, Temp, External, ..." -msgstr "Tipo de empleado: Contratador, Empleado, Interno, Temporal, Externo, ..." - -#: ../templates/login.php:297 -msgid "Empty Password submitted. Try again." -msgstr "Contraseña en blanco.Pruebe de nuevo." - -#: ../templates/login.php:148 -msgid "Enter Username and Password for Account" -msgstr "Editar Usuario y Contraseña para la cuenta" - -#: ../templates/delete.php:230 -#, php-format -msgid "Error while deleting DN: %s" -msgstr "Error mientras se suprimia DN: %s" - -#: ../help/help.inc:69 ../help/help.inc:84 -msgid "Example" -msgstr "Ejemplo" - -#: ../templates/masscreate.php:146 ../templates/masscreate.php:159 -#: ../templates/masscreate.php:298 -msgid "Example value" -msgstr "Valor de ejemplo" - -#: ../help/help.inc:51 ../help/help.inc:63 -msgid "Examples" -msgstr "Ejemplos" - -#: ../help/help.inc:178 -msgid "Expand suffix with primary groupname" -msgstr "Expandir sufijo con el nombre de grupo primario" - -#: ../lib/modules/shadowAccount.inc:93 ../lib/modules/shadowAccount.inc:155 -#: ../lib/modules/shadowAccount.inc:187 ../lib/modules/shadowAccount.inc:310 -msgid "Expiration date" -msgstr "Fecha de expiración" - -#: ../help/help.inc:170 -msgid "Expire date" -msgstr "Fecha de expiración" - -#: ../templates/domain.php:287 -msgid "Failed to add domain!" -msgstr "Fallo al añadir dominio!" - -#: ../templates/initsuff.php:149 -msgid "Failed to create entry!" -msgstr "Fallo al crear la entrada!" - -#: ../templates/domain.php:270 -msgid "Failed to modify domain!" -msgstr "Fallo al modificar el dominio!" - -#: ../lib/modules/inetOrgPerson.inc:60 ../lib/modules/inetOrgPerson.inc:183 -#: ../lib/modules/inetOrgPerson.inc:255 ../lib/modules/inetOrgPerson.inc:256 -#: ../lib/modules/inetOrgPerson.inc:441 ../lib/modules/inetOrgPerson.inc:472 -msgid "Fax number" -msgstr "Numero de fax" - -#: ../templates/tools.php:69 -msgid "File upload" -msgstr "Subir archivo" - -#: ../lib/modules/sambaAccount.inc:359 ../lib/modules/sambaSamAccount.inc:172 -#: ../help/help.inc:201 -#, php-format -msgid "" -"Filename and -path relative to netlogon-share which should be executed on " -"logon. $%s and $%s are replaced with user- and groupname." -msgstr "Archivo y ruta relativa al recurso \"netlogon\" que se ejecutará al entrar. $%s y $%s se reemplazarán con el nombre de usuario y nombre del grupo." - -#: ../lib/lists.inc:155 -msgid "Filter" -msgstr "Filtro" - -#: ../lib/modules/inetOrgPerson.inc:52 ../lib/modules/inetOrgPerson.inc:122 -#: ../lib/modules/inetOrgPerson.inc:223 ../lib/modules/inetOrgPerson.inc:409 -#: ../lib/modules/inetOrgPerson.inc:464 ../lib/lists.inc:182 -#: ../help/help.inc:184 -msgid "First name" -msgstr "Nombre" - -#: ../lib/modules/inetOrgPerson.inc:52 ../lib/modules/inetOrgPerson.inc:53 -msgid "First name contains invalid characters!" -msgstr "El nombre contiene caracteres inválidos!" - -#: ../lib/modules/inetOrgPerson.inc:224 ../help/help.inc:185 -msgid "First name of user. Only letters, - and spaces are allowed." -msgstr "Nombre del usuario. Solo letras. También se permiten \"-\" y espacios." - -#: ../lib/modules/posixGroup.inc:128 ../lib/modules/posixGroup.inc:295 -#: ../lib/modules/posixGroup.inc:325 ../lib/modules/posixGroup.inc:350 -#: ../lib/modules/posixGroup.inc:369 ../lib/modules/posixGroup.inc:400 -#: ../lib/modules/posixAccount.inc:41 ../lib/modules/posixAccount.inc:963 -#: ../lib/modules/sambaGroupMapping.inc:297 ../lib/lists.inc:179 -#: ../lib/lists.inc:199 ../lib/lists.inc:218 ../help/help.inc:150 -msgid "GID number" -msgstr "Numero GID" - -#: ../lib/modules/posixGroup.inc:400 -msgid "" -"GID number has changed. Please select checkbox to change GID number of users " -"and hosts." -msgstr "El GID ha cambiado. Por favor, seleccione el checkbox para cambiar el GID del los usuarios y hosts." - -#: ../lib/modules/posixAccount.inc:41 -#, php-format -msgid "" -"GID number has changed. To keep file ownership you have to run the following " -"command as root: 'find / -gid %s -uid %s -exec chgrp %s {} \\;'" -msgstr "El GID ha cambiado. Para conservar los propiedad de sus archivos, ejecute el siguiente comando como root: 'find / -gid %s -uid %s -exec chgrp %s {} \\;'" - -#: ../lib/modules/posixGroup.inc:407 -msgid "GID number has to be a numeric value!" -msgstr "El numero GID debe ser un valor numérico!" - -#: ../lib/modules/posixGroup.inc:251 -msgid "GID ranges for Unix groups" -msgstr "Rangos GID para los grupos Unix" - -#: ../lib/modules/account.inc:46 ../lib/modules/posixAccount.inc:223 -#: ../lib/modules/posixAccount.inc:255 ../lib/modules/posixAccount.inc:308 -#: ../lib/modules/posixAccount.inc:340 ../lib/modules/posixAccount.inc:821 -#: ../lib/modules/posixAccount.inc:964 ../lib/modules/inetOrgPerson.inc:215 -#: ../lib/modules/inetOrgPerson.inc:265 ../help/help.inc:142 -#: ../help/help.inc:152 ../help/help.inc:160 -msgid "Gecos" -msgstr "Gecos" - -#: ../lib/modules/posixGroup.inc:139 ../lib/modules/posixAccount.inc:844 -msgid "Generate password" -msgstr "Generar contraseña" - -#: ../lib/modules/quota.inc:80 ../lib/modules/quota.inc:295 -msgid "Grace block period" -msgstr "Periodo de gracia de bloqueo" - -#: ../lib/modules/quota.inc:81 -msgid "Grace block period. Most filesystems use a fixed maximum value of 7 days." -msgstr "Periodo de gracia de bloqueo. La mayoria de sistemas de archivos usan un máximo fijo de 7 dias." - -#: ../lib/modules/quota.inc:97 -msgid "" -"Grace inode (files) period. Most filesystems use a fixed maximum value of 7 " -"days." -msgstr "Periodo de gracia de inodos(archivos). La mayoria de sistemas de archivos usan un máximo fijo de 7 dias." - -#: ../lib/modules/quota.inc:96 ../lib/modules/quota.inc:299 -msgid "Grace inode period" -msgstr "Periodo de gracia del inodos" - -#: ../lib/modules/posixGroup.inc:301 ../lib/lists.inc:202 -msgid "Group description" -msgstr "Descripcion del grupo" - -#: ../lib/modules/posixGroup.inc:330 ../help/help.inc:153 -msgid "Group description. If left empty group name will be used." -msgstr "Descripcion del grupo. Si está en blanco, se usará el nombre del grupo." - -#: ../lib/pdf.inc:452 -msgid "Group information page" -msgstr "Página de información del grupo" - -#: ../templates/config/confsave.php:131 -msgid "Group list attributes are invalid!" -msgstr "La lista de atributos del grupo es inválida!" - -#: ../lib/lists.inc:201 -msgid "Group member DNs" -msgstr "DN de los miembros de grupo" - -#: ../lib/modules/posixGroup.inc:134 ../lib/modules/posixGroup.inc:193 -#: ../lib/modules/posixGroup.inc:307 ../lib/modules/posixGroup.inc:333 -#: ../lib/modules/posixGroup.inc:337 ../lib/modules/posixGroup.inc:370 -#: ../lib/lists.inc:200 ../help/help.inc:172 ../help/help.inc:231 -msgid "Group members" -msgstr "Miembros de grupo" - -#: ../templates/config/confmodules.php:284 -#: ../templates/config/confmain.php:220 ../lib/config.inc:346 -msgid "Group modules" -msgstr "Modulos de grupo" - -#: ../lib/modules/posixGroup.inc:287 ../lib/lists.inc:198 -msgid "Group name" -msgstr "Nombre de grupo" - -#: ../lib/modules/posixGroup.inc:322 ../help/help.inc:149 -msgid "" -"Group name of the group which should be created. Valid characters are: a-z,0-" -"9, .-_. Lam does not allow a number as first character because groupadd also " -"does not allow it. Lam does not allow capital letters A-Z because it can " -"cause several problems. If groupname is already used groupname will be " -"expanded with a number. The next free number will be used." -msgstr "Nombre del grupo que se ha de crear. Carácteres válidos son: a-z,0-9, -. Lam no permite numeros como primer carácter porque groupadd tampoco lo hace. Tampoco se permiten mayusculas porque pueden causar problemas. Si el nombre del grupo ya existe, se expandirá con un numero (el inmediatamente superior al ultimo que este libre)." - -#: ../lib/modules/posixGroup.inc:313 ../lib/modules/posixGroup.inc:341 -msgid "Group password" -msgstr "Contraseña de grupo" - -#: ../templates/profedit/profilemain.php:175 -msgid "Group profiles" -msgstr "Perfiles de grupo" - -#: ../help/help.inc:180 -msgid "Group suffix" -msgstr "Sufijo de grupo" - -#: ../lib/modules/sambaGroupMapping.inc:184 -msgid "Group type" -msgstr "Tipo de grupo" - -#: ../templates/config/confmain.php:176 ../lib/config.inc:334 -msgid "GroupSuffix" -msgstr "SufijoDeGrupo" - -#: ../templates/config/confsave.php:111 -msgid "GroupSuffix is invalid!" -msgstr "SufijoDeGrupo inválido!" - -#: ../lib/modules/posixGroup.inc:125 ../lib/modules/posixGroup.inc:321 -#: ../lib/modules/posixGroup.inc:368 ../lib/modules/posixGroup.inc:408 -#: ../lib/modules/posixGroup.inc:409 ../lib/modules/posixGroup.inc:410 -#: ../help/help.inc:148 -msgid "Groupname" -msgstr "NombreDeGrupo" - -#: ../lib/modules/posixGroup.inc:410 ../lib/modules/posixGroup.inc:411 -msgid "" -"Groupname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ !" -msgstr "NombreDeGrupo contiene caracteres inválidos. Los caracteres válidos son: a-z, A-Z, 0-9 y -_ |" - -#: ../lib/modules/posixGroup.inc:409 -msgid "Groupname in use. Selected next free groupname." -msgstr "Nombre del grupo ya en uso. Selecionado el proximo disponible." - -#: ../templates/ou_edit.php:372 ../templates/main_header.php:75 -#: ../help/help.inc:76 -msgid "Groups" -msgstr "Grupos" - -#: ../lib/modules/sambaAccount.inc:574 ../lib/modules/sambaAccount.inc:774 -#: ../lib/modules/sambaAccount.inc:777 ../lib/modules/sambaSamAccount.inc:545 -#: ../lib/modules/sambaSamAccount.inc:755 -#: ../lib/modules/sambaSamAccount.inc:758 -msgid "Guest" -msgstr "Invitado" - -#: ../lib/modules/quota.inc:400 -msgid "Hard block" -msgstr "Bloqueo fuerte" - -#: ../lib/modules/quota.inc:76 ../lib/modules/quota.inc:77 -#: ../lib/modules/quota.inc:294 ../lib/modules/quota.inc:351 -msgid "Hard block limit" -msgstr "Limite de bloqueo fuerte" - -#: ../lib/modules/quota.inc:400 -msgid "Hard inode" -msgstr "Inodo fuerte" - -#: ../lib/modules/quota.inc:93 -msgid "Hard inode (files) limit" -msgstr "Limite de Inodos (archivos) \"fuertes\"" - -#: ../lib/modules/quota.inc:92 ../lib/modules/quota.inc:298 -#: ../lib/modules/quota.inc:353 -msgid "Hard inode limit" -msgstr "Limite de Inodos \"fuertes\"" - -#: ../templates/pdfedit/pdfpage.php:495 -msgid "Headline" -msgstr "Encabezado" - -#: ../templates/pdfedit/pdfpage.php:468 -msgid "Height" -msgstr "Altura" - -#: ../templates/ou_edit.php:352 ../templates/ou_edit.php:365 -#: ../templates/ou_edit.php:385 ../templates/ou_edit.php:398 -#: ../templates/ou_edit.php:418 ../templates/ou_edit.php:431 -#: ../templates/ou_edit.php:451 ../templates/ou_edit.php:464 -#: ../templates/domain.php:96 ../templates/domain.php:112 -#: ../templates/domain.php:123 ../templates/domain.php:131 -#: ../templates/domain.php:139 ../templates/domain.php:151 -#: ../templates/domain.php:169 ../templates/masscreate.php:149 -#: ../templates/masscreate.php:161 ../templates/masscreate.php:306 -#: ../templates/config/profmanage.php:180 -#: ../templates/config/profmanage.php:227 -#: ../templates/config/profmanage.php:252 -#: ../templates/config/profmanage.php:281 -#: ../templates/config/profmanage.php:324 -#: ../templates/config/profmanage.php:347 -#: ../templates/config/profmanage.php:375 ../templates/config/confmain.php:162 -#: ../templates/config/confmain.php:172 ../templates/config/confmain.php:178 -#: ../templates/config/confmain.php:184 ../templates/config/confmain.php:190 -#: ../templates/config/confmain.php:208 ../templates/config/confmain.php:224 -#: ../templates/config/confmain.php:288 ../templates/config/confmain.php:294 -#: ../templates/config/confmain.php:300 ../templates/config/confmain.php:317 -#: ../templates/config/confmain.php:358 ../templates/config/confmain.php:373 -#: ../templates/config/confmain.php:378 ../templates/config/confmain.php:392 -#: ../templates/config/confmain.php:402 ../templates/config/confmain.php:468 -#: ../templates/config/conflogin.php:126 ../templates/pdfedit/pdfpage.php:811 -#: ../templates/profedit/profilepage.php:90 -#: ../templates/profedit/profilepage.php:129 -#: ../templates/profedit/profilepage.php:166 ../lib/modules.inc:883 -msgid "Help" -msgstr "Ayuda" - -#: ../templates/masscreate.php:83 -msgid "Here you can create multiple accounts by providing a CSV file." -msgstr "Aquí puede Ud. crear múltiples cuentas a partir de un archivo CSV." - -#: ../lib/lists.inc:162 -msgid "Here you can input small filters (e.g. 'value' or 'v*')." -msgstr "Aquí puede crear pequeños filtros (p.ej 'valor' o 'v*')." - -#: ../templates/tools.php:54 -msgid "Here you can manage your account profiles." -msgstr "Aquí puede manipular sus perfiles de cuenta" - -#: ../help/help.inc:107 -msgid "Here you can select which plugins you want to use for account management." -msgstr "Aquí puede selecionar qué plugins quiere usar para la manipulación de cuentas." - -#: ../lib/modules/posixAccount.inc:331 ../help/help.inc:139 -msgid "Hold the CTRL-key to (de)select multiple groups." -msgstr "Mantenga apretada la tecla CTRL para (des)selecionar múltiples grupos." - -#: ../lib/modules/posixAccount.inc:36 ../lib/modules/posixAccount.inc:64 -#: ../lib/modules/posixAccount.inc:65 ../lib/modules/posixAccount.inc:194 -#: ../lib/modules/posixAccount.inc:316 ../lib/modules/posixAccount.inc:711 -#: ../lib/modules/posixAccount.inc:834 ../lib/modules/posixAccount.inc:930 -#: ../lib/modules/posixAccount.inc:967 ../lib/lists.inc:184 -#: ../help/help.inc:140 -msgid "Home directory" -msgstr "Directorio personal" - -#: ../lib/modules/posixAccount.inc:36 -#, php-format -msgid "" -"Home directory changed. To keep home directory you have to run the following " -"command as root: 'mv %s %s'" -msgstr "El directorio personal ha cambiado. Para mantener su directorio home debe ejecutar,como root: 'mv %s %s'" - -#: ../lib/modules/sambaAccount.inc:126 ../lib/modules/sambaAccount.inc:249 -#: ../lib/modules/sambaAccount.inc:347 ../lib/modules/sambaAccount.inc:736 -#: ../lib/modules/sambaAccount.inc:845 ../lib/modules/sambaSamAccount.inc:160 -#: ../lib/modules/sambaSamAccount.inc:263 -#: ../lib/modules/sambaSamAccount.inc:715 -#: ../lib/modules/sambaSamAccount.inc:853 -#: ../lib/modules/sambaSamAccount.inc:917 ../help/help.inc:198 -msgid "Home drive" -msgstr "Disco personal" - -#: ../lib/modules/sambaAccount.inc:46 ../lib/modules/sambaAccount.inc:47 -#: ../lib/modules/sambaAccount.inc:132 ../lib/modules/sambaAccount.inc:255 -#: ../lib/modules/sambaAccount.inc:350 ../lib/modules/sambaAccount.inc:739 -#: ../lib/modules/sambaAccount.inc:844 ../lib/modules/sambaSamAccount.inc:44 -#: ../lib/modules/sambaSamAccount.inc:45 -#: ../lib/modules/sambaSamAccount.inc:163 -#: ../lib/modules/sambaSamAccount.inc:269 -#: ../lib/modules/sambaSamAccount.inc:718 -#: ../lib/modules/sambaSamAccount.inc:859 -#: ../lib/modules/sambaSamAccount.inc:916 ../help/help.inc:208 -msgid "Home path" -msgstr "Ruta personal" - -#: ../lib/modules/sambaAccount.inc:46 ../lib/modules/sambaSamAccount.inc:44 -#: ../lib/modules/sambaSamAccount.inc:46 -msgid "Home path is invalid." -msgstr "La ruta personal no es válida." - -#: ../lib/modules/posixAccount.inc:64 ../lib/modules/posixAccount.inc:66 -msgid "Homedirectory contains invalid characters." -msgstr "El directorio personal contiene caracteres inválidos." - -#: ../lib/lists.inc:216 -msgid "Host description" -msgstr "Descripción el host" - -#: ../lib/modules/account.inc:47 ../lib/modules/posixAccount.inc:341 -#: ../lib/modules/inetOrgPerson.inc:266 ../help/help.inc:161 -msgid "Host description. If left empty host name will be used." -msgstr "Descripcion del host. Si se deja en blanco, " - -#: ../lib/modules/account.inc:56 -msgid "Host list" -msgstr "Lista de hosts" - -#: ../templates/config/confsave.php:136 -msgid "Host list attributes are invalid!" -msgstr "Lista de atributos de host invalido!" - -#: ../templates/config/confmodules.php:387 -#: ../templates/config/confmain.php:221 ../lib/config.inc:347 -msgid "Host modules" -msgstr "Modulos de hosts" - -#: ../lib/modules/posixAccount.inc:234 ../lib/modules/posixAccount.inc:336 -#: ../lib/lists.inc:214 ../help/help.inc:154 -msgid "Host name" -msgstr "Nombre del host" - -#: ../lib/modules/posixAccount.inc:337 ../help/help.inc:155 -msgid "" -"Host name of the host which should be created. Valid characters are: a-z,0-" -"9, .-_$. Lam does not allow a number as first character because useradd also " -"does not allow it. Lam does not allow capital letters A-Z because it can " -"cause several problems. Hostnames are always ending with $. If last " -"character is not $ it will be added. If hostname is already used hostname " -"will be expanded with a number. The next free number will be used." -msgstr "Nombre del host que se tiene que crear. Los caracteres válidos son: a-z, 0-9, .-_$. Lam no permite un numero como primer caracter porque useradd tampoco lo hace. Tampoco se permiten mayusculas porque pueden causar problemas. Los nombres de host siempre acaban con $. Si no se especifica, se añadirá automáticamente. Si el nombre del host ya está en uso, se expandirá con un numero al final. El proximo que esté libre." - -#: ../templates/profedit/profilemain.php:218 -msgid "Host profiles" -msgstr "Perfiles de host" - -#: ../lib/lists.inc:213 -msgid "Host username" -msgstr "Usuario de host" - -#: ../templates/config/confmain.php:182 ../lib/config.inc:335 -msgid "HostSuffix" -msgstr "SufijoDeHost" - -#: ../templates/config/confsave.php:116 -msgid "HostSuffix is invalid!" -msgstr "SufijoDeHost inválido!" - -#: ../lib/modules/posixAccount.inc:78 ../lib/modules/posixAccount.inc:79 -#: ../lib/modules/posixAccount.inc:81 -msgid "Hostname" -msgstr "Nombre del host" - -#: ../lib/modules/posixAccount.inc:83 -msgid "" -"Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ !" -msgstr "El nombre del host contiene caracteres inválidos. Los caracteres válidos son: a-z, A-Z, 0-9 y -_|" - -#: ../lib/modules/posixAccount.inc:79 -msgid "" -"Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ ! Hostname must end with $ !" -msgstr "El nombre del host contiene caracteres inválidos. Los caracteres válidos son: a-z, A-Z, 0-9 y -_|. El nombre del host debe terminar con $ !" - -#: ../lib/modules/posixAccount.inc:81 -msgid "Hostname in use. Selected next free hostname." -msgstr "El hombre del host ya estaba en uso. Se ha expandido con el próximo disponible." - -#: ../templates/main_header.php:77 ../lib/modules/posixAccount.inc:59 -#: ../lib/modules/posixAccount.inc:60 ../lib/modules/posixAccount.inc:62 -#: ../lib/modules/posixAccount.inc:132 ../help/help.inc:79 -msgid "Hosts" -msgstr "Hosts" - -#: ../lib/modules/posixGroup.inc:403 ../lib/modules/posixGroup.inc:534 -#: ../lib/modules/posixAccount.inc:69 ../lib/modules/posixAccount.inc:657 -msgid "ID is already in use" -msgstr "ID ya está en uso" - -#: ../lib/modules/posixGroup.inc:401 ../lib/modules/posixGroup.inc:402 -#: ../lib/modules/posixGroup.inc:403 ../lib/modules/posixGroup.inc:530 -#: ../lib/modules/posixGroup.inc:534 ../lib/modules/posixAccount.inc:67 -#: ../lib/modules/posixAccount.inc:68 ../lib/modules/posixAccount.inc:69 -#: ../lib/modules/posixAccount.inc:653 ../lib/modules/posixAccount.inc:657 -msgid "ID-Number" -msgstr "Numero-ID" - -#: ../templates/masscreate.php:145 ../templates/masscreate.php:157 -#: ../templates/masscreate.php:290 -msgid "Identifier" -msgstr "Identificador" - -#: ../help/help.inc:181 -msgid "" -"If a not yet existing group is defined in csv-file, a new group in the " -"selected group suffix will be created." -msgstr "Si en el archivo csv se especifica un grupo que no existe, se creará un nuevo grupo en el sufijo de grupo selecionado." - -#: ../help/help.inc:216 -msgid "" -"If a not yet existing group is defined in csv-file, a new group with the " -"selected group profile will be created." -msgstr "Si en el archivo csv se especifica un grupo que no existe, se creará un nuevo grupo con el perfil de grupo selecionado." - -#: ../lib/modules/sambaAccount.inc:319 ../lib/modules/sambaSamAccount.inc:132 -msgid "If checked Unix password will also be used as Samba password." -msgstr "Si se seleciona, la contraseña de unix será usada como la constraña de samba." - -#: ../lib/modules/sambaAccount.inc:337 ../lib/modules/sambaSamAccount.inc:150 -#: ../help/help.inc:197 -msgid "If checked account will be deactivated. (Setting D-Flag)" -msgstr "Si se seleciona, la cuenta estará deshabilitada (D-flag)" - -#: ../lib/modules/posixGroup.inc:346 ../lib/modules/sambaAccount.inc:325 -#: ../lib/modules/sambaSamAccount.inc:138 ../lib/modules/posixAccount.inc:322 -#: ../help/help.inc:187 -msgid "If checked no password will be used." -msgstr "Si se seleciona, no habrá contraseña" - -#: ../lib/modules/sambaAccount.inc:331 ../lib/modules/sambaSamAccount.inc:144 -#: ../help/help.inc:191 -msgid "If checked password does not expire. (Setting X-Flag)" -msgstr "Si se selecioina, la constraseña no expirará (X-flag)" - -#: ../help/help.inc:189 -msgid "If checked unix password will also be used as samba password." -msgstr "Si se seleciona, la contraseña de unix será usada como la constraña de samba." - -#: ../lib/modules/posixGroup.inc:326 ../help/help.inc:151 -msgid "" -"If empty GID number will be generated automaticly depending on your " -"configuration settings." -msgstr "Si está vacio, el GID se generará automáticamente, dependiendo de su configuración." - -#: ../lib/modules/posixAccount.inc:300 ../help/help.inc:137 -#: ../help/help.inc:157 -msgid "If empty UID number will be generated automaticly." -msgstr "Si está vacio, el UID se generará automáticamente." - -#: ../help/help.inc:179 -msgid "" -"If selected users will be added with OUs expanded with their primary group. " -"E.g. if a user is in group admin the user suffix will be ou=admin,+user " -"suffix." -msgstr "Si se selecciona, los usuarios seleccionados se añadirán con OUs expandidas a su grupo primario. P.ej. si un usuario está en el grupo Administradores, el sufijo será OU=Adminstradores, + usuari." - -#: ../lib/modules/sambaAccount.inc:322 ../lib/modules/sambaSamAccount.inc:135 -msgid "If set to \"true\" Unix password will also be used as Samba password." -msgstr "Si se pone a \"TRUE\", el password de Unix será el mismo que se use para Samba." - -#: ../lib/modules/sambaAccount.inc:340 ../lib/modules/sambaSamAccount.inc:153 -msgid "If set to \"true\" account will be deactivated. (Setting D-Flag)" -msgstr "Si se pone a \"true\", la cuenta inhabilitará (D-Flag)" - -#: ../lib/modules/sambaAccount.inc:328 ../lib/modules/sambaSamAccount.inc:141 -msgid "If set to \"true\" no password will be used." -msgstr "Si se pone a \"true\" , no habrá contraseña" - -#: ../lib/modules/sambaAccount.inc:334 ../lib/modules/sambaSamAccount.inc:147 -msgid "If set to \"true\" password does not expire. (Setting X-Flag)" -msgstr "Si se pone a \"true\", la contraseña no expirará (X-Flag)" - -#: ../help/help.inc:101 -msgid "If you want to change the current preferences password, please enter it here." -msgstr "Si quiere cambiar las preferencias de contraseñas, hágalo aquí." - -#: ../help/help.inc:119 -msgid "" -"If you want to change your master configuration password, please enter it " -"here." -msgstr "Si quiere cambiar su contraseña maestra de configuración, escríbala aquí" - -#: ../lib/modules/sambaAccount.inc:372 -msgid "" -"If you want to create domain administrators or other special users use this " -"option." -msgstr "Use esta opción en caso de querer crear usuarios especiales o adminstradores de dominio." - -#: ../lib/modules/sambaAccount.inc:366 -#: ../lib/modules/sambaGroupMapping.inc:272 ../help/help.inc:226 -msgid "If you want to use a well known RID you can selcet a well known group." -msgstr "Si quiere usar un RID existente, puede seleccionar un grupo existente." - -#: ../lib/modules/quota.inc:33 -msgid "Inode hard quota" -msgstr "Quota \"hard\" para inodos" - -#: ../lib/modules/quota.inc:33 -msgid "" -"Inode hard quota contains invalid characters. Only natural numbers are " -"allowed." -msgstr "La quota \"hard\" para inodos contiene carácteres invalidos. Sólo se admiten numeros naturales." - -#: ../lib/modules/quota.inc:35 -msgid "Inode quota" -msgstr "Quota de inodos." - -#: ../lib/modules/quota.inc:32 -msgid "Inode soft quota" -msgstr "Quota \"soft\" para inodos" - -#: ../lib/modules/quota.inc:32 -msgid "" -"Inode soft quota contains invalid characters. Only natural numbers are " -"allowed." -msgstr "La quota \"soft\" para inodos contiene caracteres inválidos. Sólo se admiten numeros naturales." - -#: ../lib/modules/quota.inc:35 -msgid "Inode soft quota must be smaller than inode hard quota." -msgstr "La quota \"soft\" para inodos debe ser menor que la quota \"hard\"." - -#: ../lib/modules/sambaAccount.inc:47 ../lib/modules/sambaAccount.inc:48 -#: ../lib/modules/sambaSamAccount.inc:45 -msgid "Inserted user- or groupname in HomePath." -msgstr "Usuario o nombre de grupo insertado en HomePath" - -#: ../lib/modules/sambaAccount.inc:53 -msgid "Inserted user- or groupname in logon script." -msgstr "Usuario o nombre de grupo insertado en script de Inicio de Sesión." - -#: ../lib/modules/sambaAccount.inc:50 ../lib/modules/sambaAccount.inc:51 -#: ../lib/modules/sambaSamAccount.inc:48 -msgid "Inserted user- or groupname in profilepath." -msgstr "Usuario o nombre de grupo insertado en path de perfiles" - -#: ../lib/modules/sambaSamAccount.inc:51 -msgid "Inserted user- or groupname in scriptpath." -msgstr "Usuario o nombre de grupo insertado en scriptpath" - -#: ../lib/modules/posixGroup.inc:148 ../lib/modules/posixAccount.inc:853 -msgid "Invalid password" -msgstr "Constraseña inválida." - -#: ../lib/status.inc:61 -msgid "Invalid/Missing Message type" -msgstr "Tipo de mensaje inválido o inexistente" - -#: ../lib/modules/posixGroup.inc:401 ../lib/modules/posixAccount.inc:68 -msgid "" -"It is possible that this ID-number is reused. This can cause several " -"problems because files with old permissions might still exist. To avoid this " -"warning set maxUID to a higher value." -msgstr "Es posible que este numero de ID ya esté en uso. Esto puede causar varios problemas ya que puede haber archivos viejos que todavia exitan, y que tiengan los permisos viejos. Para evitar este mensaje de aviso, ponga el parametro maxUID a un valor mas alto." - -#: ../lib/modules/sambaGroupMapping.inc:57 -msgid "Ivalid Account" -msgstr "Cuenta inválida." - -#: ../lib/modules/inetOrgPerson.inc:70 ../lib/modules/inetOrgPerson.inc:95 -#: ../lib/modules/inetOrgPerson.inc:141 ../lib/modules/inetOrgPerson.inc:219 -#: ../lib/modules/inetOrgPerson.inc:405 ../lib/modules/inetOrgPerson.inc:463 -msgid "Job title" -msgstr "Profesión" - -#: ../lib/modules/inetOrgPerson.inc:220 -msgid "Job title of user: President, department manager, ..." -msgstr "Profesion del usuario: Presidente, Contable, operario,..." - -#: ../lib/status.inc:60 -msgid "LAM Internal Error" -msgstr "Error interno de LAM" - -#: ../templates/massBuildAccounts.php:188 -msgid "LAM has checked your input and is now ready to create the accounts." -msgstr "LAM ha procesado sus requerimientos. Listo para empezar a crear cuentas." - -#: ../lib/modules/posixGroup.inc:355 ../lib/modules/posixAccount.inc:296 -msgid "" -"LAM supports CRYPT, SHA, SSHA, MD5 and SMD5 to generate the hash value of " -"passwords. SSHA and CRYPT are the most common but CRYPT does not support " -"passwords greater than 8 letters. We do not recommend to use plain text " -"passwords." -msgstr "LAM soporta CRYPT, SHA, SSHA, MD5 y SMD5 para generar las claves de hash para las contraseñas. Los más comunes son SSHA y CRYPT, pero CRYPT no soporta constraseñas de más de 8 caracteres. No se recomienda el uso de constraseñas sin cifrar." - -#: ../templates/massDoUpload.php:82 -#, php-format -msgid "LAM was unable to create account %s! An LDAP error occured." -msgstr "No se pudo crear la cuenta %s! Ocurrió un error de LDAP." - -#: ../lib/modules/sambaGroupMapping.inc:341 -msgid "LAM was unable to find a Samba 3 domain with this name!" -msgstr "LAM no pudo encontrar un dominio Samba con ese nombre!" - -#: ../lib/modules/sambaSamAccount.inc:69 -msgid "LAM was unable to find a domain with this name!" -msgstr "No se puede encontrar un dominio con ese nombre!" - -#: ../lib/modules/posixAccount.inc:84 -msgid "LAM was unable to find a group with this name!" -msgstr "LAM no puede econtrar un grupo con ese nombre!" - -#: ../lib/modules/posixAccount.inc:1243 -#, php-format -msgid "LAM was unable to modify group memberships for group: %s" -msgstr "LAM no pudo modificar las pertinencias all grupo para el grupo %s." - -#: ../templates/config/confmodules.php:67 ../templates/config/confsave.php:74 -#: ../templates/config/confmain.php:145 -msgid "LDAP Account Manager Configuration" -msgstr "Configuración de LDAP Account Manager" - -#: ../templates/config/confmain.php:281 -msgid "LDAP List settings" -msgstr "Lista de opciones de LDAP" - -#: ../templates/lists/listhosts.php:193 ../templates/lists/listgroups.php:193 -#: ../templates/lists/listdomains.php:125 ../templates/lists/listusers.php:232 -msgid "LDAP Search failed! Please check your preferences." -msgstr "La búsqueda en LDAP falló! Por favor, verifique sus preferencias." - -#: ../templates/login.php:336 -msgid "LDAP error, server says:" -msgstr "Error de LDAP: El servidor dijo:" - -#: ../lib/modules.inc:772 -msgid "LDAP operation successful." -msgstr "La operación de LDAP terminó correctamente." - -#: ../templates/login.php:247 -msgid "LDAP server" -msgstr "Servidor LDAP" - -#: ../templates/lists/listhosts.php:179 ../templates/lists/listgroups.php:179 -#: ../templates/lists/listdomains.php:114 ../templates/lists/listusers.php:217 -msgid "LDAP sizelimit exceeded, not all entries are shown." -msgstr "Tamaño máximo de LDAP excedido. No se mostrarán todas las entradas." - -#: ../templates/profedit/profilepage.php:85 -#: ../templates/profedit/profilepage.php:86 -msgid "LDAP suffix" -msgstr "Sufijo LDAP" - -#: ../templates/massDoUpload.php:117 -msgid "LDAP upload has finished" -msgstr "Envio al LDAP finalizado." - -#: ../templates/massDoUpload.php:66 -msgid "LDAP upload in progress. Please wait." -msgstr "Se está enviando al servidor LDAP. Por favor, espere..." - -#: ../templates/config/confsave.php:147 -msgid "Language is not defined!" -msgstr "No se ha definido ningún idioma!" - -#: ../templates/config/confmain.php:323 -msgid "Language settings" -msgstr "Configuración de idioma" - -#: ../lib/modules/inetOrgPerson.inc:54 ../lib/modules/inetOrgPerson.inc:128 -#: ../lib/modules/inetOrgPerson.inc:227 ../lib/modules/inetOrgPerson.inc:413 -#: ../lib/modules/inetOrgPerson.inc:465 ../lib/lists.inc:183 -#: ../help/help.inc:182 -msgid "Last name" -msgstr "Apellido" - -#: ../lib/modules/inetOrgPerson.inc:54 ../lib/modules/inetOrgPerson.inc:55 -msgid "Last name contains invalid characters!" -msgstr "El apellido contiene caracteres inválidos!" - -#: ../lib/modules/inetOrgPerson.inc:228 ../help/help.inc:183 -msgid "Last name of user. Only letters, - and spaces are allowed." -msgstr "Apellido del usuario. Sólo se admiten letras, - y espacios." - -#: ../lib/modules/shadowAccount.inc:331 -msgid "Last password change" -msgstr "Fecha de utimo cambio de contraseña." - -#: ../templates/pdfedit/pdfpage.php:535 -msgid "Left" -msgstr "Izquierda" - -#: ../help/help.inc:66 -msgid "List attributes" -msgstr "Mostrar atributos" - -#: ../help/help.inc:207 -msgid "" -"List of Samba workstations the user is allowed to login. Empty means every " -"workstation." -msgstr "Lista de estaciones de trabajo des de los quales el usuario está autorizado a iniciar la sesión. En blanco significan todas." - -#: ../templates/config/confsave.php:101 -msgid "List of admin users is empty or invalid!" -msgstr "LLa lista de usuarios Adminstradores es inválida o está en blanco!" - -#: ../templates/config/confmain.php:390 ../lib/config.inc:344 -msgid "List of valid users" -msgstr "Lista de usuarios validos." - -#: ../lib/modules.inc:748 ../help/help.inc:176 -msgid "Load profile" -msgstr "Cargar perfil" - -#: ../lib/modules/sambaGroupMapping.inc:54 -msgid "Local Group" -msgstr "Grupo Local" - -#: ../lib/modules/posixGroup.inc:151 ../lib/modules/posixAccount.inc:215 -#: ../lib/modules/posixAccount.inc:856 ../lib/modules/posixAccount.inc:942 -msgid "Lock password" -msgstr "Bloquear contraseña" - -#: ../templates/login.php:229 ../templates/login.php:230 -#: ../templates/config/conflogin.php:68 ../help/help.inc:46 -msgid "Login" -msgstr "Iniciar sesión" - -#: ../lib/modules/posixAccount.inc:201 ../lib/modules/posixAccount.inc:326 -#: ../lib/modules/posixAccount.inc:860 ../lib/modules/posixAccount.inc:934 -#: ../lib/modules/posixAccount.inc:969 ../lib/lists.inc:185 -#: ../help/help.inc:144 -msgid "Login shell" -msgstr "Shell de inicio de sesión." - -#: ../templates/pdfedit/pdfpage.php:434 -msgid "Logo" -msgstr "Logo" - -#: ../lib/modules/sambaSamAccount.inc:188 -#: ../lib/modules/sambaSamAccount.inc:307 -msgid "Logon hours" -msgstr "Horas de inicio de sesión" - -#: ../lib/modules/sambaAccount.inc:52 ../lib/modules/sambaAccount.inc:53 -#: ../lib/modules/sambaAccount.inc:144 ../lib/modules/sambaAccount.inc:267 -#: ../lib/modules/sambaAccount.inc:358 ../lib/modules/sambaAccount.inc:745 -#: ../lib/modules/sambaAccount.inc:846 ../lib/modules/sambaSamAccount.inc:171 -#: ../lib/modules/sambaSamAccount.inc:281 -#: ../lib/modules/sambaSamAccount.inc:724 -#: ../lib/modules/sambaSamAccount.inc:871 -#: ../lib/modules/sambaSamAccount.inc:918 -msgid "Logon script" -msgstr "Script de inicio de sesión" - -#: ../lib/modules/sambaAccount.inc:52 ../lib/modules/sambaAccount.inc:54 -#: ../lib/modules/sambaSamAccount.inc:52 -msgid "Logon script is invalid!" -msgstr "El script de inicio de sesión es invalido!" - -#: ../templates/main_header.php:63 ../templates/logout.php:60 -msgid "Logout" -msgstr "Cerrar sesión" - -#: ../lib/modules/ieee802device.inc:50 ../lib/modules/ieee802device.inc:56 -#: ../lib/modules/ieee802device.inc:67 ../lib/modules/ieee802device.inc:142 -msgid "MAC address" -msgstr "Direccion MAC" - -#: ../lib/modules/ieee802device.inc:60 ../lib/modules/ieee802device.inc:255 -msgid "MAC address list" -msgstr "Lista de direcciones MAC" - -#: ../lib/modules.inc:693 ../lib/modules.inc:710 -msgid "Main" -msgstr "Principal" - -#: ../templates/config/conflogin.php:134 -msgid "Manage profiles" -msgstr "Manejar perfiles" - -#: ../templates/tools.php:77 -msgid "Manages OU objects in your LDAP tree." -msgstr "Maneja Unidades Organizativas en su árbol LDAP." - -#: ../templates/tools.php:62 -msgid "Manages Samba 3 domain accounts." -msgstr "Maneja cuentas de dominio de Samba 3" - -#: ../templates/pdfedit/pdfpage.php:508 -msgid "Margin" -msgstr "Margen" - -#: ../templates/config/profmanage.php:368 -msgid "Master Password:" -msgstr "Constraeña Maestra:" - -#: ../help/help.inc:120 -msgid "Master password" -msgstr "Contraseña maestra" - -#: ../templates/config/profmanage.php:68 -msgid "Master password is wrong!" -msgstr "Contraseña maestra incorrecta!" - -#: ../templates/config/profmanage.php:128 -msgid "Master passwords are different or empty!" -msgstr "Las contraseñas maestras son diferentes, o en blanco!" - -#: ../templates/config/confsave.php:141 -msgid "Max list entries is invalid!" -msgstr "La lista máxima de entradas no es válida!" - -#: ../templates/pdfedit/pdfpage.php:479 -msgid "Maximize with correct ratio" -msgstr "Maximizar con ratio correcto" - -#: ../lib/modules/posixGroup.inc:237 ../lib/modules/posixGroup.inc:405 -#: ../lib/modules/posixGroup.inc:406 -msgid "Maximum GID number" -msgstr "GID máximo" - -#: ../lib/modules/posixGroup.inc:254 -msgid "Maximum GID number for Unix groups" -msgstr "GID máximo para grupos Unix" - -#: ../lib/modules/posixGroup.inc:405 -msgid "Maximum GID number is invalid or empty!" -msgstr "GID máximo está vacio es inválido!" - -#: ../lib/modules/posixGroup.inc:406 -msgid "Maximum GID number must be greater than minimum GID number!" -msgstr "El GID máximo debe ser mayor que el GID mínimo!" - -#: ../lib/modules/posixAccount.inc:58 ../lib/modules/posixAccount.inc:60 -#: ../lib/modules/posixAccount.inc:61 ../lib/modules/posixAccount.inc:62 -#: ../lib/modules/posixAccount.inc:126 ../lib/modules/posixAccount.inc:135 -msgid "Maximum UID number" -msgstr "UID máximo" - -#: ../lib/modules/posixAccount.inc:156 -msgid "Maximum UID number for Unix accounts (hosts)" -msgstr "UID máximo para cuentas Unix (hosts)" - -#: ../lib/modules/posixAccount.inc:154 -msgid "Maximum UID number for Unix accounts (users)" -msgstr "UID máximo para cuentas Unix (usuarios)" - -#: ../lib/modules/posixAccount.inc:58 ../lib/modules/posixAccount.inc:60 -msgid "Maximum UID number is invalid!" -msgstr "El UID máximo no es válido!" - -#: ../lib/modules/posixAccount.inc:61 ../lib/modules/posixAccount.inc:62 -msgid "Maximum UID number must be greater than minimum UID number!" -msgstr "El UID máxio debe ser mayor que el UID mínimo!" - -#: ../templates/config/confmain.php:307 ../lib/config.inc:340 -#: ../help/help.inc:86 -msgid "Maximum list entries" -msgstr "Lista máxima de entradas" - -#: ../lib/modules/shadowAccount.inc:88 ../lib/modules/shadowAccount.inc:151 -#: ../lib/modules/shadowAccount.inc:181 ../lib/modules/shadowAccount.inc:303 -#: ../help/help.inc:166 -msgid "Maximum password age" -msgstr "Edad máxima de contraseñas" - -#: ../lib/modules/inetOrgPerson.inc:130 -msgid "Miller" -msgstr "Miller" - -#: ../lib/modules/posixGroup.inc:234 ../lib/modules/posixGroup.inc:404 -msgid "Minimum GID number" -msgstr "GID mínimo" - -#: ../lib/modules/posixGroup.inc:253 -msgid "Minimum GID number for Unix groups" -msgstr "GID mínimo para grupos Unix" - -#: ../lib/modules/posixGroup.inc:404 -msgid "Minimum GID number is invalid or empty!" -msgstr "El GID mínimo es inválido o está vacio!" - -#: ../lib/modules/posixAccount.inc:57 ../lib/modules/posixAccount.inc:59 -#: ../lib/modules/posixAccount.inc:123 ../lib/modules/posixAccount.inc:132 -msgid "Minimum UID number" -msgstr "UID mínimo" - -#: ../lib/modules/posixAccount.inc:155 -msgid "Minimum UID number for Unix accounts (hosts)" -msgstr "El UID mínimo para cuentas Unix(hosts)" - -#: ../lib/modules/posixAccount.inc:153 -msgid "Minimum UID number for Unix accounts (users)" -msgstr "El UID mínimo para cuentas Unix(usuarios)" - -#: ../lib/modules/posixAccount.inc:57 ../lib/modules/posixAccount.inc:59 -msgid "Minimum UID number is invalid!" -msgstr "El UID mínimo es inválido!" - -#: ../lib/modules/shadowAccount.inc:83 ../lib/modules/shadowAccount.inc:147 -#: ../lib/modules/shadowAccount.inc:175 ../lib/modules/shadowAccount.inc:300 -#: ../help/help.inc:168 -msgid "Minimum password age" -msgstr "Edad mínima de contraseñas permitida" - -#: ../lib/modules/inetOrgPerson.inc:58 ../lib/modules/inetOrgPerson.inc:177 -#: ../lib/modules/inetOrgPerson.inc:251 ../lib/modules/inetOrgPerson.inc:252 -#: ../lib/modules/inetOrgPerson.inc:437 ../lib/modules/inetOrgPerson.inc:471 -msgid "Mobile number" -msgstr "Numero de ḿmóbil" - -#: ../lib/modules.inc:672 ../lib/modules.inc:759 -msgid "Modify Account" -msgstr "Modificar cuenta" - -#: ../templates/config/confmodules.php:75 -msgid "Module selection" -msgstr "Selección de modulo" - -#: ../lib/config.inc:348 -msgid "Module settings" -msgstr "Parámetros de modulo" - -#: ../lib/modules/quota.inc:64 ../lib/modules/quota.inc:291 -#: ../lib/modules/quota.inc:349 ../lib/modules/quota.inc:400 -msgid "Mountpoint" -msgstr "Punto de montaje" - -#: ../lib/modules/quota.inc:65 -msgid "Mountpoint of device with enabled quotas." -msgstr "Punto de montaje para dispositivo con quotas habilitadas." - -#: ../lib/modules/inetOrgPerson.inc:167 -msgid "Mycity" -msgstr "Mi ciudad" - -#: ../lib/modules/inetOrgPerson.inc:155 -msgid "Mystreetname 42" -msgstr "Mi calle 42" - -#: ../templates/pdfedit/pdfdelete.php:56 ../templates/pdfedit/pdfdelete.php:59 -#: ../templates/pdfedit/pdfdelete.php:78 -msgid "Name" -msgstr "Nombre" - -#: ../help/help.inc:128 -msgid "" -"Name under which the profile will be saved. If a profile with the same name " -"exists, it will be overwritten." -msgstr "Nombre del perfil que se guardará. Si ya existe el perfil, se sobreescribirá." - -#: ../templates/lists/listdomains.php:213 -msgid "New Domain" -msgstr "Nuevo dominio" - -#: ../templates/lists/listgroups.php:306 -msgid "New Group" -msgstr "Nuevo grupo" - -#: ../templates/lists/listhosts.php:291 -msgid "New Host" -msgstr "Nuevo host" - -#: ../lib/modules/ieee802device.inc:149 -msgid "New MAC address" -msgstr "Nueva dirección MAC" - -#: ../templates/ou_edit.php:52 ../templates/ou_edit.php:117 -#: ../templates/ou_edit.php:182 ../templates/ou_edit.php:247 -msgid "New OU created successfully." -msgstr "Nueva U.O creada con éxito." - -#: ../templates/config/confmain.php:399 -msgid "New Password" -msgstr "Nueva contraseña" - -#: ../templates/config/profmanage.php:135 -msgid "New default profile set successfully." -msgstr "Nuevo perfil por defecto cambiado con éxito." - -#: ../templates/config/profmanage.php:343 -msgid "New master password" -msgstr "Nueva contraseña maestra" - -#: ../templates/config/profmanage.php:126 -msgid "New master password set successfully." -msgstr "Se ha cambiado la nueva contraseña maestra con éxito." - -#: ../templates/ou_edit.php:344 ../templates/ou_edit.php:377 -#: ../templates/ou_edit.php:410 ../templates/ou_edit.php:443 -#: ../help/help.inc:236 -msgid "New organizational unit" -msgstr "Nueva unidad organizativa" - -#: ../templates/config/profmanage.php:116 -msgid "New password set successfully." -msgstr "Nueva contraseña cambiada correctamente." - -#: ../lib/modules.inc:617 -msgid "New profile created." -msgstr "Se ha creado el nuevo perfil" - -#: ../templates/lists/listusers.php:354 -msgid "New user" -msgstr "Nuevo usuario" - -#: ../templates/domain.php:135 ../help/help.inc:250 -msgid "Next Group RID" -msgstr "RID del nuevo grupo" - -#: ../templates/domain.php:119 ../help/help.inc:246 -msgid "Next RID" -msgstr "Siguiente RID" - -#: ../templates/domain.php:249 -msgid "Next RID is not a number!" -msgstr "El siguiente RID no es un número!" - -#: ../help/help.inc:247 -msgid "Next RID to use when creating accounts." -msgstr "Siguiente RID a usar a la hora de crear cuentas.." - -#: ../help/help.inc:251 -msgid "Next RID to use when creating groups." -msgstr "Siguiente RID a usar al añadir grupos" - -#: ../help/help.inc:249 -msgid "Next RID to use when creating user accounts." -msgstr "Siguiente RID a usar al añadir usuarios" - -#: ../templates/domain.php:127 ../help/help.inc:248 -msgid "Next User RID" -msgstr "Siguiente RID de usuario" - -#: ../templates/domain.php:251 -msgid "Next group RID is not a number!" -msgstr "El siguiente RID de grupo no es un numero!" - -#: ../templates/domain.php:250 -msgid "Next user RID is not a number!" -msgstr "El siguiente RID de usuario no es un numero!" - -#: ../templates/lists/listgroups.php:184 ../templates/lists/listgroups.php:193 -#: ../templates/lists/listgroups.php:197 -msgid "No Groups found!" -msgstr "No se encontraron grupos!" - -#: ../templates/lists/listdomains.php:119 -#: ../templates/lists/listdomains.php:125 -#: ../templates/lists/listdomains.php:129 -msgid "No Samba Domains found!" -msgstr "No se encontraron dominios de samba!" - -#: ../templates/lists/listhosts.php:184 ../templates/lists/listhosts.php:193 -#: ../templates/lists/listhosts.php:197 -msgid "No Samba Hosts found!" -msgstr "No se encontraron hosts de samba!" - -#: ../templates/lists/listusers.php:222 ../templates/lists/listusers.php:233 -msgid "No Users found!" -msgstr "No se econtraron usuarios!" - -#: ../templates/config/confmodules.php:274 -#: ../templates/config/confmodules.php:377 -#: ../templates/config/confmodules.php:480 -msgid "No base module selected!" -msgstr "No se seleccionó modulo de base!" - -#: ../templates/initsuff.php:165 -msgid "No changes were made." -msgstr "No se hicieron cambios." - -#: ../templates/config/conflogin.php:93 -msgid "No configuration profiles found. Please create one." -msgstr "No se encontraron perfiles de configuración. Por favor, cree uno." - -#: ../lib/modules/posixGroup.inc:402 ../lib/modules/posixAccount.inc:67 -msgid "No free ID-Number!" -msgstr "No quedan ID's libres!" - -#: ../lib/modules/posixAccount.inc:359 -msgid "No groups found in ldap." -msgstr "No se encontraron grupos en ldap." - -#: ../templates/pdfedit/pdfpage.php:409 -msgid "No logo" -msgstr "No hay logo" - -#: ../templates/config/confmain.php:96 -msgid "No password was entered!" -msgstr "No se especificó ninguna contraseña!" - -#: ../lib/modules.inc:614 -msgid "No profilename given." -msgstr "No se especificó ningun nombre de perfil." - -#: ../templates/pdfedit/pdfpage.php:73 -msgid "No section text specified" -msgstr "No se especificó ningun texto de sección." - -#: ../templates/pdfedit/pdfpage.php:77 -msgid "No static text specified" -msgstr "No se especificó ningun texto estático" - -#: ../help/help.inc:57 -msgid "Note" -msgstr "Nota" - -#: ../lib/modules/shadowAccount.inc:144 ../help/help.inc:165 -msgid "Number of days a user can login even his password has expired. -1=always." -msgstr "Nume de dias después de la caducidad de la constraseña en que el usuario todavia puede iniciar sesión. -1= siempre" - -#: ../lib/modules/shadowAccount.inc:148 ../help/help.inc:169 -msgid "" -"Number of days a user has to wait until he\\'s allowed to change his " -"password again. If set value must be 0<." -msgstr "Numero de dias que el usuario deberá esperar para poder cambiar su constraseña otra vez. Si se especifica, debe ser menor de 0." - -#: ../lib/modules/shadowAccount.inc:152 ../help/help.inc:167 -msgid "" -"Number of days after a user has to change his password again. If set value " -"must be 0<." -msgstr "Numero de dias después de que el usuario deberá cambiar su contraseña. Si se especifica, deberá ser menor que 0." - -#: ../templates/ou_edit.php:58 ../templates/ou_edit.php:123 -#: ../templates/ou_edit.php:188 ../templates/ou_edit.php:253 -msgid "OU already exists!" -msgstr "La OU ya existe!" - -#: ../templates/ou_edit.php:69 ../templates/ou_edit.php:134 -#: ../templates/ou_edit.php:199 ../templates/ou_edit.php:264 -msgid "OU deleted successfully." -msgstr "OU borrada." - -#: ../templates/tools.php:76 -msgid "OU editor" -msgstr "Editor de OU" - -#: ../templates/ou_edit.php:62 ../templates/ou_edit.php:127 -#: ../templates/ou_edit.php:192 ../templates/ou_edit.php:257 -msgid "OU is invalid!" -msgstr "OU inválida!" - -#: ../templates/ou_edit.php:99 ../templates/ou_edit.php:164 -#: ../templates/ou_edit.php:229 ../templates/ou_edit.php:294 -msgid "OU is not empty or invalid!" -msgstr "La OU no está vacia o es inválida!" - -#: ../help/help.inc:236 ../help/help.inc:238 -msgid "OU-Editor" -msgstr "Editor de OU" - -#: ../lib/cache.inc:79 ../lib/modules.inc:913 ../lib/modules.inc:951 -#: ../lib/modules.inc:1050 -#, php-format -msgid "ObjectClass %s required but not defined in LDAP." -msgstr "ObjetClass %s requerida, pero no definida en LDAP." - -#: ../templates/config/conflogin.php:123 ../templates/config/conflogin.php:124 -msgid "Ok" -msgstr "Ok" - -#: ../templates/tools.php:83 -msgid "PDF editor" -msgstr "Editor de PDF" - -#: ../templates/lists/listhosts.php:296 ../templates/lists/listgroups.php:311 -#: ../templates/lists/listusers.php:359 ../templates/pdfedit/pdfpage.php:573 -msgid "PDF structure" -msgstr "Estructura de PDF" - -#: ../templates/pdfedit/pdfmain.php:101 -msgid "PDF structures" -msgstr "Estructuras de PDF" - -#: ../templates/pdfedit/pdfpage.php:61 -msgid "PDF-structure name not valid" -msgstr "Nombre de la estructura de PDF inválido." - -#: ../templates/pdfedit/pdfpage.php:429 -msgid "Page settings" -msgstr "Configuración de página" - -#: ../templates/login.php:178 ../lib/modules/posixGroup.inc:137 -#: ../lib/modules/posixGroup.inc:397 ../lib/modules/posixGroup.inc:398 -#: ../lib/modules/posixGroup.inc:399 ../lib/modules/sambaAccount.inc:59 -#: ../lib/modules/sambaAccount.inc:60 ../lib/modules/sambaAccount.inc:197 -#: ../lib/modules/sambaSamAccount.inc:55 ../lib/modules/sambaSamAccount.inc:56 -#: ../lib/modules/sambaSamAccount.inc:211 ../lib/modules/posixAccount.inc:71 -#: ../lib/modules/posixAccount.inc:72 ../lib/modules/posixAccount.inc:73 -#: ../lib/modules/posixAccount.inc:209 ../lib/modules/posixAccount.inc:842 -#: ../lib/modules/posixAccount.inc:968 -msgid "Password" -msgstr "Contraseña" - -#: ../templates/config/confsave.php:240 -msgid "Password changed!" -msgstr "Constraseña cambiada!" - -#: ../lib/modules/posixGroup.inc:398 ../lib/modules/sambaAccount.inc:60 -#: ../lib/modules/sambaAccount.inc:61 ../lib/modules/sambaSamAccount.inc:56 -#: ../lib/modules/sambaSamAccount.inc:57 ../lib/modules/posixAccount.inc:72 -#: ../lib/modules/posixAccount.inc:74 -msgid "" -"Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and #*,.;:_-+!$%&/|?{[()]}= !" -msgstr "La contraseña contiene caracteres inválidos. Los caracteres válidos son: a-z, A-Z, 0-9, y #*,.;:_-+$%&/|?{[()]}= !" - -#: ../lib/modules/sambaAccount.inc:112 ../lib/modules/sambaAccount.inc:219 -#: ../lib/modules/sambaAccount.inc:330 ../lib/modules/sambaAccount.inc:333 -#: ../lib/modules/sambaAccount.inc:708 ../lib/modules/sambaSamAccount.inc:143 -#: ../lib/modules/sambaSamAccount.inc:146 -#: ../lib/modules/sambaSamAccount.inc:233 -#: ../lib/modules/sambaSamAccount.inc:687 -#: ../lib/modules/sambaSamAccount.inc:839 ../help/help.inc:190 -msgid "Password does not expire" -msgstr "La contraseña no caduca." - -#: ../lib/modules/shadowAccount.inc:43 ../lib/modules/shadowAccount.inc:78 -#: ../lib/modules/shadowAccount.inc:143 ../lib/modules/shadowAccount.inc:169 -#: ../lib/modules/shadowAccount.inc:297 ../lib/modules/shadowAccount.inc:334 -msgid "Password expiration" -msgstr "Caducidad de contraseña" - -#: ../lib/modules/shadowAccount.inc:43 ../lib/modules/shadowAccount.inc:44 -msgid "Password expiration must be are natural number or -1." -msgstr "La caducidad de la contraseña debe ser un numero natural o -1." - -#: ../help/help.inc:164 -msgid "Password expire" -msgstr "caducidad de contraseña" - -#: ../lib/modules/posixGroup.inc:241 ../lib/modules/posixGroup.inc:354 -#: ../lib/modules/posixAccount.inc:141 ../lib/modules/posixAccount.inc:295 -msgid "Password hash type" -msgstr "Tipo de hash para la contraseña" - -#: ../lib/modules/posixAccount.inc:157 -msgid "Password hash type for Unix accounts" -msgstr "Tipo de hash para la contraseña para cuentas Unix" - -#: ../lib/modules/posixGroup.inc:255 -msgid "Password hash type for Unix groups" -msgstr "Tipo de hash para la contraseña para grupos Unix" - -#: ../lib/modules/shadowAccount.inc:41 ../lib/modules/shadowAccount.inc:47 -msgid "Password maxage" -msgstr "Edad máxima de la contraseña" - -#: ../lib/modules/shadowAccount.inc:41 ../lib/modules/shadowAccount.inc:42 -msgid "Password maximum age must be are natural number." -msgstr "La edad máxima de la contraseña debe ser un numero natural." - -#: ../lib/modules/shadowAccount.inc:47 ../lib/modules/shadowAccount.inc:48 -msgid "Password maximum age must be bigger as password minimum age." -msgstr "La edad máxima de la contraseña debe ser mayor que la edad minima de la contraseña." - -#: ../lib/modules/shadowAccount.inc:39 -msgid "Password minage" -msgstr "Edad minima de contraseña" - -#: ../lib/modules/shadowAccount.inc:39 ../lib/modules/shadowAccount.inc:40 -msgid "Password minimum age must be are natural number." -msgstr "La edad minima de la contraseña debe ser un numero natural." - -#: ../help/help.inc:162 -msgid "Password warn" -msgstr "Aviso de contraseña" - -#: ../lib/modules/shadowAccount.inc:45 ../lib/modules/shadowAccount.inc:73 -#: ../lib/modules/shadowAccount.inc:139 ../lib/modules/shadowAccount.inc:163 -#: ../lib/modules/shadowAccount.inc:294 ../lib/modules/shadowAccount.inc:332 -msgid "Password warning" -msgstr "Aviso de contraseña" - -#: ../lib/modules/shadowAccount.inc:45 ../lib/modules/shadowAccount.inc:46 -msgid "Password warning must be are natural number." -msgstr "El aviso de contraseña debe ser un numero natural." - -#: ../templates/config/confsave.php:234 -msgid "Passwords are different!" -msgstr "Las contraseñas son diferentes." - -#: ../lib/modules/sambaAccount.inc:355 ../lib/modules/sambaSamAccount.inc:168 -#: ../help/help.inc:204 -#, php-format -msgid "" -"Path of the user profile. Can be a local absolute path or a UNC-path (\\" -"\\server\\share). $%s and $%s are replaced with user- and groupname." -msgstr "Path del perfil del usuario. Puede ser un path absoluto oun path UNC ( \\servidor\\recurso). %s y %s son reemplazados por nombre de usuario y nombre de grupo respectivamente." - -#: ../templates/config/confmain.php:375 ../lib/config.inc:342 -msgid "Path to external script" -msgstr "Path a script externo" - -#: ../lib/modules/inetOrgPerson.inc:87 -msgid "Personal" -msgstr "Personal" - -#: ../templates/delete.php:80 -msgid "Please confirm:" -msgstr "Por favor, confirme:" - -#: ../lib/modules/sambaSamAccount.inc:60 -msgid "Please enter a RID number or the name of a special account!" -msgstr "Por favor, entre un numero RID o el nombre de una cuenta especial!" - -#: ../lib/modules/sambaAccount.inc:55 ../lib/modules/sambaAccount.inc:56 -#: ../lib/modules/sambaSamAccount.inc:53 ../lib/modules/sambaSamAccount.inc:54 -msgid "Please enter a comma separated list of host names!" -msgstr "Por favor, entre una lista de hosts separados por comas!" - -#: ../lib/modules/inetOrgPerson.inc:74 -msgid "Please enter a valid common name!" -msgstr "Por favor, entre un nombre común que sea valido!" - -#: ../lib/modules/sambaAccount.inc:69 ../lib/modules/sambaAccount.inc:70 -#: ../lib/modules/sambaSamAccount.inc:66 ../lib/modules/sambaSamAccount.inc:67 -msgid "Please enter a valid date in format DD-MM-YYYY." -msgstr "Por favor, entre una fecha valida, en el formato DD-MM-YYYY." - -#: ../lib/modules/sambaAccount.inc:64 ../lib/modules/sambaSamAccount.inc:61 -msgid "Please enter a valid display name!" -msgstr "Por favor, entre un nombre a visualizar que sea válido!" - -#: ../lib/modules/sambaAccount.inc:71 ../lib/modules/sambaSamAccount.inc:68 -msgid "Please enter a valid drive letter." -msgstr "Por favor, entre una letra de unidad válida." - -#: ../lib/modules/inetOrgPerson.inc:62 ../lib/modules/inetOrgPerson.inc:63 -msgid "Please enter a valid eMail address!" -msgstr "Por favor, entre una dirección válida de correo electrónico!" - -#: ../lib/modules/inetOrgPerson.inc:72 ../lib/modules/inetOrgPerson.inc:73 -msgid "Please enter a valid employee type!" -msgstr "Por favor, entre un tipo válido de empleado que sea válido!" - -#: ../lib/modules/inetOrgPerson.inc:60 ../lib/modules/inetOrgPerson.inc:61 -msgid "Please enter a valid fax number!" -msgstr "Por favor, entre un numero de fax válido!" - -#: ../lib/modules/sambaAccount.inc:72 -msgid "Please enter a valid group RID." -msgstr "Por favor, entre un RID de grupo válido!" - -#: ../lib/modules/inetOrgPerson.inc:70 ../lib/modules/inetOrgPerson.inc:71 -msgid "Please enter a valid job title!" -msgstr "Por favor, entre un nombre válido para la profesión!" - -#: ../lib/modules/inetOrgPerson.inc:58 ../lib/modules/inetOrgPerson.inc:59 -msgid "Please enter a valid mobile number!" -msgstr "Por favor, entre un numero de móbil que sea válido!" - -#: ../lib/modules/inetOrgPerson.inc:66 ../lib/modules/inetOrgPerson.inc:67 -msgid "Please enter a valid postal address!" -msgstr "Por favor, entre una dirección válida de correo postal!" - -#: ../lib/modules/inetOrgPerson.inc:68 ../lib/modules/inetOrgPerson.inc:69 -msgid "Please enter a valid postal code!" -msgstr "Por favor, entre un código postál valido!" - -#: ../lib/modules/sambaAccount.inc:73 -msgid "Please enter a valid special user name." -msgstr "Por favor, entre un nombre de usuario especial que sea válido." - -#: ../lib/modules/inetOrgPerson.inc:64 ../lib/modules/inetOrgPerson.inc:65 -msgid "Please enter a valid street name!" -msgstr "Por favor, entre un nombre de calle válido!" - -#: ../lib/modules/inetOrgPerson.inc:56 ../lib/modules/inetOrgPerson.inc:57 -msgid "Please enter a valid telephone number!" -msgstr "Por favor, entre un número de teléfono válido!" - -#: ../lib/modules/posixGroup.inc:530 ../lib/modules/posixAccount.inc:653 -#, php-format -msgid "Please enter a value between %s and %s!" -msgstr "Por favor, entre un número entre %s y %s!" - -#: ../templates/config/conflogin.php:87 -msgid "Please enter password to change preferences:" -msgstr "Por favor, entre la contraseña para cambiar las preferencias:" - -#: ../help/help.inc:47 -msgid "" -"Please enter the configuration password. This is NOT your LDAP password. It " -"is stored in your .conf-file. If this is the first time you log in, enter " -"\"lam\"." -msgstr "Por favor, entre la contraseña de configuración. NO su contraseña en LDAP. La contraseña de configuración está en el .conf. Si es la primera vez que entra, escriba \"lam\"." - -#: ../help/help.inc:121 -msgid "" -"Please enter the master configuration password. This is NOT your LDAP " -"password. It is stored in your config.cfg file. If this is the first time " -"you log in, enter \"lam\"." -msgstr "Por favor, entre la contraseña maestra de configuración. NO su contraseña en LDAP. La contraseña maestra de configuración está grabada en su .conf. Si es la primera vez que entra, escriba \"lam\"." - -#: ../help/help.inc:109 -msgid "" -"Please enter the name of the new profile and the password to change its " -"settings. Profile names may contain letters, numbers and -/_." -msgstr "Por favor, entre el nombre del nuevo perfil y la contraseña para cambiar sus preferencias. Los nombres de perfil pueden contener letras, números y -/_." - -#: ../help/help.inc:111 -msgid "" -"Please enter the new name of the profile. The name may contain letters, " -"numbers and -/_." -msgstr "Por favor, entre el nuevo nombre del perfil. Éste puede contener letras, números y -/_." - -#: ../lib/modules/posixGroup.inc:397 ../lib/modules/sambaAccount.inc:59 -#: ../lib/modules/sambaSamAccount.inc:55 ../lib/modules/posixAccount.inc:71 -msgid "Please enter the same password in both password-fields." -msgstr "Por favor, entre la misma contraseña en ambos campos de contraseña." - -#: ../templates/masscreate.php:120 -msgid "" -"Please provide a CSV formated file with your account data. The cells in the " -"first row must be filled with the column identifiers. The following rows " -"represent one account for each row." -msgstr "Por favor, incluya un archivo CSV en sus dados de cuenta. La primera fila deben ser nombres de coumnas. Las siguientes filas representarán una cuenta para cada registro." - -#: ../lib/status.inc:62 -msgid "" -"Please report this error to the Bug-Tracker at {link=http://lam.sf.net}LDAP " -"Account Manager Development Team{endlink}. The error number is {bold}0001:" -"Invalid/Missing Message type.{endbold} Thank you." -msgstr "Por favor, reporte este error al bug-tracker, en {link=http://lam.sf.net} Equipo de desarollo de LDAP Account Manager{endlink}. El número de error es {bold}0001: Inválido/Inexistente mensaje. {endbold}. Gracias." - -#: ../lib/modules.inc:688 -msgid "Please select page:" -msgstr "Por favor, seleccione la página:" - -#: ../templates/masscreate.php:89 -msgid "Please select your account type:" -msgstr "Por favor, seleccione su tipo de cuenta:" - -#: ../lib/modules.inc:728 -#, php-format -msgid "Please set up all required attributes on page: %s" -msgstr "Por favor, configure todos los atributos requeridos en la página: %s" - -#: ../templates/config/profmanage.php:148 -msgid "Please set up your master configuration file (config/config.cfg) first!" -msgstr "Por favor, antes de nada, configure su archivo maestro de configuración (config/config.cfg)." - -#: ../templates/pdfedit/pdfpage.php:708 -msgid "Position" -msgstr "Posición" - -#: ../help/help.inc:222 -msgid "Position in ldap-tree where the group should be created." -msgstr "Posicion dentro del árbol LDAP donde se debe crear el grupo." - -#: ../help/help.inc:224 -msgid "Position in ldap-tree where the host should be created." -msgstr "Posición dentro del arbol LDAP donde el host se debe crear." - -#: ../help/help.inc:220 -msgid "Position in ldap-tree where the user should be created." -msgstr "Posición dentro del árbol LDAP donde se debe crear el usuario." - -#: ../templates/masscreate.php:158 ../templates/masscreate.php:294 -#: ../lib/modules/sambaGroupMapping.inc:342 -msgid "Possible values" -msgstr "Posibles valores" - -#: ../lib/modules/inetOrgPerson.inc:66 ../lib/modules/inetOrgPerson.inc:165 -#: ../lib/modules/inetOrgPerson.inc:243 ../lib/modules/inetOrgPerson.inc:429 -#: ../lib/modules/inetOrgPerson.inc:469 -msgid "Postal address" -msgstr "Dirección postal" - -#: ../lib/modules/inetOrgPerson.inc:244 -msgid "Postal address, city" -msgstr "Dirección postal, ciudad" - -#: ../lib/modules/inetOrgPerson.inc:68 ../lib/modules/inetOrgPerson.inc:159 -#: ../lib/modules/inetOrgPerson.inc:239 ../lib/modules/inetOrgPerson.inc:240 -#: ../lib/modules/inetOrgPerson.inc:425 ../lib/modules/inetOrgPerson.inc:468 -msgid "Postal code" -msgstr "Código postal" - -#: ../help/help.inc:71 -msgid "Predefined values" -msgstr "Valores predefinidos" - -#: ../lib/modules/inetOrgPerson.inc:143 -msgid "President" -msgstr "Presidente" - -#: ../lib/modules/posixGroup.inc:115 ../lib/modules/posixAccount.inc:181 -#: ../lib/modules/posixAccount.inc:248 ../lib/modules/posixAccount.inc:312 -#: ../lib/modules/posixAccount.inc:344 ../lib/modules/posixAccount.inc:825 -#: ../lib/modules/posixAccount.inc:921 ../lib/modules/posixAccount.inc:949 -#: ../lib/modules/posixAccount.inc:965 ../help/help.inc:146 -#: ../help/help.inc:158 -msgid "Primary group" -msgstr "Grupo primario" - -#: ../templates/config/profmanage.php:106 -msgid "Profile deleted." -msgstr "Perfil suprimido." - -#: ../templates/tools.php:53 -msgid "Profile editor" -msgstr "Editor de perfiles" - -#: ../templates/config/profmanage.php:50 -#: ../templates/config/profmanage.php:161 ../help/help.inc:108 -#: ../help/help.inc:110 ../help/help.inc:112 ../help/help.inc:114 -#: ../help/help.inc:116 ../help/help.inc:118 ../help/help.inc:120 -msgid "Profile management" -msgstr "Adminstración de perfiles" - -#: ../templates/config/profmanage.php:176 -#: ../templates/config/profmanage.php:223 -#: ../templates/profedit/profilepage.php:126 ../help/help.inc:127 -msgid "Profile name" -msgstr "Nombre del perfil" - -#: ../templates/config/profmanage.php:90 -#: ../templates/config/profmanage.php:101 -msgid "Profile name is invalid!" -msgstr "El nombre del perfil es inválido!" - -#: ../templates/config/profmanage.php:187 -#: ../templates/config/profmanage.php:277 -msgid "Profile password" -msgstr "Contraseña del perfil" - -#: ../templates/config/profmanage.php:88 -#: ../templates/config/profmanage.php:118 -msgid "Profile passwords are different or empty!" -msgstr "Las contraseñas del perfil son diferentes, o están en blanco!" - -#: ../lib/modules/sambaAccount.inc:49 ../lib/modules/sambaAccount.inc:50 -#: ../lib/modules/sambaAccount.inc:138 ../lib/modules/sambaAccount.inc:261 -#: ../lib/modules/sambaAccount.inc:354 ../lib/modules/sambaAccount.inc:742 -#: ../lib/modules/sambaAccount.inc:847 ../lib/modules/sambaSamAccount.inc:47 -#: ../lib/modules/sambaSamAccount.inc:48 -#: ../lib/modules/sambaSamAccount.inc:167 -#: ../lib/modules/sambaSamAccount.inc:275 -#: ../lib/modules/sambaSamAccount.inc:721 -#: ../lib/modules/sambaSamAccount.inc:865 -#: ../lib/modules/sambaSamAccount.inc:919 ../help/help.inc:203 -msgid "Profile path" -msgstr "Path al perfil" - -#: ../lib/modules/sambaAccount.inc:49 ../lib/modules/sambaSamAccount.inc:47 -#: ../lib/modules/sambaSamAccount.inc:49 -msgid "Profile path is invalid!" -msgstr "El path al perfil no es válido!" - -#: ../templates/profedit/profilecreate.php:112 -msgid "Profile was saved." -msgstr "Se guardó el perfil." - -#: ../lib/modules/quota.inc:48 -msgid "Quota" -msgstr "Quota" - -#: ../templates/masscreate.php:154 ../help/help.inc:125 -msgid "RDN identifier" -msgstr "Identificador RDN" - -#: ../lib/lists.inc:215 -msgid "RID (Windows UID)" -msgstr "RID (UID de Windows)" - -#: ../templates/config/confmain.php:405 -msgid "Reenter Password" -msgstr "Vuelva a introducir la contraseña" - -#: ../templates/config/profmanage.php:354 -msgid "Reenter new master password" -msgstr "Vuelva a introducir la contraseña maestra" - -#: ../templates/config/profmanage.php:196 -#: ../templates/config/profmanage.php:288 -msgid "Reenter profile password" -msgstr "Vuelva a introducir la contraseña del perfil" - -#: ../lib/lists.inc:95 -msgid "Refresh" -msgstr "Refrescar" - -#: ../templates/pdfedit/pdfpage.php:581 ../lib/modules/ieee802device.inc:144 -msgid "Remove" -msgstr "Eliminar" - -#: ../templates/config/profmanage.php:219 ../help/help.inc:110 -msgid "Rename profile" -msgstr "Renombrar perfil" - -#: ../templates/config/profmanage.php:97 -msgid "Renamed profile." -msgstr "Perfil renombrado." - -#: ../lib/modules/posixGroup.inc:142 ../lib/modules/sambaAccount.inc:693 -#: ../lib/modules/sambaSamAccount.inc:672 ../lib/modules/posixAccount.inc:847 -msgid "Repeat password" -msgstr "Repita la contraseña" - -#: ../lib/modules/posixAccount.inc:65 ../lib/modules/posixAccount.inc:711 -msgid "Replaced $user or $group in homedir." -msgstr "Se reemplazó $usuario o $grupo en el directorio home del usuario." - -#: ../templates/domain.php:187 ../templates/config/confmain.php:420 -#: ../templates/profedit/profilepage.php:138 -msgid "Reset" -msgstr "Resetear" - -#: ../lib/modules.inc:705 -msgid "Reset changes" -msgstr "Resetear cambios." - -#: ../lib/modules/sambaAccount.inc:789 ../lib/modules/sambaSamAccount.inc:770 -msgid "Reset password" -msgstr "Resetear contraseña" - -#: ../lib/modules/sambaAccount.inc:93 -msgid "Samba 2" -msgstr "Samba 2" - -#: ../lib/modules/sambaSamAccount.inc:89 -#: ../lib/modules/sambaGroupMapping.inc:218 -msgid "Samba 3" -msgstr "Samba 3" - -#: ../templates/domain.php:244 -msgid "Samba 3 domain SID is invalid!" -msgstr "El SID del dominio de Samba 3 es inválido!" - -#: ../templates/tools.php:61 -msgid "Samba 3 domains" -msgstr "Dominios de Samba 3" - -#: ../templates/ou_edit.php:405 -msgid "Samba Hosts" -msgstr "Hosts de Samba" - -#: ../lib/modules/sambaSamAccount.inc:181 -#: ../lib/modules/sambaSamAccount.inc:300 -#: ../lib/modules/sambaSamAccount.inc:323 -msgid "Samba RID" -msgstr "RID de Samba" - -#: ../lib/modules/sambaGroupMapping.inc:251 -#: ../lib/modules/sambaGroupMapping.inc:275 -msgid "Samba RID number" -msgstr "Numero RID de Samba" - -#: ../lib/modules/sambaGroupMapping.inc:245 -msgid "Samba display name" -msgstr "Nombre a visualizar de Samba" - -#: ../lib/modules/sambaGroupMapping.inc:237 -msgid "Samba domain name" -msgstr "Nombre de dominio de samba" - -#: ../lib/modules/sambaGroupMapping.inc:257 -#: ../lib/modules/sambaGroupMapping.inc:283 -#: ../lib/modules/sambaGroupMapping.inc:300 -msgid "Samba group type" -msgstr "Tipo de grupo de Samba" - -#: ../lib/modules/sambaAccount.inc:315 ../lib/modules/sambaAccount.inc:691 -#: ../lib/modules/sambaSamAccount.inc:128 -#: ../lib/modules/sambaSamAccount.inc:670 -msgid "Samba password" -msgstr "Contraseña de samba" - -#: ../lib/modules/sambaAccount.inc:55 ../lib/modules/sambaAccount.inc:150 -#: ../lib/modules/sambaAccount.inc:273 ../lib/modules/sambaAccount.inc:362 -#: ../lib/modules/sambaAccount.inc:748 ../lib/modules/sambaAccount.inc:848 -#: ../lib/modules/sambaSamAccount.inc:53 -#: ../lib/modules/sambaSamAccount.inc:175 -#: ../lib/modules/sambaSamAccount.inc:287 -#: ../lib/modules/sambaSamAccount.inc:727 -#: ../lib/modules/sambaSamAccount.inc:877 -#: ../lib/modules/sambaSamAccount.inc:920 ../help/help.inc:206 -msgid "Samba workstations" -msgstr "Estaciones de samba" - -#: ../lib/pdf.inc:455 -msgid "Samba-Host information page" -msgstr "Página de información del host de samba" - -#: ../templates/pdfedit/pdfpage.php:831 -#: ../templates/profedit/profilepage.php:136 -msgid "Save" -msgstr "Guardar" - -#: ../lib/modules.inc:614 ../lib/modules.inc:617 ../lib/modules.inc:618 -#: ../lib/modules.inc:752 ../lib/modules.inc:757 ../help/help.inc:213 -msgid "Save profile" -msgstr "Guardar perfil" - -#: ../templates/config/confsave.php:171 -msgid "Saving group modules failed!" -msgstr "Fallo el archivado de los módulos de grupo!" - -#: ../templates/config/confsave.php:177 -msgid "Saving host modules failed!" -msgstr "Falló el archivado de los módulos de host!" - -#: ../templates/config/confsave.php:165 -msgid "Saving user modules failed!" -msgstr "Fallo el archivado de los módulos de usuario!" - -#: ../templates/pdfedit/pdfdelete.php:56 ../templates/pdfedit/pdfdelete.php:59 -#: ../templates/pdfedit/pdfdelete.php:78 -msgid "Scope" -msgstr "Contexto" - -#: ../lib/modules/sambaSamAccount.inc:50 ../lib/modules/sambaSamAccount.inc:51 -#: ../help/help.inc:90 ../help/help.inc:200 -msgid "Script path" -msgstr "Path del script" - -#: ../templates/config/confsave.php:153 ../lib/modules/sambaSamAccount.inc:50 -msgid "Script path is invalid!" -msgstr "Path del script inválido!" - -#: ../help/help.inc:95 -msgid "Script server" -msgstr "Servidor de scripts" - -#: ../templates/config/confsave.php:159 -msgid "Script server is invalid!" -msgstr "Sevidor de scripts inválido!" - -#: ../templates/config/confmain.php:366 -msgid "Script settings" -msgstr "Prefencias de script" - -#: ../templates/pdfedit/pdfpage.php:740 -msgid "Section" -msgstr "Sección" - -#: ../templates/config/confmain.php:386 -msgid "Security settings" -msgstr "Preferencias de seguridad" - -#: ../templates/lists/listhosts.php:179 ../templates/lists/listgroups.php:179 -#: ../templates/lists/listdomains.php:114 ../templates/lists/listusers.php:217 -msgid "See README.openldap.txt to solve this problem." -msgstr "Léase el RADME.openldap.txt para resolver este problema" - -#: ../templates/help.php:112 -msgid "See also" -msgstr "Vea también" - -#: ../templates/lists/listhosts.php:257 ../templates/lists/listgroups.php:274 -#: ../templates/lists/listusers.php:308 -msgid "Select all" -msgstr "Seleccionar todos" - -#: ../help/help.inc:215 -msgid "Select group profile" -msgstr "Seleccionar perfil de grupo" - -#: ../templates/config/confmodules.php:291 -msgid "Selected group modules" -msgstr "Módulos de grupo seleccionados" - -#: ../lib/modules/posixAccount.inc:894 -msgid "Selected groups" -msgstr "Grupos seleccionados" - -#: ../templates/config/confmodules.php:394 -msgid "Selected host modules" -msgstr "Módulos de host seleccionados" - -#: ../templates/config/confmodules.php:188 -msgid "Selected user modules" -msgstr "Módulos de usuario seleccionados" - -#: ../lib/modules/posixGroup.inc:194 -msgid "Selected users" -msgstr "Usuarios seleccionados" - -#: ../templates/config/confsave.php:91 -msgid "Server Address is empty!" -msgstr "La dirección del servidor está en blanco!" - -#: ../templates/config/confmain.php:158 ../lib/config.inc:331 -#: ../help/help.inc:48 -msgid "Server address" -msgstr "Dirección del servidor" - -#: ../templates/config/confmain.php:370 ../lib/config.inc:343 -msgid "Server of external script" -msgstr "Servidor del script externo" - -#: ../templates/config/confmain.php:155 -msgid "Server settings" -msgstr "Preferencias del servidor" - -#: ../lib/modules/posixGroup.inc:145 ../lib/modules/posixAccount.inc:850 -#: ../lib/modules/posixAccount.inc:938 -msgid "Set no password" -msgstr "Establecer contraseña vacia" - -#: ../templates/config/profmanage.php:273 ../help/help.inc:114 -msgid "Set profile password" -msgstr "Establecer contraseña de perfil" - -#: ../lib/modules/posixGroup.inc:342 -msgid "Sets the group password." -msgstr "Establece la contraseña del grupo." - -#: ../lib/modules/shadowAccount.inc:62 -msgid "Shadow" -msgstr "Shadow" - -#: ../templates/massBuildAccounts.php:196 -msgid "Show LDIF file" -msgstr "Mostrar archivo LDIF" - -#: ../templates/pdfedit/pdfpage.php:455 -msgid "Size" -msgstr "Tamaño" - -#: ../lib/modules/quota.inc:400 -msgid "Soft block" -msgstr "Bloque soft" - -#: ../lib/modules/quota.inc:72 ../lib/modules/quota.inc:293 -#: ../lib/modules/quota.inc:350 -msgid "Soft block limit" -msgstr "Limite de bloque soft" - -#: ../lib/modules/quota.inc:73 -msgid "Soft block limit." -msgstr "Limite de bloque soft" - -#: ../lib/modules/quota.inc:400 -msgid "Soft inode" -msgstr "Inodo soft" - -#: ../lib/modules/quota.inc:89 -msgid "Soft inode (files) limit." -msgstr "Limite de inodos (archivos) soft." - -#: ../lib/modules/quota.inc:88 ../lib/modules/quota.inc:297 -#: ../lib/modules/quota.inc:352 -msgid "Soft inode limit" -msgstr "Limte soft de inodos" - -#: ../lib/modules.inc:727 -msgid "Some required information is missing" -msgstr "Falta alguna información requerida" - -#: ../templates/help.php:144 -#, php-format -msgid "" -"Sorry this help id ({bold}%s{endbold}) is not available for this module " -"({bold}%s{endbold})." -msgstr "Perdón, pero esta ayuda ({bold}%s{endbold}) no está disponible para este módulo({bold}%s{endbold})." - -#: ../templates/help.php:157 -#, php-format -msgid "Sorry this help number ({bold}%d{endbold}) is not available." -msgstr "Perdón, pero este numero de ayuda ({bold}%d{endbold}) no está disponible." - -#: ../lib/modules/sambaGroupMapping.inc:340 -msgid "Special Group" -msgstr "Grupo especial" - -#: ../lib/modules/sambaAccount.inc:62 ../lib/modules/sambaAccount.inc:63 -#: ../lib/modules/sambaAccount.inc:286 ../lib/modules/sambaAccount.inc:371 -#: ../lib/modules/sambaAccount.inc:780 ../lib/modules/sambaSamAccount.inc:58 -#: ../lib/modules/sambaSamAccount.inc:59 -#: ../lib/modules/sambaSamAccount.inc:761 -msgid "Special user" -msgstr "Usuario especial" - -#: ../templates/pdfedit/pdfpage.php:645 ../templates/pdfedit/pdfpage.php:651 -#: ../templates/pdfedit/pdfpage.php:777 -msgid "Static text" -msgstr "Texto estático" - -#: ../lib/modules/inetOrgPerson.inc:124 -msgid "Steve" -msgstr "Steve" - -#: ../lib/modules/sambaAccount.inc:193 ../lib/modules/sambaSamAccount.inc:207 -#: ../lib/modules/inetOrgPerson.inc:117 -msgid "Steve Miller" -msgstr "Steve Miller" - -#: ../lib/modules/posixAccount.inc:225 -msgid "Steve Miller,Room 2.14,123-123-1234,123-123-1234" -msgstr "Steve Miller,hab 2.14,123-123-1234,123-123-1234" - -#: ../lib/modules/inetOrgPerson.inc:64 ../lib/modules/inetOrgPerson.inc:153 -#: ../lib/modules/inetOrgPerson.inc:235 ../lib/modules/inetOrgPerson.inc:236 -#: ../lib/modules/inetOrgPerson.inc:421 ../lib/modules/inetOrgPerson.inc:467 -msgid "Street" -msgstr "Calle" - -#: ../templates/pdfedit/pdfpage.php:805 -msgid "Structure name" -msgstr "Nombre de la estructura" - -#: ../templates/ou_edit.php:94 ../templates/ou_edit.php:159 -#: ../templates/ou_edit.php:224 ../templates/ou_edit.php:289 -#: ../templates/ou_edit.php:470 ../templates/domain.php:186 -#: ../templates/config/profmanage.php:373 -#: ../templates/config/confmodules.php:496 -#: ../templates/config/confmain.php:418 ../templates/pdfedit/pdfdelete.php:81 -#: ../templates/pdfedit/pdfpage.php:797 ../templates/pdfedit/pdfmain.php:143 -#: ../templates/profedit/profiledelete.php:85 -#: ../templates/profedit/profiledelete.php:97 -#: ../templates/profedit/profiledelete.php:109 -#: ../templates/profedit/profilemain.php:261 -msgid "Submit" -msgstr "Someter" - -#: ../templates/pdfedit/pdfpage.php:445 ../templates/pdfedit/pdfpage.php:490 -msgid "Submit page settings" -msgstr "Someter las preferencias de página" - -#: ../templates/lists/listhosts.php:278 ../templates/lists/listgroups.php:294 -#: ../templates/lists/listdomains.php:200 ../templates/lists/listusers.php:328 -#: ../templates/domain.php:159 ../lib/modules.inc:740 ../help/help.inc:219 -#: ../help/help.inc:221 ../help/help.inc:223 ../help/help.inc:242 -msgid "Suffix" -msgstr "Sufijo" - -#: ../lib/modules/inetOrgPerson.inc:56 ../lib/modules/inetOrgPerson.inc:171 -#: ../lib/modules/inetOrgPerson.inc:247 ../lib/modules/inetOrgPerson.inc:248 -#: ../lib/modules/inetOrgPerson.inc:433 ../lib/modules/inetOrgPerson.inc:470 -msgid "Telephone number" -msgstr "Número de teléfono" - -#: ../lib/modules/inetOrgPerson.inc:149 -msgid "Temp" -msgstr "Temp" - -#: ../lib/modules/inetOrgPerson.inc:137 -msgid "Temp, contract until december" -msgstr "Temp, contrato hasta diciembre" - -#: ../help/help.inc:104 -msgid "Text for user PDF" -msgstr "Texto para el PDF del usuario" - -#: ../lib/modules/posixAccount.inc:313 ../help/help.inc:147 -msgid "The Primary Group the user should be member of." -msgstr "El grupo principal al cual el usuario debe pertenecer." - -#: ../lib/modules/posixAccount.inc:345 ../help/help.inc:159 -msgid "The Primary group the host should be member of." -msgstr "El grupo principal del cual el host debe ser miembro." - -#: ../help/help.inc:245 -msgid "The SID of your Samba server. Get it with \"net getlocalsid\"." -msgstr "El SID de su servidor Samba. Obténgalo tecleando \"net getlocalsid\"." - -#: ../lib/modules/posixAccount.inc:63 -msgid "" -"The UID ranges for users and hosts overlap! This is a problem because LAM " -"uses the highest UID in use + 1 for new accounts. Please set the minimum UID " -"to equal values or use independent ranges." -msgstr "Hay un solapamiento entre los rangos de los UIDs de los usuarios y de los hosts! Esto es un problema, ya que LAM usa el mayor UID en uso +1 para cuentas nuevas. Por favor, establezca el UID mínimo igual en ambos casos, o use rangos independientes, que no se solapen." - -#: ../help/help.inc:243 -msgid "The domain entry will be saved under this suffix." -msgstr "La entrada del dominio se salvará bajo este sufijo." - -#: ../lib/modules/shadowAccount.inc:49 -msgid "The expiration date is invalid." -msgstr "La fecha de caducidad es inválida." - -#: ../templates/config/confsave.php:246 -msgid "The following settings were saved to profile:" -msgstr "Los siguientes parámetros se salvaron en el perfil:" - -#: ../templates/initsuff.php:184 -msgid "The following suffix(es) are missing in LDAP. LAM can create them for you." -msgstr "Los siguientes sufijos no se encuentran en LDAP. LAM los puede crear automáticamente." - -#: ../lib/modules/sambaSamAccount.inc:70 -msgid "The format of the logon hours field is invalid!" -msgstr "Formato inválido para el campo \"horas de inicio de sesión\"" - -#: ../templates/pdfedit/pdfpage.php:73 -msgid "The headline for a new section must contain at least one character." -msgstr "El encabezado para una nueva sección debe contener al menos un carácter." - -#: ../templates/pdfedit/pdfpage.php:61 -msgid "" -"The name for that PDF-structure you submitted is not valid. A valid name " -"must constist at least of one of the following characters 'a-z','A-Z','0-" -"9','_','-','.'." -msgstr "El nombre que especificó para la estructura de PDF no es válido. Un nombre válido debe consistir de al menos uno de los siguientes caracteres: a-z, A-Z, 0-9,'_','-','.'." - -#: ../help/help.inc:241 -msgid "The name of your Windows domain or workgroup." -msgstr "El nombre de su Dominio de Windows, o de su Grupo de Trabajo de Windows." - -#: ../help/help.inc:130 -msgid "The new account will be saved under this LDAP suffix." -msgstr "Se añadirá una nueva cuenta bajo este sufijo LDAP." - -#: ../templates/config/confmain.php:109 -msgid "The password is invalid! Please try again." -msgstr "Contraseña incorrecta!. Por favor, inténtelo de nuevo." - -#: ../templates/pdfedit/pdfpage.php:77 -msgid "The static text must contain at least one character." -msgstr "El texto estático debe contener al menos un caracter." - -#: ../lib/modules/posixGroup.inc:115 -msgid "There are still users who have this group as their primary group." -msgstr "Todavia hay usuarios con este grupo como grupo primario." - -#: ../lib/modules/sambaAccount.inc:62 ../lib/modules/sambaSamAccount.inc:58 -msgid "There can be only one administrator per domain." -msgstr "Sólo puede haber un administrador por dominio." - -#: ../lib/modules/sambaGroupMapping.inc:340 -#, php-format -msgid "There can be only one group %s." -msgstr "Sólo puede haber un grupo %s." - -#: ../lib/modules/sambaAccount.inc:63 ../lib/modules/sambaSamAccount.inc:59 -msgid "There can be only one guest per domain." -msgstr "Sólo puede haber un invitado por dominio." - -#: ../templates/massDoUpload.php:119 -msgid "There were errors while uploading:" -msgstr "Se produjeron errores mientras se enviaba:" - -#: ../lib/modules/posixGroup.inc:351 -msgid "" -"These are the minimum and maximum numbers to use for group IDs when creating " -"new group accounts. New group accounts will always get the highest number in " -"use plus one." -msgstr "Estos son los numeros máximos y mínimos a usar para IDs de grupo al crear nuevas cuentas de grupo. Las nuevas cuentas de grupo tendrán asignadas el ID más grande en uso +1." - -#: ../lib/modules/posixAccount.inc:292 -msgid "" -"These are the minimum and maximum numbers to use for machine IDs when " -"creating new accounts for Samba hosts. The range should be different from " -"that of users. New host accounts will always get the highest number in use " -"plus one." -msgstr "Estos son los máximos y minimos a usar para IDs de máquina a la hora de crear cuentas para hosts de Samba. El rango debiera de ser diferente al de los usuarios. A las nuevas cuentas de máquina se les asignará el ID mas grande en uso +1." - -#: ../lib/modules/posixAccount.inc:288 -msgid "" -"These are the minimum and maximum numbers to use for user IDs when creating " -"new user accounts. The range should be different from that of machines. New " -"user accounts will always get the highest number in use plus one." -msgstr "Estos son los máximos y minimos a usar para IDs de usuario a la hora de crear cuentas de usuarios. El rango debiera de ser diferente al de las cuentas de maquinas. A las nuevas cuentas de usuario se les asignará el ID mas grande en uso +1." - -#: ../lib/modules/posixAccount.inc:85 -msgid "This GID number is invalid! Please provide either a number or a group name." -msgstr "Este GID no es válido!. Por favor, entre o bien un numero de grupo o bien un nombre de grupo." - -#: ../templates/domain.php:247 -msgid "This Samba 3 domain is already present!" -msgstr "Este dominio de Samba 3 ya existe!" - -#: ../help/help.inc:115 -msgid "This changes the password of the selected profile." -msgstr "Aquí se cambia el password del perfil seleccionado." - -#: ../help/help.inc:117 -msgid "This changes the profile which is selected by default at login." -msgstr "Esto cambia el perfil seleccionado al inicio de sesión por defecto." - -#: ../templates/massBuildAccounts.php:148 -msgid "This column is defined to include unique entries but duplicates were found:" -msgstr "Esta columna se supone que no debiera contener duplicados, pero se encontraron:" - -#: ../help/help.inc:89 -msgid "" -"This defines the language of the login window and sets this language as the " -"default language. Users can change the language at login." -msgstr "Aquí se define el idioma de la ventana de inicio de sesión y establece el idioma al idioma por defecto. Los usuarios pueden establecer el idioma por defecto al iniciar la sesión." - -#: ../lib/pdf.inc:511 -msgid "This document was automatically created by LDAP Account Manager" -msgstr "Este documento se generó automáticamente por LDAP Account Manager" - -#: ../lib/modules/posixAccount.inc:86 -msgid "This gecos value is invalid!" -msgstr "Valor inválido para gecos." - -#: ../lib/modules/ieee802device.inc:61 -msgid "This is a comma separated list of MAC addresses." -msgstr "Esto es una lista separada por comas de direcciones MAC." - -#: ../help/help.inc:82 -msgid "" -"This is a list of valid DN entries of all users that are allowed to login to " -"LDAP Account Manager. The user names have to be separated by semicolons." -msgstr "Lista válida de entradas DN de todos los usuarios que se les permite entrar en LDAP Account Manager. Los nombres de usuarios deben estar separados por comas." - -#: ../templates/masscreate.php:209 -msgid "" -"This is an example how it would look in your spreadsheet program before you " -"convert to CSV:" -msgstr "Ejemplo de como deberia quedar en su hoja de cálculo antes de ser convertido a CSV:" - -#: ../lib/modules/sambaGroupMapping.inc:342 -msgid "This is not a valid Samba 3 group type!" -msgstr "Esto no es un tipo de grupo de Samba 3 válido!" - -#: ../lib/modules/ieee802device.inc:57 -msgid "" -"This is the MAC address of the network card of the device (e.g. 00:01:02:DE:" -"EF:18)." -msgstr "Esto es la direccion MAC de la tarjeta de red (p.ej 00:01:02:DE:EF:18)" - -#: ../lib/modules/sambaAccount.inc:369 -msgid "This is the RID of the user's primary Windows group." -msgstr "Esto es el RID del grupo primario del usuario." - -#: ../lib/modules/sambaSamAccount.inc:179 -msgid "This is the SID of the user's primary Windows group." -msgstr "Esto es el SID del grupo primario del usuario." - -#: ../help/help.inc:91 -msgid "" -"This is the absolute path to an external script for setting quotas and " -"creating home directories." -msgstr "Esto es el path absoluto a un script externo que establece las quotas y crea los directorios de los usuarios." - -#: ../lib/modules/sambaAccount.inc:316 ../lib/modules/sambaSamAccount.inc:129 -msgid "This is the account's Windows password." -msgstr "Contraseña de Windows de la cuenta." - -#: ../lib/modules/sambaAccount.inc:313 ../lib/modules/sambaSamAccount.inc:126 -msgid "This is the account's full name on Windows systems." -msgstr "Nombre y apellidos de la cuenta dentro de Windows." - -#: ../lib/modules/sambaGroupMapping.inc:268 -msgid "This is the group name which will be shown in Windows." -msgstr "Nombre del grupo que será mostrado en Windows." - -#: ../help/help.inc:126 -msgid "" -"This is the identifier for the relative DN value. It must be one of the " -"given allowed LDAP attributes (e.g. user accounts usually use \"uid\" while " -"groups use \"cn\")." -msgstr "Identificador relativo del DN. Debe de ser uno de los atributos LDAP permitidos (p.ej las cuentas de usuario normalmente emplean \"uid\", mientras los grupos emplean \"cn\")." - -#: ../help/help.inc:67 -msgid "" -"This is the list of attributes to show in the user/group/host list. The " -"entries can either be predefined values, \"#attribute\", or individual ones, " -"\"attribute:description\". Several entries are seperated by semicolons." -msgstr "Lista de atributos amostrar en la lista de usuarios/grupos/hosts. Los elementos pueden ser, o bien valores predefinidos, \"#atributo\", o valores individuales, \"atributo:descripcción\". Se pueden separar varios elementos mediante comas." - -#: ../help/help.inc:87 -msgid "" -"This is the number of rows to show in the user/group/host list. If more " -"entries are found the list will be split into several pages." -msgstr "Numero de entradas a mostrar en la lista de usuarios/grupos/hosts. Si hay más que estos, se mostrarán en varias páginas." - -#: ../lib/modules/sambaGroupMapping.inc:276 -msgid "" -"This is the relative ID (similar to UID on Unix) for Windows accounts. If " -"you leave this empty LAM will calculate the RID from the UID. This can be " -"either a number or the name of a special group:" -msgstr "Esto es un ID relativo (similar al UID de Unix) para cuentas de Windows. Si lo deja en blanco, LAM lo calculará a partir del UID. Puede ser o bien un numero o bien el nombre de un grupo especial:" - -#: ../lib/modules/sambaSamAccount.inc:182 -#, php-format -msgid "" -"This is the relative ID number for your Windows account. You can either " -"enter a number or one of these special accounts: %s. If you leave this empty " -"LAM will use: uidNumber*2 + sambaAlgorithmicRidBase." -msgstr "Este es el ID relativo de su cuenta de Windows. Puede entrar o bien un numero o bien una de las cuentas especiales: %s. Si lo deja en blanco, LAM usará: uidNumber*2 + sambaAlgorithmicRidBase." - -#: ../help/help.inc:49 -msgid "" -"This is the server address of your LDAP server. Use ldap:// for standard " -"LDAP connections and ldaps:// for encrypted (require server certificates) " -"connections. The port value is optional." -msgstr "Direccion de su servidor LDAP. Use ldap:// para conexiones estándar LDAP, y ldaps:// para conexiones encriptadas (requiere certificados de servidor). El numero de puerto es opcional." - -#: ../help/help.inc:96 -msgid "" -"This is the server where the lamdaemon script is stored. LDAP Account " -"Manager will make a SSH connection to this server with username and password " -"provided at login." -msgstr "Este es el servidor donde se guarda el script lamdaemon. LDAP Account Manager hará una conexión SSH usando el usuario y contraseña que Ud. uso para entrar." - -#: ../help/help.inc:61 -msgid "" -"This is the suffix of the LDAP tree from where to search for user/group/host " -"entries. Only entries in these subtrees will be displayed in the user/group/" -"host list. When creating a new accont this will be the DN where it is saved." -msgstr "Sufijo del árbol LDAP a usar para realizar búsquedas. Solo se mostrarán entradas de usuario/grupo/hosts que pertenezcan a estre subárbol. Al crear nuevas cuentas, éste será el DN donde se salvarán." - -#: ../help/help.inc:103 -msgid "" -"This is the time in minutes which LAM caches its LDAP searches. Shorter " -"times will stress LDAP more but decrease the possibility that changes are " -"not identified." -msgstr "Tiempo en minutos que LAM mantendrá en caché sus búsquedas. Tiempos menores sobrecargarian al servidor LDAP, pero mayores podrian fallar algunas busquedas." - -#: ../lib/modules/posixAccount.inc:87 -msgid "This login shell is invalid!" -msgstr "El shell de login es inválido!" - -#: ../lib/modules/sambaSamAccount.inc:189 -msgid "" -"This option defines the allowed logon hours for this account. The format is " -"the same as for the LDAP attribute. The 24*7 hours are represented as 168 " -"bit which are saved as 21 hex (21*8 = 168) values. The first bit represents " -"Sunday 0:00 - 0:59 in GMT." -msgstr "Esta opción define las horas en las que se permite iniciar la sesión a esta cuenta. El formato es el mismo que el atributo de LDAP. O sea, un valor de 168 bits donde el primer bit representa Domingo 0:00-0:59 en GMT." - -#: ../help/help.inc:105 -msgid "This text will appear on top of every user PDF file." -msgstr "Este texto aparecerá en el encabezado del PDF del usuario." - -#: ../templates/tools.php:84 -msgid "This tool allows you to customize the PDF pages." -msgstr "Este herramienta le permitirá personalizar las paginas PDF." - -#: ../templates/lists/userlink.php:63 -msgid "This user was not found!" -msgstr "Este usuario no se encontró!" - -#: ../lib/modules/sambaAccount.inc:65 ../lib/modules/sambaAccount.inc:66 -#: ../lib/modules/sambaAccount.inc:67 ../lib/modules/sambaAccount.inc:68 -#: ../lib/modules/sambaSamAccount.inc:62 ../lib/modules/sambaSamAccount.inc:63 -#: ../lib/modules/sambaSamAccount.inc:64 ../lib/modules/sambaSamAccount.inc:65 -msgid "This value can only be \\\"true\\\" or \\\"false\\\"!" -msgstr "Este valor solo puede ser \\\"true\\\" o \\\"false\\\"!" - -#: ../lib/modules/posixAccount.inc:88 -msgid "This value can only be \\\"true\\\" or \\\"false\\\"." -msgstr "Este valor solo puede ser \\\"true\\\" o \\\"false\\\"!" - -#: ../lib/modules/posixGroup.inc:412 -msgid "This value must be a list of user names separated by semicolons." -msgstr "Este valor debe ser una lista separada por comas de nombres de usuarios." - -#: ../help/help.inc:237 -msgid "This will create a new organizational unit under the selected one." -msgstr "Esto creará una nueva Unidad Organizativa (OU) dentro de la seleccionada." - -#: ../help/help.inc:239 -msgid "This will delete the selected organizational unit. The OU has to be empty." -msgstr "Esto borrará la unidad organizativa (OU) seleccionada. La OU debe de estar vacia." - -#: ../help/help.inc:113 -msgid "This will delete the selected profile." -msgstr "Esto borrará el perfil seleccionado." - -#: ../help/help.inc:214 -msgid "" -"This will make a profile of the current account. The saved values are the " -"same as in the profile editor. Profile names may contain the letters a-z, 0-" -"9 and -_." -msgstr "Esto creará un perfil de la cuenta seleccionada. Los valores guardados son los mismos que en el editor de perfiles. Los nombres de perfil pueden contener las letras a-z, 0-9 y -_." - -#: ../lib/modules/posixAccount.inc:327 ../help/help.inc:145 -msgid "" -"To disable login use /bin/false. List of shells is read from lam/config/" -"shells" -msgstr "Para deshabilitar la cuenta, use /bin/false. La lista de shells se lee de la configuración dee lam / config shells." - -#: ../templates/main_header.php:56 -msgid "Tools" -msgstr "Herramientas" - -#: ../templates/pdfedit/pdfpage.php:513 -msgid "Top" -msgstr "Arriba del todo" - -#: ../templates/lists/listusers.php:342 -msgid "Translate GID number to group name" -msgstr "Traducir GID a Nombre del grupo" - -#: ../lib/modules/posixAccount.inc:75 -msgid "UID" -msgstr "UID" - -#: ../lib/modules/posixAccount.inc:75 -msgid "UID has changed. Do you want to change home directory?" -msgstr "El UID ha cambiado. Quiere cambiar el nombre del directorio del usuario?" - -#: ../lib/modules/posixAccount.inc:70 -msgid "" -"UID must be a number. It has to be inside the UID range which is defined in " -"your configuration profile." -msgstr "El UID debe ser un numero. También se debe hallar dentro del rango de UIDs definido en su configuración." - -#: ../lib/modules/posixAccount.inc:46 ../lib/modules/posixAccount.inc:175 -#: ../lib/modules/posixAccount.inc:242 ../lib/modules/posixAccount.inc:287 -#: ../lib/modules/posixAccount.inc:291 ../lib/modules/posixAccount.inc:299 -#: ../lib/modules/posixAccount.inc:817 ../lib/modules/posixAccount.inc:962 -#: ../lib/lists.inc:178 ../lib/lists.inc:217 ../help/help.inc:136 -#: ../help/help.inc:156 -msgid "UID number" -msgstr "UID" - -#: ../lib/modules/posixAccount.inc:46 -#, php-format -msgid "" -"UID number has changed. To keep file ownership you have to run the following " -"command as root: 'find / -uid %s -exec chown %s {} \\;'" -msgstr "El UID ha cambiado. Para conservar los permisos, debe ejecutar como root: 'find / -uid %s -exec chown %s {} \\;" - -#: ../lib/modules/posixAccount.inc:63 ../lib/modules/posixAccount.inc:151 -msgid "UID ranges for Unix accounts" -msgstr "Rangos de UID para cuentas Unix" - -#: ../lib/modules/sambaAccount.inc:351 ../lib/modules/sambaSamAccount.inc:164 -#: ../help/help.inc:209 -#, php-format -msgid "" -"UNC-path (\\\\server\\share) of homedirectory. $%s and $%s are replaced with " -"user- and groupname." -msgstr "Path UNC (\\\\servidor\\recurso) del directorio del usuario. %s y %s serán reemplazados con el nombre del usuario y el grupo." - -#: ../templates/ou_edit.php:55 ../templates/ou_edit.php:120 -#: ../templates/ou_edit.php:185 ../templates/ou_edit.php:250 -msgid "Unable to create new OU!" -msgstr "No se pudo crear la nueva OU!" - -#: ../templates/config/profmanage.php:86 -msgid "Unable to create new profile!" -msgstr "No se pudo crear el nuevo perfil!" - -#: ../templates/ou_edit.php:72 ../templates/ou_edit.php:137 -#: ../templates/ou_edit.php:202 ../templates/ou_edit.php:267 -msgid "Unable to delete OU!" -msgstr "No se pudo borrar la OU!" - -#: ../templates/pdfedit/pdfdelete.php:56 -msgid "Unable to delete PDF structure!" -msgstr "No se pudo borrar la estructura de PDF!" - -#: ../templates/domain.php:314 -msgid "Unable to delete domain!" -msgstr "No se pudo eliminar el Dominio!" - -#: ../templates/config/profmanage.php:108 -#: ../templates/profedit/profiledelete.php:60 -msgid "Unable to delete profile!" -msgstr "No se pudo borrar el perfil!" - -#: ../lib/modules/posixAccount.inc:1260 -msgid "Unable to find group in LDAP." -msgstr "No se pudo encontrar el grupo en LDAP." - -#: ../templates/login.php:100 ../templates/config/confmain.php:355 -msgid "" -"Unable to load available languages. Setting English as default language. For " -"further instructions please contact the Admin of this site." -msgstr "No se pudieron cargar los idiomas disponibles. Estableciendo Inglés como idioma por defecto. Para más información, por favor, contacte con el Administrador del sistema." - -#: ../lib/profiles.inc:91 ../lib/profiles.inc:95 -msgid "Unable to load profile!" -msgstr "No se pudo cargar el perfil!" - -#: ../templates/profedit/profilecreate.php:114 -msgid "Unable to save profile!" -msgstr "No se pudo gravar el perfil!" - -#: ../lib/modules/posixGroup.inc:226 ../lib/modules/posixAccount.inc:114 -msgid "Unix" -msgstr "Unix" - -#: ../lib/modules/inetOrgPerson.inc:51 ../lib/modules/inetOrgPerson.inc:400 -#: ../lib/modules/inetOrgPerson.inc:462 ../help/help.inc:227 -msgid "Unix workstations" -msgstr "Estaciones de trabajo Unix" - -#: ../lib/modules/inetOrgPerson.inc:51 -msgid "Unix workstations is invalid." -msgstr "Las estaciones de trabajo Unix són inválidas." - -#: ../templates/config/confmodules.php:245 -#: ../templates/config/confmodules.php:348 -#: ../templates/config/confmodules.php:451 -msgid "Unsolved dependency:" -msgstr "Dependencia fallidas:" - -#: ../templates/pdfedit/pdfpage.php:581 -msgid "Up" -msgstr "Arriba" - -#: ../templates/massBuildAccounts.php:193 -msgid "Upload accounts to LDAP" -msgstr "Subir cuentas al LDAP" - -#: ../templates/masscreate.php:128 -msgid "Upload file and create accounts" -msgstr "Subir archivo y crear cuentas" - -#: ../lib/modules.inc:472 -#, php-format -msgid "Upload was stopped after errors in %s module!" -msgstr "Se abortó la transferencia debido a errores en el módulo %s!" - -#: ../lib/modules/sambaAccount.inc:100 ../lib/modules/sambaAccount.inc:203 -#: ../lib/modules/sambaAccount.inc:318 ../lib/modules/sambaAccount.inc:321 -#: ../lib/modules/sambaSamAccount.inc:131 -#: ../lib/modules/sambaSamAccount.inc:134 -#: ../lib/modules/sambaSamAccount.inc:217 -msgid "Use Unix password" -msgstr "Usar la constraseña Unix" - -#: ../templates/pdfedit/pdfpage.php:442 ../templates/pdfedit/pdfpage.php:487 -#: ../templates/pdfedit/pdfpage.php:501 ../templates/pdfedit/pdfpage.php:519 -#: ../templates/pdfedit/pdfpage.php:530 ../templates/pdfedit/pdfpage.php:541 -#: ../templates/pdfedit/pdfpage.php:552 -msgid "Use default" -msgstr "Usar predefinido(a)" - -#: ../help/help.inc:93 ../help/help.inc:98 -msgid "" -"Use it at your own risk and read the documentation for lamdaemon before you " -"use it!" -msgstr "Uselo bajo su responsabilidad y lea la documentación de lamdaemon antes de usarlo!" - -#: ../lib/modules/posixGroup.inc:345 ../lib/modules/sambaAccount.inc:106 -#: ../lib/modules/sambaAccount.inc:211 ../lib/modules/sambaAccount.inc:324 -#: ../lib/modules/sambaAccount.inc:327 ../lib/modules/sambaAccount.inc:703 -#: ../lib/modules/sambaSamAccount.inc:137 -#: ../lib/modules/sambaSamAccount.inc:140 -#: ../lib/modules/sambaSamAccount.inc:225 -#: ../lib/modules/sambaSamAccount.inc:682 -#: ../lib/modules/sambaSamAccount.inc:833 ../lib/modules/posixAccount.inc:321 -#: ../help/help.inc:186 -msgid "Use no password" -msgstr "No utilizar ninguna contraseña" - -#: ../lib/modules/sambaAccount.inc:697 ../lib/modules/sambaSamAccount.inc:676 -#: ../lib/modules/sambaSamAccount.inc:827 ../help/help.inc:188 -msgid "Use unix password" -msgstr "Usar contraseña de Unix" - -#: ../lib/modules/quota.inc:68 ../lib/modules/quota.inc:292 -msgid "Used blocks" -msgstr "Bloques en uso" - -#: ../lib/modules/quota.inc:69 -msgid "Used blocks. 1000 blocks are usually 1MB" -msgstr "Bloques en uso. 1000 bloques son normalmente 1 Mega" - -#: ../help/help.inc:253 -msgid "Used for calculating RIDs from UID/GID. Do not change if unsure." -msgstr "Usado para calcular RIDs a partir de UIDs/GIDs. No lo cambie si no está seguro de lo que hace." - -#: ../lib/modules/quota.inc:84 ../lib/modules/quota.inc:296 -msgid "Used inodes" -msgstr "Inodos usados" - -#: ../lib/modules/quota.inc:85 -msgid "Used inodes (files)" -msgstr "Inodos usados (archivos)" - -#: ../lib/modules/sambaGroupMapping.inc:51 -msgid "User" -msgstr "Usuario" - -#: ../lib/lists.inc:177 -msgid "User ID" -msgstr "ID de usuario" - -#: ../lib/modules/sambaAccount.inc:235 ../lib/modules/sambaAccount.inc:342 -#: ../lib/modules/sambaAccount.inc:719 ../lib/modules/sambaSamAccount.inc:155 -#: ../lib/modules/sambaSamAccount.inc:249 -#: ../lib/modules/sambaSamAccount.inc:698 ../help/help.inc:192 -msgid "User can change password" -msgstr "El usuario puede cambiar la contraseña" - -#: ../lib/modules/posixAccount.inc:309 ../lib/modules/inetOrgPerson.inc:216 -#: ../help/help.inc:143 -msgid "User description. If left empty sur- and give name will be used." -msgstr "Descripcción del usuario. Si se deja en blanco, se usará el apellido y el \"givename\"" - -#: ../lib/pdf.inc:449 -msgid "User information page" -msgstr "Página de información del usuario" - -#: ../templates/initsuff.php:152 ../templates/initsuff.php:159 -#: ../templates/initsuff.php:167 -msgid "User list" -msgstr "Lista de usuarios" - -#: ../templates/config/confsave.php:126 -msgid "User list attributes are invalid!" -msgstr "La lista de atributos del usuario no es válida!" - -#: ../templates/config/confmodules.php:181 -#: ../templates/config/confmain.php:219 ../lib/config.inc:345 -msgid "User modules" -msgstr "Módulos de usuario" - -#: ../lib/modules/sambaAccount.inc:242 ../lib/modules/sambaAccount.inc:344 -#: ../lib/modules/sambaAccount.inc:727 ../lib/modules/sambaSamAccount.inc:157 -#: ../lib/modules/sambaSamAccount.inc:256 -#: ../lib/modules/sambaSamAccount.inc:706 ../help/help.inc:194 -msgid "User must change password" -msgstr "El usuario debe cambiar la contraseña" - -#: ../lib/modules/account.inc:64 ../lib/modules/posixAccount.inc:167 -msgid "User name" -msgstr "Nombre del usuario" - -#: ../templates/profedit/profilemain.php:132 -msgid "User profiles" -msgstr "Perfiles del usuario" - -#: ../lib/modules/quota.inc:400 -msgid "User quota" -msgstr "Quota del usuario" - -#: ../help/help.inc:60 -msgid "User/Group/Host suffix" -msgstr "Sufijo Usuario/Grupo/Host" - -#: ../templates/config/confmain.php:170 ../lib/config.inc:333 -msgid "UserSuffix" -msgstr "SufijoDeUsuario" - -#: ../templates/config/confsave.php:106 -msgid "UserSuffix is invalid!" -msgstr "SufijoDeUsuario es inválido!" - -#: ../templates/login.php:157 ../lib/modules/sambaAccount.inc:843 -#: ../lib/modules/sambaSamAccount.inc:915 ../lib/modules/posixAccount.inc:76 -#: ../lib/modules/posixAccount.inc:77 ../lib/modules/posixAccount.inc:80 -#: ../lib/modules/posixAccount.inc:304 ../lib/modules/posixAccount.inc:814 -#: ../lib/modules/posixAccount.inc:961 ../lib/lists.inc:180 -#: ../help/help.inc:134 -msgid "Username" -msgstr "Nombre del usuario" - -#: ../lib/modules/posixAccount.inc:77 ../lib/modules/posixAccount.inc:82 -msgid "" -"Username contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ !" -msgstr "El nombre del usuario contiene caracteres inválidos. Los caracteres válidos son: a-z, A-Z, 0-9,y .-_ !" - -#: ../lib/modules/posixAccount.inc:80 -msgid "Username in use. Selected next free username." -msgstr "El nombre del usuario ya está en uso. Se usó el próximo nombre disponible." - -#: ../lib/modules/posixAccount.inc:305 ../help/help.inc:135 -msgid "" -"Username of the user who should be created. Valid characters are: a-z,0-9, .-" -"_. Lam does not allow a number as first character because useradd also does " -"not allow it. Lam does not allow capital letters A-Z because it can cause " -"several problems. If username is already used username will be expanded with " -"a number. The next free number will be used. Warning: Older systems have " -"problems with usernames longer than 8 characters. You can not log in to " -"Windows if username is longer than 16 characters." -msgstr "Nombre del usuario a crear. Los caracteres válidos son: a-z,0-9,.-_. Lam no permite numeros como primer caracter porque useradd tampoco lo permite. Lam no permite mayúsculas porque pueden causar varios problemas. Si el nombre de la cuenta ya está en uso, se expandirá con el próximo numero disponible. Atención: Los sistemas antiguos pueden tener problemas con nombres de usuarios con más de 8 caracteres. No podrá entrar a Windows si el nombre de usuario tiene más de 16 caracteres." - -#: ../templates/ou_edit.php:339 ../templates/main_header.php:74 -#: ../lib/modules/posixAccount.inc:57 ../lib/modules/posixAccount.inc:58 -#: ../lib/modules/posixAccount.inc:61 ../lib/modules/posixAccount.inc:123 -#: ../help/help.inc:73 -msgid "Users" -msgstr "Usuarios" - -#: ../help/help.inc:232 -msgid "Users also being member of the current group." -msgstr "Otros usuarios del grupo." - -#: ../lib/modules/posixGroup.inc:334 -msgid "Users who are member of the current group." -msgstr "Usuarios que son miembros del grupo seleccionado." - -#: ../lib/modules/posixGroup.inc:338 -msgid "" -"Users who will become member of the current group. User names are separated " -"by semicolons." -msgstr "Usuarios que serán miembros del grupo seleccionado. Los nombres deben ser separados por comas." - -#: ../help/help.inc:173 -msgid "Users wich are also members of group." -msgstr "Usuarios que también son miembros del grupo." - -#: ../help/help.inc:81 -msgid "Valid users" -msgstr "Usuarios válidos" - -#: ../templates/delete.php:184 ../lib/modules.inc:1406 -#, php-format -msgid "Was unable to add attribtues to DN: %s." -msgstr "No se pudo añadir atributos al DN: %s." - -#: ../lib/modules.inc:1371 ../lib/modules.inc:1380 -#, php-format -msgid "Was unable to create DN: %s." -msgstr "No se pudo crear el DN: %s." - -#: ../lib/modules.inc:1364 -#, php-format -msgid "Was unable to delete DN: %s." -msgstr "No se pudo borrar el DN: %s." - -#: ../templates/delete.php:174 ../lib/modules.inc:1396 -#, php-format -msgid "Was unable to modify attribtues from DN: %s." -msgstr "No se pudieron modificar atributos del DN: %s." - -#: ../templates/delete.php:194 ../templates/delete.php:218 -#: ../lib/modules.inc:1416 -#, php-format -msgid "Was unable to remove attribtues from DN: %s." -msgstr "No se pudieron eliminar atributos del DN: %s." - -#: ../help/help.inc:59 -msgid "" -"When using ldaps:// be sure to use exactly the same IP/domain name as in " -"your certificate!" -msgstr "Si usa ldaps://, asegurese de usar la misma dirección IP/ nombre de dominio que en su certificado!" - -#: ../templates/pdfedit/pdfpage.php:460 -msgid "Width" -msgstr "Anchura" - -#: ../help/help.inc:175 -msgid "Windows clients will show display name as group description." -msgstr "Los clientes windows mostrarán el nombre como la descripción del grupo." - -#: ../help/help.inc:217 -msgid "Windows domain" -msgstr "Dominio de Windows" - -#: ../lib/modules/sambaAccount.inc:375 ../lib/modules/sambaSamAccount.inc:186 -msgid "Windows domain name of account." -msgstr "Nombre del dominio de windows de la cuenta." - -#: ../help/help.inc:218 -msgid "Windows domain of host." -msgstr "Domino de windows del host." - -#: ../lib/modules/sambaAccount.inc:279 ../lib/modules/sambaAccount.inc:763 -#: ../lib/modules/sambaSamAccount.inc:293 -#: ../lib/modules/sambaSamAccount.inc:742 -#: ../lib/modules/sambaSamAccount.inc:923 -#: ../lib/modules/sambaGroupMapping.inc:174 -#: ../lib/modules/sambaGroupMapping.inc:298 -msgid "Windows group" -msgstr "grupo de Windows" - -#: ../lib/modules/sambaAccount.inc:368 -msgid "Windows group RID" -msgstr "RID del grupo de Windows" - -#: ../lib/modules/sambaAccount.inc:365 ../help/help.inc:225 -msgid "Windows group name" -msgstr "Nombre del grupo de Windows" - -#: ../lib/modules/sambaGroupMapping.inc:284 -msgid "Windows group type." -msgstr "Tipo de grupo de Windows." - -#: ../lib/modules/sambaGroupMapping.inc:271 -msgid "Windows groupname" -msgstr "NombreDeGrupo de Windows" - -#: ../lib/modules/sambaSamAccount.inc:178 -msgid "Windows primary group SID" -msgstr "SID del grupo primario de Windows" - -#: ../lib/modules/sambaGroupMapping.inc:280 -msgid "Windows-Domain name of group." -msgstr "Nombre del grupo de Windows" - -#: ../help/help.inc:230 -msgid "Windows-Domain of group." -msgstr "Dominio de windows del grupo" - -#: ../help/help.inc:212 -msgid "Windows-Domain of user." -msgstr "Dominio de Windows del usuario." - -#: ../templates/login.php:331 -msgid "Wrong Password/Username combination. Try again." -msgstr "Combinación incorrecta de usuario/contraseña. Pruebe otra vez." - -#: ../templates/pdfedit/pdfdelete.php:89 -#: ../templates/profedit/profiledelete.php:118 -msgid "Wrong or missing type!" -msgstr "Tipo incorrecto o inexistente!" - -#: ../lib/modules.inc:618 -msgid "Wrong profilename given." -msgstr "Nombre del perfil especificado incorrecto." - -#: ../lib/modules/posixGroup.inc:408 ../lib/modules/posixAccount.inc:76 -#: ../lib/modules/posixAccount.inc:78 -msgid "" -"You are using a capital letters. This can cause problems because windows " -"isn't case-sensitive." -msgstr "Está usando letras mayúsculas. Esto puede causar problemas, ya que Windows no es sensitivo a mayúsculas." - -#: ../help/help.inc:177 -msgid "" -"You can select a previous defined profile here. This will set all fields to " -"the profile values." -msgstr "Aquí puede Ud. selecionar un perfil ya existente. Esto pondrá todos los campos a los valores del perfil." - -#: ../lib/modules/posixGroup.inc:399 ../lib/modules/posixAccount.inc:73 -msgid "You cannot use this password options at the same time." -msgstr "No puede usar esas opciones de contraseña a la vez." - -#: ../templates/logout.php:70 -msgid "You have been logged off from LDAP Account Manager." -msgstr "Ha sido Ud. desconectado de LDAP Account Manager." - -#: ../templates/login.php:201 -msgid "Your Language" -msgstr "Su Idioma" - -#: ../lib/modules/sambaAccount.inc:257 ../lib/modules/sambaSamAccount.inc:271 -msgid "\\\\server\\homes\\smiller" -msgstr "\\\\servidor\\directorio\\smiller" - -#: ../lib/modules/sambaAccount.inc:263 ../lib/modules/sambaSamAccount.inc:277 -msgid "\\\\server\\profiles\\smiller" -msgstr "\\\\servidor\\perfiles\\smiller" - -#: ../lib/modules/posixGroup.inc:289 -msgid "adminstrators" -msgstr "administradores" - -#: ../templates/config/confmodules.php:194 -#: ../templates/config/confmodules.php:222 -#: ../templates/config/confmodules.php:297 -#: ../templates/config/confmodules.php:325 -#: ../templates/config/confmodules.php:400 -#: ../templates/config/confmodules.php:428 -msgid "base module" -msgstr "módulo base" - -#: ../lib/modules/inetOrgPerson.inc:62 ../lib/modules/inetOrgPerson.inc:189 -#: ../lib/modules/inetOrgPerson.inc:259 ../lib/modules/inetOrgPerson.inc:260 -#: ../lib/modules/inetOrgPerson.inc:445 ../lib/modules/inetOrgPerson.inc:473 -msgid "eMail address" -msgstr "dirección de e-mail" - -#: ../lib/modules/posixAccount.inc:190 -msgid "group01,group02" -msgstr "group01,group02" - -#: ../lib/modules/quota.inc:120 ../lib/modules/quota.inc:122 -#: ../lib/modules/quota.inc:189 ../lib/modules/quota.inc:191 -msgid "hours" -msgstr "horas" - -#: ../help/help.inc:53 -msgid "" -"ldap://localhost:389 connects to localhost using a standard LDAP connection " -"on port 389" -msgstr "ldap://localhost:389 conecta a la misma maquina localhost, mediante una conexión LDAP estándard en el puerto 389." - -#: ../help/help.inc:55 -msgid "" -"ldaps://141.40.146.133 connects to 141.40.146.133 using an encrypted LDAP " -"connection." -msgstr "ldaps://141.40.146.133 conecta a 11.40.146.133 usando una conexión LDAP encriptada." - -#: ../lib/modules/posixAccount.inc:250 -msgid "machines" -msgstr "máquinas" - -#: ../lib/modules/sambaAccount.inc:295 ../lib/modules/sambaAccount.inc:305 -#: ../lib/modules/sambaSamAccount.inc:201 -#: ../lib/modules/sambaSamAccount.inc:319 -msgid "mydomain" -msgstr "midominio" - -#: ../help/help.inc:65 -msgid "" -"ou=People,dc=yourcompany,dc=com will read and store all accounts in this " -"subtree." -msgstr "ou=People,dc=suempresa,dc=com leerá y almacenará todas sus cuentas en ese subárbol." - -#: ../lib/modules/posixAccount.inc:236 -msgid "pc01$" -msgstr "pc01$" - -#: ../lib/modules/posixAccount.inc:257 -msgid "pc01,Room 2.34" -msgstr "pc01,Room 2.34" - -#: ../templates/config/confmain.php:431 -msgid "required" -msgstr "requerido" - -#: ../templates/config/confmain.php:433 -msgid "required for Samba 3 accounts" -msgstr "requerido para cuentas de Samba 3" - -#: ../templates/config/confmain.php:432 -msgid "required for Samba accounts" -msgstr "requerido para cuentas de Samba" - -#: ../templates/pdfedit/pdfpage.php:546 -msgid "right" -msgstr "derecha" - -#: ../lib/modules/posixGroup.inc:315 ../lib/modules/sambaAccount.inc:199 -#: ../lib/modules/sambaSamAccount.inc:213 ../lib/modules/posixAccount.inc:211 -msgid "secret" -msgstr "secreto" - -#: ../lib/modules/posixAccount.inc:169 -msgid "smiller" -msgstr "smiller" - -#: ../lib/modules/posixGroup.inc:309 -msgid "user01,user02,user03" -msgstr "user01,user02,user03" - -#: ../lib/modules/inetOrgPerson.inc:191 -msgid "user@company.com" -msgstr "usuario@empresa.com" - -#: ../lib/modules/posixAccount.inc:183 -msgid "users" -msgstr "usuarios" - diff --git a/lam/locale/fr_FR/LC_MESSAGES/messages.mo b/lam/locale/fr_FR/LC_MESSAGES/messages.mo deleted file mode 100644 index 506882ec..00000000 Binary files a/lam/locale/fr_FR/LC_MESSAGES/messages.mo and /dev/null differ diff --git a/lam/locale/fr_FR/LC_MESSAGES/messages.po b/lam/locale/fr_FR/LC_MESSAGES/messages.po deleted file mode 100644 index a0633fea..00000000 --- a/lam/locale/fr_FR/LC_MESSAGES/messages.po +++ /dev/null @@ -1,4126 +0,0 @@ -# translation of messages.po to Française -# $Id: messages.po,v 1.1 2004/10/02 11:26:18 gruberroland Exp $ -# -# -# LDAP Account Manager -# Poirier , 2004. -# Emmanuel Seyman , 2004. -# -msgid "" -msgstr "" -"Project-Id-Version: messages\n" -"Report-Msgid-Bugs-To: post@rolandgruber.de \n" -"POT-Creation-Date: 2004-01-14 17:45+0200\n" -"PO-Revision-Date: 2004-03-19 12:46+0100\n" -"Last-Translator: Xavier Poirier \n" -"Language-Team: French \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.0.2\n" - -#: ../help/help.inc:147 -#, php-format -msgid "$%s and $%s are replaced with username or primary groupname." -msgstr "$%s et $%s seront remplacés avec les noms utilisateurs et groupe." - -#: ../lib/account.inc:722 ../lib/account.inc:727 -#, php-format -msgid "%s already exists!" -msgstr "%s existe déjà !" - -#: ../templates/confwiz/ldaptest.php:345 ../templates/confwiz/ldaptest.php:353 -#: ../templates/confwiz/ldaptest.php:361 -msgid "(optional)" -msgstr "(falcultatif)" - -#: ../templates/ou_edit.php:95 ../templates/ou_edit.php:160 -#: ../templates/ou_edit.php:225 ../templates/ou_edit.php:290 -#: ../templates/config/confmain.php:369 -#: ../templates/profedit/profiledelete.php:98 -#: ../templates/profedit/profiledelete.php:110 -#: ../templates/profedit/profiledelete.php:122 -#: ../templates/profedit/profilegroup.php:153 -#: ../templates/profedit/profilehost.php:122 -#: ../templates/profedit/profilemain.php:262 -#: ../templates/profedit/profileuser.php:430 -msgid "Abort" -msgstr "Abandon" - -#: ../templates/account/useredit.php:1118 ../help/help.inc:197 -msgid "Account deactivated" -msgstr "Compte désactivé" - -#: ../help/help.inc:180 -msgid "Account expire date. Format: DD-MM-YYYY" -msgstr "Date d'expiration du compte. Format: JJ-MM-AAAA" - -#: ../templates/profedit/profileuser.php:180 -msgid "Account expires on" -msgstr "Compte expirant le" - -#: ../templates/account/useredit.php:1249 -#: ../templates/profedit/profileuser.php:218 -#: ../templates/profedit/profileuser.php:267 ../help/help.inc:207 -msgid "Account is deactivated" -msgstr "Le compte est desactivé" - -#: ../templates/config/profmanage.php:155 ../help/help.inc:109 -msgid "Add profile" -msgstr "Ajouter un profil" - -#: ../templates/account/hostedit.php:131 -msgid "Added $ to hostname." -msgstr "Ajout de $ au nom de machine." - -#: ../templates/account/groupedit.php:535 -msgid "Additional group members" -msgstr "Membres du groupe supplémentaire" - -#: ../templates/account/useredit.php:878 ../templates/account/useredit.php:977 -#: ../templates/profedit/profileuser.php:105 ../help/help.inc:144 -msgid "Additional groups" -msgstr "Groupes supplémentaires" - -#: ../templates/domain.php:136 ../templates/confwiz/ldaptest.php:372 -#: ../help/help.inc:305 -msgid "Algorithmic RID Base" -msgstr "Base Algorithmique du RID" - -#: ../templates/domain.php:242 ../templates/confwiz/ldaptest.php:252 -msgid "Algorithmic RID base is not a number!" -msgstr "La base algorithmique du RID n'est pas un nombre !" - -#: ../templates/masscreate.php:261 -msgid "All Users have been created" -msgstr "Tous les utilisateurs ont été crées." - -#: ../templates/massdetail.php:72 -msgid "All changes were reseted" -msgstr "Toutes les modifications ont été annulées." - -#: ../templates/initsuff.php:149 -msgid "All changes were successful." -msgstr "Toutes les modifications ont été faites." - -#: ../lib/ldap.inc:197 -msgid "Allowed hosts" -msgstr "Machines autorisés" - -#: ../templates/account/useredit.php:811 -msgid "Allowed workstations" -msgstr "Stations autorisées" - -#: ../templates/massdetail.php:274 ../templates/lists/listusers.php:360 -msgid "Apply" -msgstr "Appliquer" - -#: ../templates/config/confmain.php:237 ../templates/confwiz/o_lists.php:131 -#: ../lib/config.inc:286 -msgid "Attributes in Group List" -msgstr "Attributs dans la liste Groupes" - -#: ../templates/config/confmain.php:242 ../templates/confwiz/o_lists.php:136 -#: ../lib/config.inc:287 -msgid "Attributes in Host List" -msgstr "Attributs dans la liste Machines" - -#: ../templates/config/confmain.php:232 ../templates/confwiz/o_lists.php:126 -#: ../lib/config.inc:285 -msgid "Attributes in User List" -msgstr "Attributs dans la liste Utilisateurs" - -#: ../templates/confwiz/server2.php:225 -msgid "Attributes in list views" -msgstr "Attributs dans la liste des vues" - -#: ../templates/account/useredit.php:896 -msgid "Available groups" -msgstr "Groupes disponibles" - -#: ../templates/account/groupedit.php:553 -msgid "Available users" -msgstr "Utilisateurs disponibles" - -#: ../templates/account/useredit.php:826 -msgid "Available workstations" -msgstr "Stations disponibles" - -#: ../templates/account/useredit.php:835 ../templates/account/useredit.php:908 -#: ../templates/masscreate.php:330 ../templates/confwiz/server2.php:235 -msgid "Back" -msgstr "Retour" - -#: ../templates/logout.php:63 ../templates/config/conflogin.php:143 -#: ../templates/config/confsave.php:222 ../templates/confwiz/final.php:55 -msgid "Back to Login" -msgstr "Retour vers Connection" - -#: ../templates/ou_edit.php:309 ../templates/ou_edit.php:313 -msgid "Back to OU-Editor" -msgstr "Retour à l'éditeur OU" - -#: ../templates/profedit/profilecreate.php:65 -#: ../templates/profedit/profilecreate.php:76 -#: ../templates/profedit/profilecreate.php:84 -#: ../templates/profedit/profilecreate.php:92 -#: ../templates/profedit/profilecreate.php:100 -#: ../templates/profedit/profilecreate.php:108 -#: ../templates/profedit/profilecreate.php:116 -#: ../templates/profedit/profilecreate.php:124 -#: ../templates/profedit/profilecreate.php:132 -#: ../templates/profedit/profilecreate.php:140 -#: ../templates/profedit/profilecreate.php:148 -#: ../templates/profedit/profilecreate.php:156 -#: ../templates/profedit/profilecreate.php:164 -#: ../templates/profedit/profilecreate.php:172 -#: ../templates/profedit/profilecreate.php:180 -#: ../templates/profedit/profilecreate.php:188 -#: ../templates/profedit/profilecreate.php:197 -#: ../templates/profedit/profilecreate.php:206 -#: ../templates/profedit/profilecreate.php:215 -#: ../templates/profedit/profilecreate.php:223 -#: ../templates/profedit/profilecreate.php:231 -#: ../templates/profedit/profilecreate.php:247 -#: ../templates/profedit/profilecreate.php:252 -#: ../templates/profedit/profilecreate.php:257 -#: ../templates/profedit/profilecreate.php:262 -#: ../templates/profedit/profilecreate.php:274 -#: ../templates/profedit/profilecreate.php:284 -#: ../templates/profedit/profilecreate.php:297 -#: ../templates/profedit/profilecreate.php:312 -#: ../templates/profedit/profilecreate.php:317 -#: ../templates/profedit/profilecreate.php:322 -#: ../templates/profedit/profilecreate.php:327 -#: ../templates/profedit/profilecreate.php:339 -#: ../templates/profedit/profilecreate.php:349 -#: ../templates/profedit/profilecreate.php:362 -#: ../templates/profedit/profilecreate.php:370 -#: ../templates/profedit/profilecreate.php:378 -#: ../templates/profedit/profilecreate.php:386 -#: ../templates/profedit/profiledelete.php:75 -#: ../templates/profedit/profiledelete.php:83 -#: ../templates/profedit/profiledelete.php:131 -msgid "Back to Profile Editor" -msgstr "Retour à l'éditeur de profils" - -#: ../templates/domain.php:280 ../templates/domain.php:307 -msgid "Back to domain list" -msgstr "Retour à la liste des domaines" - -#: ../templates/account/groupedit.php:857 ../templates/delete.php:210 -#: ../templates/delete.php:246 ../templates/lists/userlink.php:56 -msgid "Back to group list" -msgstr "Retour à la liste des groupes" - -#: ../templates/account/hostedit.php:471 ../templates/delete.php:213 -#: ../templates/delete.php:238 -msgid "Back to host list" -msgstr "Retour à la liste des machines" - -#: ../templates/account/hostedit.php:100 -msgid "Back to hostlist" -msgstr "Retour vers hostlist" - -#: ../templates/confwiz/o_daemon.php:79 -msgid "Back to lamdaemon and PDF settings" -msgstr "Retour vers lamdaemon et les paramétres PDF" - -#: ../templates/confwiz/o_lang.php:76 -msgid "Back to language and admin settings." -msgstr "Retour vers les paramètres langue et admin" - -#: ../templates/confwiz/server2.php:88 ../templates/confwiz/server.php:85 -msgid "Back to last page" -msgstr "Retour vers la dernière page" - -#: ../templates/confwiz/o_lists.php:79 -msgid "Back to list settings" -msgstr "Retour vers les paramètres de liste" - -#: ../templates/config/confsave.php:84 ../templates/config/confsave.php:90 -#: ../templates/config/confsave.php:95 ../templates/config/confsave.php:100 -#: ../templates/config/confsave.php:105 ../templates/config/confsave.php:110 -#: ../templates/config/confsave.php:115 ../templates/config/confsave.php:120 -#: ../templates/config/confsave.php:125 ../templates/config/confsave.php:130 -#: ../templates/config/confsave.php:135 ../templates/config/confsave.php:140 -#: ../templates/config/confsave.php:145 ../templates/config/confsave.php:150 -#: ../templates/config/confsave.php:155 ../templates/config/confsave.php:160 -#: ../templates/config/confsave.php:165 ../templates/config/confsave.php:170 -#: ../templates/config/confsave.php:176 ../templates/config/confsave.php:182 -#: ../templates/config/confsave.php:188 ../templates/config/confsave.php:194 -#: ../templates/config/confsave.php:200 -msgid "Back to preferences..." -msgstr "Retour vers les préférences..." - -#: ../templates/config/profmanage.php:365 ../templates/confwiz/start.php:77 -msgid "Back to profile login" -msgstr "Retour vers le login de profil" - -#: ../templates/confwiz/o_ranges.php:88 -msgid "Back to range settings" -msgstr "Retour vers les paramètres de plage" - -#: ../templates/confwiz/ldaptest.php:182 ../templates/confwiz/ldaptest.php:292 -#: ../templates/confwiz/ldaptest.php:568 -msgid "Back to server settings" -msgstr "Retour vers les paramètres serveurs" - -#: ../templates/account/useredit.php:1578 ../templates/delete.php:207 -#: ../templates/delete.php:230 -msgid "Back to user list" -msgstr "Retour vers la liste d'utilisateurs" - -#: ../templates/account/useredit.php:109 -msgid "Back to userlist" -msgstr "Retour vers listeutil" - -#: ../templates/account/groupedit.php:263 -#: ../templates/account/useredit.php:469 -#: ../templates/profedit/profilecreate.php:251 -#: ../templates/profedit/profilecreate.php:316 -msgid "Block hard quota" -msgstr "Bloquer le quota dur" - -#: ../templates/account/groupedit.php:263 -#: ../templates/account/useredit.php:469 -#: ../templates/profedit/profilecreate.php:251 -#: ../templates/profedit/profilecreate.php:316 -msgid "" -"Block hard quota contains invalid characters. Only natural numbers are " -"allowed" -msgstr "" -"Bloquer le quota dur contient des caratères invalides. Seuls les nombres " -"naturels sont autorisés" - -#: ../templates/account/groupedit.php:261 -#: ../templates/account/useredit.php:467 -#: ../templates/profedit/profilecreate.php:246 -#: ../templates/profedit/profilecreate.php:311 -msgid "Block soft quota" -msgstr "Bloquer le quota souple" - -#: ../templates/account/groupedit.php:261 -#: ../templates/account/useredit.php:467 -#: ../templates/profedit/profilecreate.php:246 -#: ../templates/profedit/profilecreate.php:311 -msgid "" -"Block soft quota contains invalid characters. Only natural numbers are " -"allowed" -msgstr "" -"Bloquer le quota souple contient des caratères invalides. Seuls les nombres " -"naturels sont autorisés" - -#: ../templates/config/confmain.php:163 ../templates/confwiz/server2.php:202 -#: ../help/help.inc:103 ../lib/config.inc:273 -msgid "Cache timeout" -msgstr "Timeout du cache" - -#: ../templates/config/confsave.php:94 ../templates/confwiz/server2.php:74 -msgid "Cache timeout is invalid!" -msgstr "Le timeout du cache n'est pas valable !" - -#: ../help/help.inc:145 ../help/help.inc:172 ../help/help.inc:174 -#: ../help/help.inc:176 ../help/help.inc:178 ../help/help.inc:212 -#: ../help/help.inc:215 ../help/help.inc:218 ../help/help.inc:220 -#: ../help/help.inc:223 ../help/help.inc:271 ../help/help.inc:281 -#: ../help/help.inc:283 ../help/help.inc:285 -msgid "Can be left empty." -msgstr "Champ vide autorisé." - -#: ../templates/account/hostedit.php:99 -msgid "Can not create any hosts." -msgstr "Ne peut pas créer des machines." - -#: ../templates/account/useredit.php:108 -msgid "Can not create any users." -msgstr "Ne peut pas créer des utilisateurs." - -#: ../templates/delete.php:111 ../templates/domain.php:178 -#: ../templates/domain.php:209 ../templates/initsuff.php:199 -#: ../templates/masscreate.php:120 ../templates/masscreate.php:248 -#: ../templates/masscreate.php:331 ../templates/confwiz/o_ranges.php:153 -#: ../templates/confwiz/o_daemon.php:142 ../templates/confwiz/ldaptest.php:209 -#: ../templates/confwiz/ldaptest.php:402 ../templates/confwiz/ldaptest.php:491 -#: ../templates/confwiz/server2.php:236 ../templates/confwiz/o_lang.php:163 -#: ../templates/confwiz/server.php:197 ../templates/confwiz/o_lists.php:148 -#: ../templates/confwiz/start.php:182 -msgid "Cancel" -msgstr "Annuler" - -#: ../templates/login.php:311 ../templates/login.php:316 -#: ../templates/confwiz/server.php:68 ../templates/confwiz/server.php:69 -msgid "Cannot connect to specified LDAP-Server. Please try again." -msgstr "Impossible de se connecter au serveur LDAP spécifié. Reéssayez." - -#: ../lib/config.inc:263 ../lib/config.inc:777 -msgid "Cannot open config file!" -msgstr "Impossible d'ouvrir le fichier de configuration !" - -#: ../lib/pdf.inc:113 -msgid "Cellular phone" -msgstr "Téléphone mobile" - -#: ../templates/account/groupedit.php:832 -msgid "Change GID-Number of all users in group to new value" -msgstr "" -"Changer le nombre GID de tous les utilisateurs dans le groupe à la nouvelle " -"valeur" - -#: ../templates/login.php:262 -msgid "Change Profile" -msgstr "Changer le profil" - -#: ../templates/lists/listdomains.php:194 -#: ../templates/lists/listgroups.php:307 ../templates/lists/listhosts.php:295 -#: ../templates/lists/listusers.php:348 -msgid "Change Suffix" -msgstr "Changer le suffixe" - -#: ../templates/config/profmanage.php:302 ../help/help.inc:117 -msgid "Change default profile" -msgstr "Changer le profil standard" - -#: ../templates/config/profmanage.php:322 ../help/help.inc:119 -msgid "Change master password" -msgstr "Changer le mot de passe Principal" - -#: ../help/help.inc:96 -msgid "Change password" -msgstr "Changer le mot de passe" - -#: ../templates/massdetail.php:189 ../templates/massdetail.php:194 -msgid "Check values." -msgstr "Vérifier les valeurs." - -#: ../templates/masscreate.php:246 ../lib/config.inc:70 -msgid "Click here if you are not directed to the next page." -msgstr "Cliquer ici si vous n'etes pas dirigés vers la page suivante." - -#: ../help/help.inc:281 -msgid "Comma separated list of unix workstations the user is allowed to login." -msgstr "" -"La liste séparée par des virgules des stations sur lesquelles l'utilisateur " -"peut se connecter" - -#: ../templates/delete.php:110 -msgid "Commit" -msgstr "Valider" - -#: ../templates/login.php:119 -msgid "Configuration Login" -msgstr "Login de Configuration" - -#: ../help/help.inc:36 ../help/help.inc:38 ../help/help.inc:50 -#: ../help/help.inc:56 ../help/help.inc:58 ../help/help.inc:60 -#: ../help/help.inc:62 ../help/help.inc:77 ../help/help.inc:82 -#: ../help/help.inc:84 ../help/help.inc:86 ../help/help.inc:91 -#: ../help/help.inc:96 ../help/help.inc:98 ../help/help.inc:103 -#: ../help/help.inc:105 ../help/help.inc:107 -msgid "Configuration Wizard" -msgstr "Assistant de configuration" - -#: ../templates/login.php:245 -msgid "Configuration profile" -msgstr "Profil de configuration" - -#: ../templates/confwiz/start.php:135 -msgid "" -"Configuration profiles are protected with a password from unauthorised " -"access. Please enter it here." -msgstr "" -"Les profils de configuration sont protégés par un mot de passe contre les " -"accès non autorisé. Entrez le ici." - -#: ../templates/config/conflogin.php:130 ../templates/confwiz/final.php:46 -#: ../templates/confwiz/o_ranges.php:82 ../templates/confwiz/o_ranges.php:98 -#: ../templates/confwiz/o_daemon.php:73 ../templates/confwiz/o_daemon.php:89 -#: ../templates/confwiz/ldaptest.php:168 ../templates/confwiz/ldaptest.php:191 -#: ../templates/confwiz/ldaptest.php:278 ../templates/confwiz/ldaptest.php:302 -#: ../templates/confwiz/ldaptest.php:469 ../templates/confwiz/ldaptest.php:554 -#: ../templates/confwiz/server2.php:82 ../templates/confwiz/server2.php:107 -#: ../templates/confwiz/o_lang.php:70 ../templates/confwiz/o_lang.php:86 -#: ../templates/confwiz/server.php:81 ../templates/confwiz/server.php:106 -#: ../templates/confwiz/o_lists.php:73 ../templates/confwiz/o_lists.php:89 -#: ../templates/confwiz/start.php:73 ../templates/confwiz/start.php:95 -msgid "Configuration wizard" -msgstr "Assistant de configuration" - -#: ../templates/masscreate.php:281 -msgid "Confirm List" -msgstr "Confirmer la liste" - -#: ../templates/masscreate.php:122 -msgid "Contiune" -msgstr "Continuez" - -#: ../templates/masscreate.php:206 -msgid "Could not create group!" -msgstr "Impossible de créer le groupe !" - -#: ../templates/masscreate.php:236 -msgid "Could not create user!" -msgstr "Impossible de créer l'utilisateur !" - -#: ../templates/delete.php:185 -msgid "Could not delete group. Still users in group:" -msgstr "" -"Impossible d' effacer le groupe. Des utilisateurs sont toujours dedans :" - -#: ../templates/delete.php:193 -msgid "Could not delete group:" -msgstr "Impossible d' effacer le groupe :" - -#: ../templates/delete.php:169 -msgid "Could not delete host:" -msgstr "Impossible d' effacer la machine :" - -#: ../templates/delete.php:164 -msgid "Could not delete user:" -msgstr "Impossible d' effacer l'utilisateur :" - -#: ../templates/config/profmanage.php:90 -msgid "Could not rename file!" -msgstr "Impossible de renommer le fichier !" - -#: ../templates/account/groupedit.php:823 -#: ../templates/account/hostedit.php:433 -#: ../templates/account/useredit.php:1555 ../templates/initsuff.php:198 -#: ../templates/masscreate.php:328 ../templates/confwiz/ldaptest.php:208 -#: ../templates/confwiz/ldaptest.php:401 ../templates/confwiz/ldaptest.php:489 -msgid "Create" -msgstr "Créer" - -#: ../templates/account/groupedit.php:837 -#: ../templates/account/hostedit.php:442 -#: ../templates/account/useredit.php:1559 -msgid "Create Account" -msgstr "Créer un compte" - -#: ../templates/account/groupedit.php:856 -#: ../templates/account/hostedit.php:470 -#: ../templates/account/useredit.php:1577 ../templates/masscreate.php:264 -msgid "Create PDF file" -msgstr "Créer un fichier PDF" - -#: ../templates/lists/listgroups.php:319 -msgid "Create PDF for all groups" -msgstr "Créer un PDF pour tout les groupes" - -#: ../templates/lists/listhosts.php:308 -msgid "Create PDF for all hosts" -msgstr "Créer un PDF pour tout les machines" - -#: ../templates/lists/listusers.php:374 -msgid "Create PDF for all users" -msgstr "Créer un PDF pour tout les utilisateurs" - -#: ../templates/lists/listgroups.php:317 -msgid "Create PDF for selected group(s)" -msgstr "Créer un PDF pour le(s) groupe(s) séléctionné(s)" - -#: ../templates/lists/listhosts.php:306 -msgid "Create PDF for selected host(s)" -msgstr "Créer un PDF pour le(s) machines(s) séléctionnée(s)" - -#: ../templates/lists/listusers.php:372 -msgid "Create PDF for selected user(s)" -msgstr "Créer un PDF pour le(s) utilisateur(s) séléctionné(s)" - -#: ../templates/profedit/profilemain.php:180 -msgid "Create a new Group Profile" -msgstr "Créer un nouveau profil de groupe" - -#: ../templates/profedit/profilemain.php:226 -msgid "Create a new Samba Host Profile" -msgstr "Créer un nouveau profil de Machine Samba" - -#: ../templates/profedit/profilemain.php:136 -msgid "Create a new User Profile" -msgstr "Créer un nouveau profil utilisateur" - -#: ../templates/account/groupedit.php:854 -msgid "Create another group" -msgstr "Créer un autre groupe" - -#: ../templates/account/hostedit.php:468 -msgid "Create another host" -msgstr "Créer une autre machine" - -#: ../templates/account/useredit.php:1575 -msgid "Create another user" -msgstr "Créer un autre utilisateur" - -#: ../templates/account/groupedit.php:451 ../templates/account/hostedit.php:92 -#: ../templates/account/hostedit.php:310 ../templates/account/useredit.php:101 -#: ../templates/account/useredit.php:741 -msgid "Create new Account" -msgstr "Créer un nouveau Compte" - -#: ../templates/masscreate.php:110 ../templates/masscreate.php:133 -msgid "Create new Accounts" -msgstr "Créer des nouveaux Comptes" - -#: ../templates/massdetail.php:163 -msgid "Create new accounts" -msgstr "Créer des nouveaux comptes" - -#: ../templates/masscreate.php:201 -#, php-format -msgid "Created group %s." -msgstr "Groupe %s créé." - -#: ../templates/config/profmanage.php:75 -msgid "Created new profile." -msgstr "Nouveau profil créé." - -#: ../templates/masscreate.php:231 -#, php-format -msgid "Created user %s." -msgstr "Utilisateur %s créé." - -#: ../templates/masscreate.php:156 -msgid "Creating users. Please stand by ...." -msgstr "Création d'utilisateurs en cours. Veuillez patienter." - -#: ../lib/pdf.inc:327 ../lib/pdf.inc:373 ../lib/pdf.inc:452 -msgid "DN" -msgstr "DN" - -#: ../help/help.inc:204 -msgid "Date after the user is able to change his password. Format: DD-MM-YYYY" -msgstr "" -"Date après laquelle l'utilisateur sera capable de changer son mot de passe. " -"Format: DD-MM-AAAA" - -#: ../help/help.inc:206 -msgid "Date after the user must change his password. Format: DD-MM-YYYY" -msgstr "" -"Date après laquelle l'utilisateur sera obligé de changer son mot de passe. " -"Format: DD-MM-AAAA" - -#: ../help/help.inc:172 -msgid "" -"Days before password is to expire that user is warned of pending password " -"expiration. If set value must be 0<." -msgstr "" -"Jours avant l'expiration du mot de passe que l'utilisateur en sera averti. " -"Si fixée, la valeur doit étre 0<." - -#: ../templates/config/confmain.php:270 ../templates/confwiz/o_lang.php:108 -#: ../help/help.inc:84 ../lib/config.inc:289 -msgid "Default language" -msgstr "Langue par défaut" - -#: ../templates/domain.php:208 -msgid "Delete" -msgstr "effacer" - -#: ../templates/delete.php:57 -msgid "Delete Account" -msgstr "effacer le compte" - -#: ../templates/lists/listdomains.php:201 -msgid "Delete Domain(s)" -msgstr "effacer le(s) Domaine(s)" - -#: ../templates/profedit/profilemain.php:205 -msgid "Delete Group Profile" -msgstr "effacer le Profil de Groupe" - -#: ../templates/lists/listgroups.php:314 -msgid "Delete Group(s)" -msgstr "effacer le(s) Groupe(s)" - -#: ../templates/lists/listhosts.php:303 -msgid "Delete Host(s)" -msgstr "effacer le(s) Machine(s)" - -#: ../templates/profedit/profilemain.php:250 -msgid "Delete Samba Host Profile" -msgstr "effacer le Profil de la Machine Samba" - -#: ../templates/profedit/profiledelete.php:44 -#: ../templates/profedit/profilemain.php:160 -msgid "Delete User Profile" -msgstr "effacer le Profil de l'Utilisateur" - -#: ../templates/delete.php:102 -msgid "Delete also Homedirectories" -msgstr "effacer aussi les répertoires utilisateurs" - -#: ../templates/domain.php:199 -msgid "Delete domain(s)" -msgstr "effacer le(s) Domaine(s)" - -#: ../templates/delete.php:86 -msgid "Delete group(s)" -msgstr "effacer le(s) Groupe(s)" - -#: ../templates/delete.php:80 -msgid "Delete host(s)" -msgstr "effacer le(s) machines(s)" - -#: ../templates/profedit/profiledelete.php:82 -msgid "Delete operation canceled." -msgstr "Opération de suppresion annulée." - -#: ../templates/ou_edit.php:357 ../templates/ou_edit.php:390 -#: ../templates/ou_edit.php:423 ../templates/ou_edit.php:457 -#: ../help/help.inc:291 -msgid "Delete organizational unit" -msgstr "effacer une unité organisationnelle" - -#: ../templates/config/profmanage.php:231 ../help/help.inc:113 -msgid "Delete profile" -msgstr "effacer un profil" - -#: ../templates/delete.php:74 ../templates/lists/listusers.php:369 -msgid "Delete user(s)" -msgstr "effacer le(s) utilisateur(s)" - -#: ../templates/profedit/profiledelete.php:55 -#: ../templates/profedit/profiledelete.php:62 -#: ../templates/profedit/profiledelete.php:69 -msgid "Deleted profile:" -msgstr "effacer le profil:" - -#: ../templates/delete.php:242 -msgid "Deleting group(s) canceled." -msgstr "Suppression de groupe(s) annulée." - -#: ../templates/delete.php:131 -msgid "Deleting group(s)..." -msgstr "Suppression de groupe(s)..." - -#: ../templates/delete.php:234 -msgid "Deleting host(s) canceled." -msgstr "Suppression de machine(s) annulée." - -#: ../templates/delete.php:126 -msgid "Deleting host(s)..." -msgstr "Suppression de machine(s)..." - -#: ../templates/delete.php:226 -msgid "Deleting user(s) canceled." -msgstr "Suppression de utilisateur(s) annulée." - -#: ../templates/delete.php:121 -msgid "Deleting user(s)..." -msgstr "Suppression d'utilisateur(s)..." - -#: ../templates/account/groupedit.php:604 ../lib/ldap.inc:203 -#: ../lib/pdf.inc:300 ../lib/pdf.inc:342 ../lib/pdf.inc:428 -msgid "Description" -msgstr "Description" - -#: ../templates/masscreate.php:284 -msgid "Details" -msgstr "Détails" - -#: ../templates/account/groupedit.php:247 -#: ../templates/account/groupedit.php:661 -#: ../templates/account/useredit.php:453 -#: ../templates/account/useredit.php:1180 ../help/help.inc:183 -#: ../lib/pdf.inc:434 -msgid "Display name" -msgstr "Nom pour l'affichage" - -#: ../templates/domain.php:200 -msgid "Do you really want to delete domain(s):" -msgstr "Voulez vous vraiment effacer le(s) domaine(s) ?" - -#: ../templates/delete.php:88 -msgid "Do you really want to delete group(s):" -msgstr "Voulez vous vraiment effacer le(s) groupe(s) ?" - -#: ../templates/delete.php:82 -msgid "Do you really want to delete host(s):" -msgstr "Voulez vous vraiment effacer le(s) machine(s) ?" - -#: ../templates/ou_edit.php:87 ../templates/ou_edit.php:152 -#: ../templates/ou_edit.php:217 ../templates/ou_edit.php:282 -msgid "Do you really want to delete this OU?" -msgstr "Voulez vous vraiment effacer cette OU ?" - -#: ../templates/profedit/profiledelete.php:93 -#: ../templates/profedit/profiledelete.php:105 -#: ../templates/profedit/profiledelete.php:117 -msgid "Do you really want to delete this profile?" -msgstr "Voulez vous vraiment effacer ce profil ?" - -#: ../templates/delete.php:76 -msgid "Do you really want to delete user(s):" -msgstr "Voulez vous vraiment effacer le(s) utilisateur(s) ?" - -#: ../templates/account/groupedit.php:708 -#: ../templates/account/hostedit.php:397 -#: ../templates/account/useredit.php:1365 -#: ../templates/profedit/profilegroup.php:72 -#: ../templates/profedit/profilehost.php:83 -#: ../templates/profedit/profileuser.php:345 ../help/help.inc:222 -#: ../help/help.inc:282 ../lib/pdf.inc:315 ../lib/pdf.inc:360 -#: ../lib/pdf.inc:446 -msgid "Domain" -msgstr "Domaine" - -#: ../templates/account/groupedit.php:238 -#: ../templates/account/groupedit.php:698 -#: ../templates/account/groupedit.php:702 -#: ../templates/account/useredit.php:393 ../templates/account/useredit.php:408 -#: ../templates/account/useredit.php:1316 -#: ../templates/account/useredit.php:1320 -#: ../templates/account/useredit.php:1354 -#: ../templates/account/useredit.php:1358 -msgid "Domain Admins" -msgstr "Administrateurs du Domaine" - -#: ../templates/account/groupedit.php:236 -#: ../templates/account/groupedit.php:680 -#: ../templates/account/groupedit.php:684 -#: ../templates/account/useredit.php:391 ../templates/account/useredit.php:406 -#: ../templates/account/useredit.php:1298 -#: ../templates/account/useredit.php:1302 -#: ../templates/account/useredit.php:1336 -#: ../templates/account/useredit.php:1340 -msgid "Domain Guests" -msgstr "Invités du Domaine" - -#: ../templates/domain.php:94 ../templates/lists/listdomains.php:86 -#: ../templates/confwiz/ldaptest.php:333 ../help/help.inc:297 -msgid "Domain SID" -msgstr "SID du Domaine" - -#: ../templates/domain.php:73 ../templates/confwiz/ldaptest.php:315 -msgid "Domain Settings" -msgstr "Paramètres du Domaine" - -#: ../templates/account/groupedit.php:237 -#: ../templates/account/groupedit.php:689 -#: ../templates/account/groupedit.php:693 -#: ../templates/account/useredit.php:392 ../templates/account/useredit.php:407 -#: ../templates/account/useredit.php:1307 -#: ../templates/account/useredit.php:1311 -#: ../templates/account/useredit.php:1345 -#: ../templates/account/useredit.php:1349 -msgid "Domain Users" -msgstr "Utilisateurs du Domaine" - -#: ../templates/domain.php:303 -msgid "Domain deleted successfully." -msgstr "OU éffacée avec succes." - -#: ../templates/domain.php:259 -msgid "Domain has been modified." -msgstr "Le Domaine a été modifié" - -#: ../templates/account/hostedit.php:212 ../templates/account/useredit.php:449 -#: ../templates/domain.php:78 ../templates/lists/listdomains.php:85 -#: ../templates/confwiz/ldaptest.php:320 ../help/help.inc:293 -msgid "Domain name" -msgstr "Nom du Domaine" - -#: ../templates/account/hostedit.php:212 ../templates/account/useredit.php:449 -msgid "" -"Domain name contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and -." -msgstr "" -"Le nom de domaine contient des caractères non autorisés. Les caractères " -"valides sont a-z, A-Z, 0-9 et -." - -#: ../templates/domain.php:232 ../templates/profedit/profilecreate.php:230 -#: ../templates/profedit/profilecreate.php:296 -#: ../templates/profedit/profilecreate.php:369 -#: ../templates/confwiz/ldaptest.php:235 -msgid "Domain name is invalid!" -msgstr "Le nom de domaine n'est pas valable !" - -#: ../templates/config/confmain.php:138 ../templates/confwiz/server2.php:156 -#: ../lib/config.inc:278 -msgid "DomainSuffix" -msgstr "Suffixe de domaine" - -#: ../templates/config/confsave.php:119 ../templates/confwiz/server2.php:68 -msgid "DomainSuffix is invalid!" -msgstr "Le suffixe de domaine n'est pas valable !" - -#: ../templates/main_header.php:72 ../templates/ou_edit.php:439 -msgid "Domains" -msgstr "Domaines" - -#: ../help/help.inc:210 -msgid "Driveletter assigned on windows workstations as homedirectory." -msgstr "" -"Lettre de lecteur attribuée comme répertoire utilisateur sur les stations " -"Windows." - -#: ../lib/ldap.inc:202 ../lib/pdf.inc:105 -msgid "E-Mail" -msgstr "E-Mail" - -#: ../templates/lists/listdomains.php:155 -#: ../templates/lists/listgroups.php:239 ../templates/lists/listhosts.php:243 -#: ../templates/lists/listusers.php:297 -msgid "Edit" -msgstr "éditer" - -#: ../templates/profedit/profilemain.php:193 -msgid "Edit Group Profile" -msgstr "éditer le Profil de Groupe" - -#: ../templates/profedit/profilemain.php:238 -msgid "Edit Samba Host Profile" -msgstr "éditer le Profil de Machine Samba" - -#: ../templates/profedit/profilemain.php:148 -msgid "Edit User Profile" -msgstr "Editer le Profil Utilisateur" - -#: ../templates/account/useredit.php:978 -msgid "Edit groups" -msgstr "éditer les groupes" - -#: ../templates/account/useredit.php:1278 -msgid "Edit workstations" -msgstr "éditer les machines de travail" - -#: ../templates/account/useredit.php:496 -#: ../templates/account/useredit.php:1472 ../templates/masscreate.php:377 -#: ../templates/masscreate.php:575 ../templates/massdetail.php:142 -#: ../templates/massdetail.php:226 ../help/help.inc:250 -msgid "Employee type" -msgstr "Type d'employé" - -#: ../help/help.inc:251 -msgid "Employee type: worker, student, nurse, ..." -msgstr "Type d'employé: cadre, étudiant, infermier, ..." - -#: ../templates/login.php:287 -msgid "Empty Password submitted. Try again." -msgstr "Mot de passe vide soumis. Essayez encore." - -#: ../templates/login.php:139 -msgid "Enter Username and Password for Account" -msgstr "Entrez le nom d'utilisateur et son mot de passe pour le Compte" - -#: ../templates/masscreate.php:284 -msgid "Errors" -msgstr "Erreurs" - -#: ../templates/confwiz/o_lang.php:147 ../templates/confwiz/o_lists.php:109 -#: ../help/help.inc:65 ../help/help.inc:80 -msgid "Example" -msgstr "Exemple" - -#: ../templates/confwiz/server.php:124 ../help/help.inc:41 ../help/help.inc:53 -msgid "Examples" -msgstr "Exemples" - -#: ../templates/masscreate.php:402 ../help/help.inc:187 -msgid "Expand suffix with primary groupname" -msgstr "Suffix developpé avec le nom de Groupe primaire" - -#: ../templates/account/useredit.php:1099 ../help/help.inc:179 -msgid "Expire date" -msgstr "Date d'expiration" - -#: ../lib/pdf.inc:117 -msgid "Facsimile" -msgstr "Télécopie" - -#: ../templates/domain.php:277 ../templates/confwiz/ldaptest.php:267 -msgid "Failed to add domain!" -msgstr "Echec de l'ajout de domaine !" - -#: ../templates/initsuff.php:141 ../templates/confwiz/ldaptest.php:179 -msgid "Failed to create entry!" -msgstr "Echec de la création d'entrée !" - -#: ../templates/domain.php:260 -msgid "Failed to modify domain!" -msgstr "" - -#: ../templates/account/useredit.php:491 -#: ../templates/account/useredit.php:1508 ../templates/masscreate.php:369 -#: ../templates/masscreate.php:570 ../templates/massdetail.php:154 -#: ../templates/massdetail.php:262 ../help/help.inc:262 ../help/help.inc:263 -msgid "Fax number" -msgstr "Numéro de fax" - -#: ../templates/main_header.php:58 ../templates/masscreate.php:347 -msgid "File Upload" -msgstr "Upload de fichier" - -#: ../help/help.inc:212 -#, php-format -msgid "" -"Filename and -path relative to netlogon-share which should be executed on " -"logon. $%s and $%s are replaced with user- and groupname." -msgstr "" -"Nom de fichier et de chemin relatif au partage netlogon qui doit etreexecuté " -"au login. $%s et $%s seront remplacés avec les noms d'utilisateur et de " -"groupe." - -#: ../templates/lists/listgroups.php:208 ../templates/lists/listhosts.php:212 -#: ../templates/lists/listusers.php:254 -msgid "Filter" -msgstr "Filtre" - -#: ../templates/account/groupedit.php:525 -#: ../templates/account/groupedit.php:582 -#: ../templates/account/groupedit.php:649 -#: ../templates/account/groupedit.php:745 -#: ../templates/account/groupedit.php:802 -#: ../templates/account/useredit.php:796 ../templates/account/useredit.php:866 -#: ../templates/account/useredit.php:928 -#: ../templates/account/useredit.php:1049 -#: ../templates/account/useredit.php:1166 -#: ../templates/account/useredit.php:1405 -#: ../templates/account/useredit.php:1454 -#: ../templates/account/useredit.php:1534 -msgid "Final" -msgstr "Finale" - -#: ../templates/account/useredit.php:954 ../lib/ldap.inc:198 -msgid "First name" -msgstr "Prénom" - -#: ../lib/pdf.inc:440 -msgid "GID" -msgstr "ID Groupe" - -#: ../templates/account/groupedit.php:600 ../help/help.inc:58 -#: ../help/help.inc:157 ../lib/ldap.inc:195 ../lib/ldap.inc:207 -#: ../lib/ldap.inc:218 -msgid "GID number" -msgstr "Nombre GID" - -#: ../templates/account/groupedit.php:334 -msgid "" -"GID-number has changed. You have to run the following command as root in " -"order to change existing file-permissions:" -msgstr "" -"Le numero GID a changé. Vous devez lancer les commandes suivantes en tant " -"que root afin de changer les droits fichiers existants :" - -#: ../templates/account/groupedit.php:171 -#: ../templates/account/hostedit.php:186 ../templates/account/hostedit.php:385 -#: ../templates/account/useredit.php:241 ../templates/account/useredit.php:987 -#: ../templates/masscreate.php:555 ../help/help.inc:149 ../help/help.inc:160 -#: ../help/help.inc:169 -msgid "Gecos" -msgstr "Gecos" - -#: ../templates/account/groupedit.php:517 -#: ../templates/account/groupedit.php:574 -#: ../templates/account/groupedit.php:644 -#: ../templates/account/groupedit.php:738 -#: ../templates/account/groupedit.php:795 -#: ../templates/account/useredit.php:790 ../templates/account/useredit.php:860 -#: ../templates/account/useredit.php:922 -#: ../templates/account/useredit.php:1043 -#: ../templates/account/useredit.php:1160 -#: ../templates/account/useredit.php:1400 -#: ../templates/account/useredit.php:1448 -#: ../templates/account/useredit.php:1528 -msgid "General" -msgstr "Générale" - -#: ../templates/account/groupedit.php:594 -#: ../templates/account/hostedit.php:362 ../templates/account/useredit.php:940 -msgid "General properties" -msgstr "Propriétés Générales" - -#: ../templates/account/useredit.php:1066 -msgid "Generate password" -msgstr "Générer un mot de passe" - -#: ../templates/account/useredit.php:236 ../templates/masscreate.php:283 -#: ../templates/masscreate.php:355 ../templates/masscreate.php:550 -#: ../templates/massdetail.php:84 ../templates/massdetail.php:208 -#: ../help/help.inc:193 ../lib/pdf.inc:89 -msgid "Given name" -msgstr "Prénom" - -#: ../templates/account/useredit.php:236 ../templates/masscreate.php:550 -#: ../templates/massdetail.php:84 -msgid "Given name contains invalid characters" -msgstr "Prénom contient des caractéres invalides" - -#: ../help/help.inc:194 -msgid "Given name of user. Only letters, - and spaces are allowed." -msgstr "" -"Prénom d'utilisateur. Seules les lettres, - et les espaces sont autorisés." - -#: ../templates/account/groupedit.php:759 -#: ../templates/account/useredit.php:1418 ../help/help.inc:234 -msgid "Grace block period" -msgstr "Periode de grace d'un blocage" - -#: ../help/help.inc:235 -msgid "" -"Grace block period. Most filesystems use a fixed maximum value of 7 days." -msgstr "" -"Periode de grace d'un blocage. La plupart des systémes de fichiers utilisent " -"une valeur fixe de 7 jours." - -#: ../help/help.inc:246 -msgid "" -"Grace inode (files) period. Most filesystems use a fixed maximum value of 7 " -"days." -msgstr "" -"Periode de grace inode (fichiers). La plupart des systèmes de fichiers " -"utilisent une valeur fixe de 7 jours." - -#: ../templates/account/groupedit.php:761 -#: ../templates/account/useredit.php:1420 ../help/help.inc:245 -msgid "Grace inode period" -msgstr "Période de grace inode" - -#: ../templates/masscreate.php:279 -msgid "Group" -msgstr "Groupe" - -#: ../templates/account/groupedit.php:850 -#, php-format -msgid "Group %s has been created." -msgstr "Le groupe %s à été créé" - -#: ../templates/account/groupedit.php:847 -#, php-format -msgid "Group %s has been modified." -msgstr "Le groupe %s à été modifié" - -#: ../templates/profedit/profilemain.php:172 -msgid "Group Profiles" -msgstr "Profils de Groupe" - -#: ../templates/confwiz/ldaptest.php:484 -msgid "Group SID" -msgstr "SID de Groupe" - -#: ../lib/ldap.inc:210 -msgid "Group description" -msgstr "Description de groupe" - -#: ../help/help.inc:161 -msgid "Group description. If left empty group name will be used." -msgstr "Description de groupe. Si laissé vide, un nom vide sera utilisé." - -#: ../lib/pdf.inc:415 ../lib/pdf.inc:555 -msgid "Group information page" -msgstr "Page d'information de groupe" - -#: ../templates/config/confsave.php:159 ../templates/confwiz/o_lists.php:57 -msgid "Group list attributes are invalid!" -msgstr "La liste des attributs de groupe est invalide !" - -#: ../lib/ldap.inc:209 -msgid "Group member DNs" -msgstr "DNs du membre de groupe" - -#: ../templates/account/groupedit.php:538 ../help/help.inc:181 -#: ../help/help.inc:284 ../lib/ldap.inc:208 -msgid "Group members" -msgstr "Membres de groupe" - -#: ../lib/ldap.inc:206 -msgid "Group name" -msgstr "Nom de groupe" - -#: ../help/help.inc:156 -msgid "" -"Group name of the group which should be created. Valid characters are: a-z,0-" -"9, .-_. Lam does not allow a number as first character because groupadd also " -"does not allow it. Lam does not allow capital letters A-Z because it can " -"cause several problems. If groupname is already used groupname will be " -"expanded with a number. The next free number will be used." -msgstr "" -"Nom de groupe du groupe qui devra etre créée. Les caractères valides sont : " -"a-z, 0-9 et .-_. Lam ne permet pas de mettre une lettre en premier caractère " -"parce que groupadd ne l'autorise pas non plus. Lam n'autorise pas non plus " -"lettres majuscules A-Z parce que cela pose plusieurs problèmes. Si un nom de " -"groupe est déjà utilisé, il sera developpé avec un nombre. Le prochain " -"nombre disponible sera utilsé" - -#: ../templates/masscreate.php:406 ../help/help.inc:189 -msgid "Group suffix" -msgstr "Suffixe de groupe" - -#: ../lib/pdf.inc:146 -msgid "Group(s)" -msgstr "Groupe(s)" - -#: ../templates/lists/listgroups.php:353 -msgid "Group(s) found" -msgstr "Groupe(s) trouvés" - -#: ../templates/config/confmain.php:128 ../templates/confwiz/server2.php:139 -#: ../lib/config.inc:276 -msgid "GroupSuffix" -msgstr "Suffixe de Groupe" - -#: ../templates/config/confsave.php:109 ../templates/confwiz/server2.php:62 -msgid "GroupSuffix is invalid!" -msgstr "Suffixe de Groupe est invalide !" - -#: ../templates/account/groupedit.php:158 -#: ../templates/account/groupedit.php:168 -#: ../templates/account/groupedit.php:208 -#: ../templates/account/groupedit.php:596 ../help/help.inc:155 -msgid "Groupname" -msgstr "Nom de groupe" - -#: ../templates/account/groupedit.php:208 -msgid "Groupname already in use. Selected next free groupname." -msgstr "Nom de groupe déjà utilisé. Nom libre suivant sélectionné." - -#: ../templates/account/groupedit.php:168 -msgid "" -"Groupname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ !" -msgstr "" -"Le nom de groupe contient des caractères invalables. Les caractères valables " -"sont: a-z, A-Z, 0-9 et .-_ !" - -#: ../templates/main_header.php:74 ../templates/main_header.php:79 -#: ../templates/ou_edit.php:372 ../templates/confwiz/o_lists.php:115 -#: ../help/help.inc:72 -msgid "Groups" -msgstr "Groupes" - -#: ../lib/pdf.inc:243 -msgid "Hard block" -msgstr "Bloc dur" - -#: ../templates/account/groupedit.php:759 -#: ../templates/account/useredit.php:1418 -#: ../templates/profedit/profilegroup.php:101 -#: ../templates/profedit/profileuser.php:378 ../help/help.inc:231 -#: ../help/help.inc:232 -msgid "Hard block limit" -msgstr "Limite de bloc dur" - -#: ../lib/pdf.inc:244 -msgid "Hard inode" -msgstr "Inode dur" - -#: ../help/help.inc:243 -msgid "Hard inode (files) limit" -msgstr "Limite d'inode (fichiers) dur" - -#: ../templates/account/groupedit.php:761 -#: ../templates/account/useredit.php:1420 -#: ../templates/profedit/profilegroup.php:103 -#: ../templates/profedit/profileuser.php:380 ../help/help.inc:242 -msgid "Hard inode limit" -msgstr "Limite d'inode dur" - -#: ../templates/account/hostedit.php:222 ../templates/account/useredit.php:585 -msgid "Have to add objectClass posixAccount." -msgstr "Il faut ajouter un objectClass posixAccount." - -#: ../templates/account/groupedit.php:330 -msgid "Have to add objectClass posixGroup." -msgstr "Il faut ajouter un objectClass posixGroup." - -#: ../templates/account/hostedit.php:226 -msgid "" -"Have to add objectClass sambaAccount. Host with sambaSamAccount will be set " -"back to sambaAccount." -msgstr "" -"Il faut ajouter un objectClass sambaAccount. La machine avec " -"sambaSamAccountsera remis en sambaAccount." - -#: ../templates/account/useredit.php:594 -msgid "" -"Have to add objectClass sambaAccount. User with sambaSamAccount will be set " -"back to sambaAccount." -msgstr "" -"Il faut ajouter un objectClass sambaAccount. L'utilisateur " -"avecsambaSamAccount sera remis en sambaAccount." - -#: ../templates/account/groupedit.php:328 -msgid "Have to add objectClass sambaGroupMapping." -msgstr "Il faut ajouter un objectClass sambaGroupMapping." - -#: ../templates/account/hostedit.php:224 -msgid "" -"Have to add objectClass sambaSamAccount. Host with sambaAccount will be " -"updated." -msgstr "" -"Il faut ajouter un objectClass sambaSamAccount. La machine avecsambaAccount " -"sera mise à jour." - -#: ../templates/account/useredit.php:590 -msgid "" -"Have to add objectClass sambaSamAccount. User with sambaAccount will be " -"updated." -msgstr "" -"Il faut ajouter un objectClass sambaSamAccount. L'utilisateur " -"avecsambaAccount sera mis à jour." - -#: ../templates/account/useredit.php:587 -msgid "Have to add objectClass shadowAccount." -msgstr "Il faut ajouter un ObjectClass shadowAccount." - -#: ../templates/account/groupedit.php:551 -#: ../templates/account/groupedit.php:599 -#: ../templates/account/groupedit.php:602 -#: ../templates/account/groupedit.php:606 -#: ../templates/account/groupedit.php:617 -#: ../templates/account/groupedit.php:631 -#: ../templates/account/groupedit.php:664 -#: ../templates/account/groupedit.php:706 -#: ../templates/account/groupedit.php:723 -#: ../templates/account/groupedit.php:762 -#: ../templates/account/groupedit.php:763 -#: ../templates/account/groupedit.php:764 -#: ../templates/account/groupedit.php:765 -#: ../templates/account/groupedit.php:766 -#: ../templates/account/groupedit.php:819 -#: ../templates/account/hostedit.php:358 ../templates/account/hostedit.php:368 -#: ../templates/account/hostedit.php:374 ../templates/account/hostedit.php:383 -#: ../templates/account/hostedit.php:388 ../templates/account/hostedit.php:415 -#: ../templates/account/hostedit.php:426 ../templates/account/hostedit.php:452 -#: ../templates/account/useredit.php:824 ../templates/account/useredit.php:894 -#: ../templates/account/useredit.php:946 ../templates/account/useredit.php:952 -#: ../templates/account/useredit.php:958 ../templates/account/useredit.php:964 -#: ../templates/account/useredit.php:974 ../templates/account/useredit.php:980 -#: ../templates/account/useredit.php:985 ../templates/account/useredit.php:990 -#: ../templates/account/useredit.php:999 -#: ../templates/account/useredit.php:1011 -#: ../templates/account/useredit.php:1025 -#: ../templates/account/useredit.php:1077 -#: ../templates/account/useredit.php:1082 -#: ../templates/account/useredit.php:1087 -#: ../templates/account/useredit.php:1092 -#: ../templates/account/useredit.php:1097 -#: ../templates/account/useredit.php:1116 -#: ../templates/account/useredit.php:1122 -#: ../templates/account/useredit.php:1130 -#: ../templates/account/useredit.php:1183 -#: ../templates/account/useredit.php:1197 -#: ../templates/account/useredit.php:1203 -#: ../templates/account/useredit.php:1209 -#: ../templates/account/useredit.php:1228 -#: ../templates/account/useredit.php:1247 -#: ../templates/account/useredit.php:1253 -#: ../templates/account/useredit.php:1260 -#: ../templates/account/useredit.php:1265 -#: ../templates/account/useredit.php:1270 -#: ../templates/account/useredit.php:1275 -#: ../templates/account/useredit.php:1280 -#: ../templates/account/useredit.php:1363 -#: ../templates/account/useredit.php:1384 -#: ../templates/account/useredit.php:1421 -#: ../templates/account/useredit.php:1422 -#: ../templates/account/useredit.php:1423 -#: ../templates/account/useredit.php:1424 -#: ../templates/account/useredit.php:1425 -#: ../templates/account/useredit.php:1470 -#: ../templates/account/useredit.php:1476 -#: ../templates/account/useredit.php:1482 -#: ../templates/account/useredit.php:1488 -#: ../templates/account/useredit.php:1494 -#: ../templates/account/useredit.php:1500 -#: ../templates/account/useredit.php:1506 -#: ../templates/account/useredit.php:1512 -#: ../templates/account/useredit.php:1518 -#: ../templates/account/useredit.php:1551 ../templates/domain.php:86 -#: ../templates/domain.php:102 ../templates/domain.php:113 -#: ../templates/domain.php:121 ../templates/domain.php:129 -#: ../templates/domain.php:141 ../templates/domain.php:159 -#: ../templates/masscreate.php:395 ../templates/masscreate.php:400 -#: ../templates/masscreate.php:405 ../templates/masscreate.php:410 -#: ../templates/masscreate.php:418 ../templates/massdetail.php:206 -#: ../templates/massdetail.php:212 ../templates/massdetail.php:218 -#: ../templates/massdetail.php:224 ../templates/massdetail.php:230 -#: ../templates/massdetail.php:236 ../templates/massdetail.php:242 -#: ../templates/massdetail.php:248 ../templates/massdetail.php:254 -#: ../templates/massdetail.php:260 ../templates/massdetail.php:266 -#: ../templates/massdetail.php:272 ../templates/ou_edit.php:352 -#: ../templates/ou_edit.php:365 ../templates/ou_edit.php:385 -#: ../templates/ou_edit.php:398 ../templates/ou_edit.php:418 -#: ../templates/ou_edit.php:431 ../templates/ou_edit.php:452 -#: ../templates/ou_edit.php:465 ../templates/config/conflogin.php:119 -#: ../templates/config/confmain.php:116 ../templates/config/confmain.php:125 -#: ../templates/config/confmain.php:130 ../templates/config/confmain.php:135 -#: ../templates/config/confmain.php:140 ../templates/config/confmain.php:156 -#: ../templates/config/confmain.php:172 ../templates/config/confmain.php:186 -#: ../templates/config/confmain.php:203 ../templates/config/confmain.php:212 -#: ../templates/config/confmain.php:221 ../templates/config/confmain.php:234 -#: ../templates/config/confmain.php:239 ../templates/config/confmain.php:244 -#: ../templates/config/confmain.php:259 ../templates/config/confmain.php:299 -#: ../templates/config/confmain.php:313 ../templates/config/confmain.php:317 -#: ../templates/config/confmain.php:331 ../templates/config/confmain.php:345 -#: ../templates/config/confmain.php:353 ../templates/config/profmanage.php:163 -#: ../templates/config/profmanage.php:210 -#: ../templates/config/profmanage.php:235 -#: ../templates/config/profmanage.php:264 -#: ../templates/config/profmanage.php:307 -#: ../templates/config/profmanage.php:330 -#: ../templates/config/profmanage.php:358 -#: ../templates/profedit/profilegroup.php:84 -#: ../templates/profedit/profilegroup.php:106 -#: ../templates/profedit/profilegroup.php:107 -#: ../templates/profedit/profilegroup.php:108 -#: ../templates/profedit/profilegroup.php:109 -#: ../templates/profedit/profilegroup.php:110 -#: ../templates/profedit/profilegroup.php:145 -#: ../templates/profedit/profilehost.php:75 -#: ../templates/profedit/profilehost.php:100 -#: ../templates/profedit/profilehost.php:114 -#: ../templates/profedit/profileuser.php:100 -#: ../templates/profedit/profileuser.php:112 -#: ../templates/profedit/profileuser.php:122 -#: ../templates/profedit/profileuser.php:134 -#: ../templates/profedit/profileuser.php:147 -#: ../templates/profedit/profileuser.php:154 -#: ../templates/profedit/profileuser.php:161 -#: ../templates/profedit/profileuser.php:168 -#: ../templates/profedit/profileuser.php:175 -#: ../templates/profedit/profileuser.php:200 -#: ../templates/profedit/profileuser.php:210 -#: ../templates/profedit/profileuser.php:223 -#: ../templates/profedit/profileuser.php:242 -#: ../templates/profedit/profileuser.php:252 -#: ../templates/profedit/profileuser.php:262 -#: ../templates/profedit/profileuser.php:272 -#: ../templates/profedit/profileuser.php:306 -#: ../templates/profedit/profileuser.php:313 -#: ../templates/profedit/profileuser.php:320 -#: ../templates/profedit/profileuser.php:327 -#: ../templates/profedit/profileuser.php:337 -#: ../templates/profedit/profileuser.php:362 -#: ../templates/profedit/profileuser.php:383 -#: ../templates/profedit/profileuser.php:384 -#: ../templates/profedit/profileuser.php:385 -#: ../templates/profedit/profileuser.php:386 -#: ../templates/profedit/profileuser.php:387 -#: ../templates/profedit/profileuser.php:422 -#: ../templates/confwiz/o_ranges.php:125 ../templates/confwiz/o_ranges.php:134 -#: ../templates/confwiz/o_ranges.php:143 ../templates/confwiz/ldaptest.php:325 -#: ../templates/confwiz/ldaptest.php:338 ../templates/confwiz/ldaptest.php:349 -#: ../templates/confwiz/ldaptest.php:357 ../templates/confwiz/ldaptest.php:365 -#: ../templates/confwiz/ldaptest.php:376 ../templates/confwiz/ldaptest.php:393 -msgid "Help" -msgstr "Aide" - -#: ../help/help.inc:145 -msgid "Hold the CTRL-key to (de)select multiple groups." -msgstr "" -"Maintenez enfoncée la touche Ctrl pour (dé)selectionner plusieurs groupes." - -#: ../templates/profedit/profileuser.php:120 ../lib/pdf.inc:158 -msgid "Home Directory" -msgstr "Répertoire Utilisateur" - -#: ../templates/account/useredit.php:562 -msgid "" -"Home Directory has changed. You have to run the following command as root in " -"order to change the existing homedirectory:" -msgstr "" -"Le Répertoire Utilisateur a changé. Vous devez lancer la commande suivante " -"en tant que root pour changer le répertoire utilisateur existant :" - -#: ../templates/account/useredit.php:296 ../templates/account/useredit.php:298 -#: ../templates/account/useredit.php:982 ../help/help.inc:146 -#: ../lib/ldap.inc:200 -msgid "Home directory" -msgstr "Répertoire utilisateur" - -#: ../templates/account/useredit.php:1255 -#: ../templates/profedit/profileuser.php:280 ../help/help.inc:209 -#: ../lib/pdf.inc:206 -msgid "Home drive" -msgstr "Lecteur Utilisateur" - -#: ../templates/account/useredit.php:438 ../templates/account/useredit.php:440 -#: ../templates/account/useredit.php:1262 -#: ../templates/profedit/profileuser.php:311 ../help/help.inc:219 -msgid "Home path" -msgstr "Chemin utilisateur" - -#: ../templates/account/useredit.php:440 -msgid "Home path is invalid." -msgstr "Le chemin utilisateur n'est pas valable." - -#: ../templates/profedit/profilecreate.php:75 -msgid "Homedir is invalid!" -msgstr "Le répertoire utilisateur n'est pas valable !" - -#: ../templates/account/useredit.php:298 -msgid "Homedirectory contains invalid characters." -msgstr "Le répertoire utilisateur contient des caractères non valables." - -#: ../templates/account/hostedit.php:464 -#, php-format -msgid "Host %s has been created." -msgstr "La machine %s à été créée" - -#: ../templates/account/hostedit.php:461 -#, php-format -msgid "Host %s has been modified." -msgstr "La machine %s à été modifiée" - -#: ../templates/profedit/profilehost.php:63 -msgid "Host attributes" -msgstr "Attributs Machine" - -#: ../lib/ldap.inc:216 -msgid "Host description" -msgstr "Description Machine" - -#: ../help/help.inc:170 -msgid "Host description. If left empty host name will be used." -msgstr "Description de machine. Si laissé vide, un nom vide sera utilisé." - -#: ../templates/config/confsave.php:164 ../templates/confwiz/o_lists.php:60 -msgid "Host list attributes are invalid!" -msgstr "Les attributs de liste de machines ne sont pas valables !" - -#: ../templates/account/hostedit.php:131 ../templates/account/hostedit.php:137 -#: ../templates/account/hostedit.php:177 ../templates/account/hostedit.php:364 -#: ../help/help.inc:162 ../lib/ldap.inc:214 -msgid "Host name" -msgstr "Nom de machine" - -#: ../help/help.inc:163 -msgid "" -"Host name of the host which should be created. Valid characters are: a-z,0-" -"9, .-_$. Lam does not allow a number as first character because useradd also " -"does not allow it. Lam does not allow capital letters A-Z because it can " -"cause several problems. Hostnames are always ending with $. If last " -"character is not $ it will be added. If hostname is already used hostname " -"will be expanded with a number. The next free number will be used." -msgstr "" -"Nom de la machine qui doit étre créée. Les caractères valables sont: a-z, 0-" -"9 et .-_$. Lam ne peut pas autoriser les lettres majuscules A-Z parce que " -"cela peut créer plusieurs problèmes. Les noms de machines se terminent " -"toujours avec $. Si le dernier caractère n'est pas $, il sera rajouté. Si le " -"nom de machine est déjà utilisé, il sera developpé avec un chiffre. Le " -"chiffre disponible suivant sera utilisé." - -#: ../lib/ldap.inc:213 -msgid "Host username" -msgstr "Nom d'utiliseur machine" - -#: ../templates/config/confmain.php:133 ../templates/confwiz/server2.php:147 -#: ../lib/config.inc:277 -msgid "HostSuffix" -msgstr "Suffix Machine" - -#: ../templates/config/confsave.php:114 ../templates/confwiz/server2.php:65 -msgid "HostSuffix is invalid!" -msgstr "Suffix Machine n'est pas valable !" - -#: ../templates/account/hostedit.php:120 -msgid "Hostname" -msgstr "Nom de machine" - -#: ../templates/account/hostedit.php:177 -msgid "Hostname already in use. Selected next free hostname." -msgstr "Nom de machine déjà utilisé. Nom libre suivant sélectionné." - -#: ../templates/account/hostedit.php:137 -msgid "" -"Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ !" -msgstr "" -"Le nom de machine contient des caractères non valables. Les caractères " -"valables sont: a-z, A-Z, 0-9 et .-_ !" - -#: ../templates/main_header.php:75 ../templates/main_header.php:80 -#: ../templates/confwiz/o_lists.php:118 ../help/help.inc:75 -msgid "Hosts" -msgstr "Machines" - -#: ../lib/account.inc:894 ../lib/account.inc:897 -msgid "ID is already in use" -msgstr "L'ID est déjà utilisé" - -#: ../lib/account.inc:878 ../lib/account.inc:879 ../lib/account.inc:890 -#: ../lib/account.inc:894 ../lib/account.inc:897 -msgid "ID-Number" -msgstr "Numéro ID" - -#: ../templates/masscreate.php:383 -msgid "If Primary group does not exist it will be created." -msgstr "Si le nom primaire n'existe pas, il sera créé." - -#: ../templates/masscreate.php:381 -msgid "If Primary group is not given it'll used from profile." -msgstr "Si le groupe primaire n'est pas donné, il sera utilisé du profil." - -#: ../help/help.inc:190 -msgid "" -"If a not yet existing group is defined in csv-file, a new group in the " -"selected group suffix will be created." -msgstr "" -"Si un groupe qui n'existe pas encore est défini dans le fichier csv, un " -"nouveau groupe dans le suffixe groupe sera créé." - -#: ../help/help.inc:269 -msgid "" -"If a not yet existing group is defined in csv-file, a new group with the " -"selected group profile will be created." -msgstr "" -"Si un groupe qui n'existe pas encore est défini dans le fichier csv, " -"unnouveau groupe avec le profil groupe sélectionné sera créé." - -#: ../help/help.inc:198 -msgid "" -"If checked account will be deactivated by putting a ! before the encrypted " -"password." -msgstr "" -"Si sélectionné, le compte sera desactivé en mettant un ! avant le mot de " -"passe crypté." - -#: ../help/help.inc:208 -msgid "If checked account will be deactivated. (Setting D-Flag)" -msgstr "Si sélectionné, le compte sera desactivé. (paramètre D-Flag)" - -#: ../help/help.inc:196 -msgid "If checked no password will be used." -msgstr "Si sélectionné, aucun mot de passe sera utilisé." - -#: ../help/help.inc:202 -msgid "If checked password does not expire. (Setting X-Flag)" -msgstr "Si sélectionné, le mot de passe n'expirera pas (paramètre X-Flag)" - -#: ../help/help.inc:200 -msgid "If checked unix password will also be used as samba password." -msgstr "" -"Si sélectionné, le mot de passe unix sera aussi utilisé comme mot de passe " -"samba." - -#: ../help/help.inc:158 -#, php-format -msgid "" -"If empty GID number will be generated automaticly. Valid values are between %" -"s and %s." -msgstr "" -"Si vide, le numéro GID sera généré automatiquement. Les valeurs valables " -"sont entre %s et %s." - -#: ../help/help.inc:142 ../help/help.inc:165 -#, php-format -msgid "" -"If empty UID number will be generated automaticly. Valid values are between %" -"s and %s." -msgstr "" -"Si vide, le numéro UID sera généré automatiquement. Les valeurs valides sont " -"entre %s et %s." - -#: ../help/help.inc:188 -msgid "" -"If selected users will be added with OUs expanded with their primary group. " -"E.g. if a user is in group admin the user suffix will be ou=admin,+user " -"suffix." -msgstr "" -"Si sélectionné, les utilisateurs seront ajoutés avec les OUs développés avec " -"leurs groupes primaires. E.g. si un utilisateur est dans le groupe admin, " -"son suffixe utilisateur sera ou=admin,+ suffixe utilisateur." - -#: ../help/help.inc:127 -msgid "" -"If set to \"yes\" the Windows password will be the same as the Unix one." -msgstr "" -"Si mis à \"oui\" le mot de passe Windows sera identique au mot de passe Unix." - -#: ../help/help.inc:131 -msgid "If set to \"yes\" the user will be able to change his Windows password." -msgstr "" -"Si mis à \"oui\", l'utilisateur sera capable de changer de mot de passe Unix." - -#: ../help/help.inc:129 ../help/help.inc:133 -msgid "If unsure say \"yes\" here." -msgstr "Si vous n'etes pas sur, repondez \"oui\" ici." - -#: ../help/help.inc:99 -msgid "" -"If you use Samba 3.x with the new LDAP schema say \"yes\" here, otherwise " -"\"no\"." -msgstr "" -"Si vous utilisez Samba 3.x avec le nouveau schema LDAP, repondez \"oui\" " -"ici, sinon repondez \"non\"." - -#: ../templates/confwiz/o_lang.php:146 -msgid "" -"If you want more than one user to login to LAM please enter its DN(s) here. " -"Multiple entries are seperated by semicolons." -msgstr "" -"Si vous voulez que plus d'un utilisateur puisse se loguer sur LAM, entrez " -"leur(s) DN(s) ici. Les entrées multiples sont séparés par des point-virgule." - -#: ../help/help.inc:97 -msgid "" -"If you want to change the current preferences password, please enter it here." -msgstr "" -"Si vous voulez changer le mot de passe actuel des préférences, entrez le ici." - -#: ../help/help.inc:120 -msgid "" -"If you want to change your master configuration password, please enter it " -"here." -msgstr "" -"Si vous voulez changer le mot de passe principal actuel, entrez le ici." - -#: ../templates/confwiz/o_lists.php:106 -msgid "" -"If you want to input your own description it would look like this: " -"\"attribute:description\"." -msgstr "" -"Si vous voulez rentrer votre propre description, elle ressemblera à ceci : " -"\"attribut:description\"." - -#: ../templates/confwiz/o_daemon.php:105 -msgid "" -"If you want to manage quotas and homedirectories with LAM you need to setup " -"lamdaemon.pl." -msgstr "" -"Si vous voulez gérer les quotas et les répertoires utilisateurs avec LAM, il " -"vous faudra configurer lamdaemon.pl." - -#: ../help/help.inc:279 -msgid "If you want to use a well known RID you can selcet a well known group." -msgstr "" -"Si vous voulez utiliser une RID connue, vous devrez sélectionner un groupe " -"connu." - -#: ../templates/confwiz/ldaptest.php:490 -msgid "Ignore" -msgstr "Ignorer" - -#: ../templates/masscreate.php:284 -msgid "Infos" -msgstr "Informations" - -#: ../templates/account/groupedit.php:267 -#: ../templates/account/useredit.php:473 -#: ../templates/profedit/profilecreate.php:261 -#: ../templates/profedit/profilecreate.php:326 -msgid "Inode hard quota" -msgstr "Quota dur d'inode" - -#: ../templates/account/groupedit.php:267 -#: ../templates/account/useredit.php:473 -#: ../templates/profedit/profilecreate.php:261 -#: ../templates/profedit/profilecreate.php:326 -msgid "" -"Inode hard quota contains invalid characters. Only natural numbers are " -"allowed" -msgstr "" -"Quota dur d'inode contient des caractères invalides. Seuls les nombres " -"naturels sont autorisés" - -#: ../templates/account/groupedit.php:265 -#: ../templates/account/useredit.php:471 -#: ../templates/profedit/profilecreate.php:256 -#: ../templates/profedit/profilecreate.php:321 -msgid "Inode soft quota" -msgstr "Quota souple d'inode" - -#: ../templates/account/groupedit.php:265 -#: ../templates/account/useredit.php:471 -#: ../templates/profedit/profilecreate.php:256 -#: ../templates/profedit/profilecreate.php:321 -msgid "" -"Inode soft quota contains invalid characters. Only natural numbers are " -"allowed" -msgstr "" -"Quota souple d'inode contient des caractères invalides. Seuls les nombres " -"naturels sont autorisés" - -#: ../templates/account/groupedit.php:247 -#: ../templates/account/useredit.php:453 -msgid "Inserted gecos-field as display name." -msgstr "Le champ Gecos a été inséré comme nom à afficher." - -#: ../templates/account/groupedit.php:171 -msgid "Inserted groupname in gecos-field." -msgstr "Le nom du groupe a été inséré comme champ gecos." - -#: ../templates/account/hostedit.php:186 -msgid "Inserted hostname in gecos-field." -msgstr "Le nom de la machine a été inséré comme champ gecos." - -#: ../templates/account/useredit.php:241 ../templates/masscreate.php:555 -msgid "Inserted sur- and given name in gecos-field." -msgstr "Pre- et nom de famille insérés dans le champ gecos." - -#: ../templates/account/useredit.php:438 -msgid "Inserted user- or groupname in HomePath." -msgstr "Nom d'utilisateur ou groupe inséré dans HomePath." - -#: ../templates/account/useredit.php:435 -msgid "Inserted user- or groupname in profilepath." -msgstr "Nom d'utilisateur ou groupe inséré dans chemin profil." - -#: ../templates/account/useredit.php:432 -msgid "Inserted user- or groupname in scriptpath." -msgstr "Nom d'utilisateur ou groupe inséré dans chemin script." - -#: ../templates/massdetail.php:184 -msgid "Invalid Value!" -msgstr "Valeur non valable !" - -#: ../templates/profedit/profilecreate.php:273 -#: ../templates/profedit/profilecreate.php:338 -#: ../templates/profedit/profilecreate.php:377 -msgid "Invalid profile name!" -msgstr "Nom de profil non valable !" - -#: ../lib/status.inc:41 -msgid "Invalid/Missing Message type" -msgstr "Type de message non valable/manquant" - -#: ../lib/account.inc:879 -msgid "" -"It is possible that this ID-number is reused. This can cause several " -"problems because files with old permissions might still exist. To avoid this " -"warning set maxUID to a higher value." -msgstr "" -"Il est possible que ce numéro soit ré-utilisé. Ceci peut créer plusieurs " -"problèmes parce que des fichiers avec des vielles permissions peuvent encore " -"exister. Pour éviter cet avertissement, mettez maxUID à une plus grande " -"valeur." - -#: ../templates/masscreate.php:279 -msgid "It will be created." -msgstr "Sera créé." - -#: ../lib/status.inc:40 -msgid "LAM Internal Error" -msgstr "Erreur interne LAM" - -#: ../templates/confwiz/server2.php:196 -msgid "" -"LAM caches its LDAP searches, you can set the cache time here. Shorter times " -"will stress LDAP more but decrease the possibility that changes are not " -"identified." -msgstr "" -"LAM met en cache ses requètes LDAP. Vous pouvez spécifier le temps de mise " -"encache ici. Des durées plus courtes stresseront plus LDAP mais diminuerons " -"la possibilité que les changements ne soient pas identifiés." - -#: ../templates/confwiz/ldaptest.php:479 -msgid "LAM can create them for you or you have to create them manually later." -msgstr "" -"LAM peut les créer pour vous ou vous pouvez les créer a la main plus tard." - -#: ../templates/confwiz/ldaptest.php:478 -msgid "" -"LAM detected that one or more essential Samba groups are missing. They are " -"listed below." -msgstr "" -"LAM a détecté qu'un ou plusieurs groupes Samba essentiels sont absents. Ils " -"sont listés ci-dessous." - -#: ../templates/confwiz/server2.php:170 ../help/help.inc:106 -msgid "" -"LAM supports CRYPT, SHA, SSHA, MD5 and SMD5 to generate the hash value of an " -"user password. SSHA and CRYPT are the most common but CRYPT does not support " -"passwords greater than 8 letters. We do not recommend to use plain text " -"passwords." -msgstr "" -"LAM supporte CRYPT, SHA, SSHA, LD5 et SMD5 pour générer la valeur hash d'un " -"mot de passe utilisateur. SSHA et CRYPT sont les plus utilisés mais CRYPT ne " -"supporte pas les mots de passe de plus de 8 caractères. Nous ne recommandons " -"pas d'utiliser des mots de passe en texte simple." - -#: ../help/help.inc:101 -msgid "LAM will not work if version is wrong!" -msgstr "LAM ne marchera pas si la version est fausse !" - -#: ../templates/config/confmain.php:99 ../templates/config/confsave.php:74 -msgid "LDAP Account Manager Configuration" -msgstr "Configuration LDAP Account Manager" - -#: ../templates/config/confmain.php:227 -msgid "LDAP List settings" -msgstr "Paramètres de liste LDAP" - -#: ../templates/lists/listdomains.php:112 -#: ../templates/lists/listgroups.php:175 ../templates/lists/listhosts.php:179 -#: ../templates/lists/listusers.php:218 -msgid "LDAP Search failed! Please check your preferences." -msgstr "Recherche LDAP échouée ! Vérifiez vos préférences." - -#: ../templates/confwiz/server.php:150 -msgid "LDAP admin DN" -msgstr "DN d'Administrateur LDAP" - -#: ../templates/login.php:326 ../templates/confwiz/server.php:71 -msgid "LDAP error, server says:" -msgstr "Erreur LDAP, le serveur dit :" - -#: ../templates/login.php:237 -msgid "LDAP server" -msgstr "Serveur LDAP" - -#: ../templates/lists/listdomains.php:101 -#: ../templates/lists/listgroups.php:161 ../templates/lists/listhosts.php:165 -#: ../templates/lists/listusers.php:203 -msgid "LDAP sizelimit exceeded, not all entries are shown." -msgstr "" -"limite de taille LDAP surpassée, toutes les entrées ne sont pas affichées." - -#: ../templates/confwiz/server2.php:227 -msgid "Lamdaemon settings and PDF text" -msgstr "Paramètres Lamdaemon et texte PDF" - -#: ../templates/confwiz/server2.php:226 -msgid "Language and additional admin users" -msgstr "Langue et utilisateurs admin supplémentaires" - -#: ../templates/config/confsave.php:175 ../templates/confwiz/o_lang.php:54 -msgid "Language is not defined!" -msgstr "La langue n'est pas définie !" - -#: ../lib/config.inc:39 -msgid "Language not defined in session!" -msgstr "La langue n'est pas définie dans la session !" - -#: ../templates/config/confmain.php:265 -msgid "Language settings" -msgstr "Paramètres de langue" - -#: ../templates/account/useredit.php:960 ../lib/ldap.inc:199 -msgid "Last name" -msgstr "Nom de famille" - -#: ../help/help.inc:62 -msgid "List attributes" -msgstr "Attributs de liste" - -#: ../templates/config/confsave.php:99 ../templates/confwiz/o_lang.php:57 -msgid "List of admin users is empty or invalid!" -msgstr "La liste des utilisateurs administrateur est vide ou non valable !" - -#: ../help/help.inc:218 -msgid "" -"List of samba workstations the user is allowed to login. Empty means every " -"workstation." -msgstr "" -"Liste des stations de travail samba sur lesquelles l'utilisateur peut se " -"connecter. Vide veut dire toute station de travail." - -#: ../templates/config/confmain.php:343 ../templates/confwiz/o_lang.php:152 -#: ../lib/config.inc:292 -msgid "List of valid users" -msgstr "Liste des utilisateurs valides" - -#: ../templates/account/groupedit.php:629 -#: ../templates/account/hostedit.php:356 -#: ../templates/account/useredit.php:1023 -msgid "Load Profile" -msgstr "Chargement de Profil" - -#: ../templates/account/groupedit.php:624 -#: ../templates/account/hostedit.php:278 ../templates/account/hostedit.php:351 -#: ../templates/account/useredit.php:1018 ../help/help.inc:185 -msgid "Load profile" -msgstr "Chargement de profil" - -#: ../templates/login.php:220 ../templates/config/conflogin.php:72 -#: ../help/help.inc:36 -msgid "Login" -msgstr "Connexion" - -#: ../lib/pdf.inc:162 -msgid "Login Shell" -msgstr "Shell de connexion" - -#: ../lib/pdf.inc:172 -msgid "Login at host(s)" -msgstr "Connexion aux machine(s)" - -#: ../lib/pdf.inc:218 -msgid "Login at workstation(s)" -msgstr "Connexion aux station(s) de travail" - -#: ../templates/account/useredit.php:992 -#: ../templates/profedit/profileuser.php:127 ../help/help.inc:151 -#: ../lib/ldap.inc:201 -msgid "Login shell" -msgstr "Shell de connexion" - -#: ../templates/account/useredit.php:432 ../templates/account/useredit.php:444 -#: ../templates/account/useredit.php:1272 -#: ../templates/profedit/profileuser.php:325 ../help/help.inc:211 -#: ../lib/pdf.inc:210 -msgid "Logon script" -msgstr "Script de Connexion" - -#: ../templates/account/useredit.php:444 ../templates/config/confsave.php:181 -#: ../templates/profedit/profilecreate.php:214 -msgid "Logon script is invalid!" -msgstr "Le chemin de script n'est pas valable !" - -#: ../templates/logout.php:52 ../templates/main_header.php:51 -msgid "Logout" -msgstr "Déconnexion" - -#: ../help/help.inc:60 -msgid "Machine number" -msgstr "Machine numéro" - -#: ../templates/config/conflogin.php:127 -msgid "Manage profiles" -msgstr "Gestion de profiles" - -#: ../templates/config/profmanage.php:351 -msgid "Master Password:" -msgstr "Mot de passe principal:" - -#: ../templates/confwiz/start.php:168 ../help/help.inc:121 -msgid "Master password" -msgstr "Mot de passe principal" - -#: ../templates/config/profmanage.php:59 ../templates/confwiz/start.php:45 -msgid "Master password is wrong!" -msgstr "Mot de passe principal érroné !" - -#: ../templates/config/profmanage.php:119 -msgid "Master passwords are different or empty!" -msgstr "Mots de passe principal différents ou vides !" - -#: ../templates/masscreate.php:117 -msgid "Max 400 users allowed. Ignored additional users." -msgstr "" -"400 utilisateurs max autorisés. Les utilisateurs supplémentaires seront " -"ignorés." - -#: ../templates/config/confsave.php:169 -msgid "Max list entries is invalid!" -msgstr "Nombre d'entrées de liste max est invalide !" - -#: ../templates/config/confmain.php:209 ../templates/confwiz/o_ranges.php:131 -#: ../lib/config.inc:282 -msgid "Maximum GID number" -msgstr "Nombre GID maximum" - -#: ../templates/config/confsave.php:139 ../templates/confwiz/o_ranges.php:63 -msgid "Maximum GID number is invalid!" -msgstr "Nombre GID maximum invalide !" - -#: ../templates/config/confmain.php:218 ../templates/confwiz/o_ranges.php:140 -#: ../lib/config.inc:284 -msgid "Maximum Machine number" -msgstr "Numéro de machine maximum" - -#: ../templates/config/confsave.php:149 ../templates/confwiz/o_ranges.php:69 -msgid "Maximum Machine number is invalid!" -msgstr "Numéro de machine invalide !" - -#: ../templates/config/confmain.php:200 ../templates/confwiz/o_ranges.php:122 -#: ../lib/config.inc:280 -msgid "Maximum UID number" -msgstr "Maximale UID-Nummer" - -#: ../templates/config/confsave.php:129 ../templates/confwiz/o_ranges.php:57 -msgid "Maximum UID number is invalid!" -msgstr "Numéro maximum d'UID est invalide !" - -#: ../templates/config/confmain.php:250 ../help/help.inc:82 -#: ../lib/config.inc:288 -msgid "Maximum list entries" -msgstr "Nombre d'entrées de list maximum" - -#: ../templates/account/useredit.php:1089 -#: ../templates/profedit/profileuser.php:166 ../help/help.inc:175 -msgid "Maximum password age" -msgstr "Longévité de mot de passe maximum" - -#: ../templates/account/groupedit.php:518 -#: ../templates/account/groupedit.php:575 -#: ../templates/account/groupedit.php:645 -#: ../templates/account/groupedit.php:739 -#: ../templates/account/groupedit.php:796 ../lib/pdf.inc:458 -msgid "Members" -msgstr "Membres" - -#: ../templates/config/confmain.php:206 ../templates/confwiz/o_ranges.php:128 -#: ../lib/config.inc:281 -msgid "Minimum GID number" -msgstr "Numéro GID minimum" - -#: ../templates/config/confsave.php:134 ../templates/confwiz/o_ranges.php:60 -msgid "Minimum GID number is invalid!" -msgstr "Le nombre GID minimal n'est pas valable !" - -#: ../templates/config/confmain.php:215 ../templates/confwiz/o_ranges.php:137 -#: ../lib/config.inc:283 -msgid "Minimum Machine number" -msgstr "Numéro de machine minimum" - -#: ../templates/config/confsave.php:144 ../templates/confwiz/o_ranges.php:66 -msgid "Minimum Machine number is invalid!" -msgstr "Numéro de machine minimal non valable !" - -#: ../templates/config/confmain.php:197 ../templates/confwiz/o_ranges.php:119 -#: ../lib/config.inc:279 -msgid "Minimum UID number" -msgstr "Numéro UID minimum" - -#: ../templates/config/confsave.php:124 ../templates/confwiz/o_ranges.php:54 -msgid "Minimum UID number is invalid!" -msgstr "Numéro UID minimal non valable !" - -#: ../templates/account/useredit.php:1094 -#: ../templates/profedit/profileuser.php:173 ../help/help.inc:177 -msgid "Minimum password age" -msgstr "Longévité de mot de passe minimum" - -#: ../templates/account/useredit.php:490 -#: ../templates/account/useredit.php:1502 ../templates/masscreate.php:367 -#: ../templates/masscreate.php:569 ../templates/massdetail.php:152 -#: ../templates/massdetail.php:256 ../help/help.inc:260 ../help/help.inc:261 -msgid "Mobile number" -msgstr "Numéro de portable" - -#: ../templates/account/groupedit.php:822 -#: ../templates/account/hostedit.php:432 -#: ../templates/account/useredit.php:1554 -msgid "Modify" -msgstr "Modifier" - -#: ../templates/account/groupedit.php:836 -#: ../templates/account/hostedit.php:441 -#: ../templates/account/useredit.php:1558 -msgid "Modify Account" -msgstr "Modifier un Compte" - -#: ../templates/account/groupedit.php:758 -#: ../templates/account/useredit.php:1417 -#: ../templates/profedit/profilegroup.php:99 -#: ../templates/profedit/profileuser.php:376 ../help/help.inc:224 -#: ../lib/pdf.inc:240 -msgid "Mountpoint" -msgstr "Point de montage" - -#: ../help/help.inc:225 -msgid "Mountpoint of device with enabled quotas." -msgstr "Point de montage du périphérique avec quotas activés." - -#: ../templates/account/groupedit.php:215 -#: ../templates/account/groupedit.php:218 -#: ../templates/account/hostedit.php:179 ../templates/account/hostedit.php:182 -#: ../templates/account/useredit.php:305 ../templates/account/useredit.php:308 -#: ../templates/masscreate.php:563 ../templates/masscreate.php:566 -#: ../templates/massdetail.php:90 -msgid "Name" -msgstr "Nom" - -#: ../templates/account/groupedit.php:218 -#: ../templates/account/hostedit.php:182 ../templates/account/useredit.php:308 -#: ../templates/masscreate.php:566 ../templates/massdetail.php:90 -msgid "Name contains invalid characters. First character must be a letter." -msgstr "" -"Nom contient des caractères invalides. Le premier caractère doit etre une " -"lettre." - -#: ../templates/account/groupedit.php:215 -#: ../templates/account/hostedit.php:179 ../templates/account/useredit.php:305 -#: ../templates/masscreate.php:563 -msgid "Name must contain between 3 and 20 characters." -msgstr "Nom doit contenir entre 3 et 20 caractères." - -#: ../help/help.inc:135 -msgid "" -"Name under which the profile will be saved. If a profile with the same name " -"exists, it will be overwritten." -msgstr "" -"Nom sous lequel un profil doit etre sauvegardé. Si un profil avec le même " -"nom existe, il sera écrasé." - -#: ../templates/lists/listdomains.php:200 -msgid "New Domain" -msgstr "Nouveau domaine" - -#: ../templates/lists/listgroups.php:312 -msgid "New Group" -msgstr "Nouveau groupe" - -#: ../templates/lists/listhosts.php:301 -msgid "New Host" -msgstr "Nouvelle machine" - -#: ../templates/ou_edit.php:52 ../templates/ou_edit.php:117 -#: ../templates/ou_edit.php:182 ../templates/ou_edit.php:247 -msgid "New OU created successfully." -msgstr "Nouvelle OU créée avec succès." - -#: ../templates/config/confmain.php:351 -msgid "New Password" -msgstr "Nouveau mot de passe" - -#: ../templates/config/profmanage.php:126 -msgid "New default profile set successfully." -msgstr "Nouveau profil par défaut créé avec succès." - -#: ../templates/config/profmanage.php:326 -msgid "New master password" -msgstr "Nouveau mot de passe principal" - -#: ../templates/config/profmanage.php:117 -msgid "New master password set successfully." -msgstr "Nouveau mot de passe principal créé avec succès." - -#: ../templates/ou_edit.php:344 ../templates/ou_edit.php:377 -#: ../templates/ou_edit.php:410 ../templates/ou_edit.php:444 -#: ../help/help.inc:289 -msgid "New organizational unit" -msgstr "Nouvelle unité organisationelle" - -#: ../templates/config/profmanage.php:107 -msgid "New password set successfully." -msgstr "Nouveau mot de passe rentré avec succès." - -#: ../templates/account/groupedit.php:435 -#: ../templates/account/hostedit.php:288 ../templates/account/useredit.php:719 -msgid "New profile created." -msgstr "Nouveau profil créé." - -#: ../templates/lists/listusers.php:367 -msgid "New user" -msgstr "Nouvel utilisateur" - -#: ../templates/masscreate.php:422 ../templates/confwiz/o_ranges.php:152 -#: ../templates/confwiz/o_daemon.php:141 ../templates/confwiz/server2.php:234 -#: ../templates/confwiz/o_lang.php:162 ../templates/confwiz/server.php:196 -#: ../templates/confwiz/o_lists.php:147 ../templates/confwiz/start.php:181 -msgid "Next" -msgstr "Suivant" - -#: ../templates/domain.php:125 ../templates/confwiz/ldaptest.php:361 -#: ../help/help.inc:303 -msgid "Next Group RID" -msgstr "Groupe RID suivant" - -#: ../templates/domain.php:109 ../templates/confwiz/ldaptest.php:345 -#: ../help/help.inc:299 -msgid "Next RID" -msgstr "RID Suivant" - -#: ../templates/domain.php:239 ../templates/confwiz/ldaptest.php:243 -msgid "Next RID is not a number!" -msgstr "RID suivant n'est pas un numéro !" - -#: ../help/help.inc:300 -msgid "Next RID to use when creating accounts." -msgstr "RID suivant à utiliser lors de la création de comptes." - -#: ../help/help.inc:304 -msgid "Next RID to use when creating groups." -msgstr "RID suivant à utiliser lors de la création de groupes." - -#: ../help/help.inc:302 -msgid "Next RID to use when creating user accounts." -msgstr "RID suivant à utiliser pour la création de comptes utilisateurs." - -#: ../templates/domain.php:117 ../templates/confwiz/ldaptest.php:353 -#: ../help/help.inc:301 -msgid "Next User RID" -msgstr "RID Utilisateur suivant" - -#: ../templates/domain.php:241 ../templates/confwiz/ldaptest.php:249 -msgid "Next group RID is not a number!" -msgstr "Rid de groupe suivant n'est pas un numéro !" - -#: ../templates/domain.php:240 ../templates/confwiz/ldaptest.php:246 -msgid "Next user RID is not a number!" -msgstr "RID utilisateur suivant n'est pas un numéro !" - -#: ../templates/lists/listgroups.php:166 ../templates/lists/listgroups.php:175 -#: ../templates/lists/listgroups.php:179 -msgid "No Groups found!" -msgstr "Pas de groupes trouvés !" - -#: ../templates/lists/listdomains.php:106 -#: ../templates/lists/listdomains.php:112 -#: ../templates/lists/listdomains.php:116 -msgid "No Samba Domains found!" -msgstr "Pas de Domaines Samba trouvés !" - -#: ../templates/lists/listhosts.php:170 ../templates/lists/listhosts.php:179 -#: ../templates/lists/listhosts.php:183 -msgid "No Samba Hosts found!" -msgstr "Pas de machines Samba trouvés !" - -#: ../templates/lists/listusers.php:208 ../templates/lists/listusers.php:219 -msgid "No Users found!" -msgstr "Pas d'utilisateurs trouvés !" - -#: ../templates/initsuff.php:170 -msgid "No changes were made." -msgstr "Aucune modification effectuée." - -#: ../templates/initsuff.php:154 ../templates/main.php:64 -#: ../templates/confwiz/ldaptest.php:311 -msgid "No domains found, please create one." -msgstr "Pas de domaines trouvé. Créez en un." - -#: ../lib/account.inc:878 -msgid "No free ID-Number!" -msgstr "Pas de numéro ID libre !" - -#: ../templates/delete.php:244 -msgid "No group(s) were deleted" -msgstr "Aucun groupe(s) effacé(s)" - -#: ../templates/delete.php:236 -msgid "No host(s) were deleted" -msgstr "Aucune machine(s) effacée(s)" - -#: ../templates/config/confmain.php:82 -msgid "No password was entered!" -msgstr "Pas de mot de passe rentré !" - -#: ../templates/account/useredit.php:243 ../templates/masscreate.php:558 -msgid "No primary group defined!" -msgstr "Groupe primaire non défini !" - -#: ../templates/account/groupedit.php:432 -#: ../templates/account/hostedit.php:285 ../templates/account/useredit.php:716 -msgid "No profilename given." -msgstr "Aucun profil donné." - -#: ../templates/profedit/profilecreate.php:390 -msgid "No type specified!" -msgstr "Pas de type spécifié !" - -#: ../lib/pdf.inc:255 -msgid "No user quotas defined or no quota support by filesystem." -msgstr "" -"Pas de quota défini ou pas de support quota dans le système de fichiers." - -#: ../templates/delete.php:228 -msgid "No user(s) were deleted" -msgstr "Aucun utilisateur effacé" - -#: ../templates/account/groupedit.php:845 -#: ../templates/account/hostedit.php:459 -#: ../templates/account/useredit.php:1566 ../help/help.inc:47 -msgid "Note" -msgstr "Note" - -#: ../help/help.inc:174 -msgid "" -"Number of days a user can login even his password has expired. -1=always." -msgstr "" -"Nombre de jours pendant lesquels un utilisateur paut se connecter bien que " -"son mot de passe ait expiré. -1 = toujours." - -#: ../help/help.inc:178 -msgid "" -"Number of days a user has to wait until he\\'s allowed to change his " -"password again. If set value must be 0<." -msgstr "" -"Nombre de jours que l\\'utilisateur doit attendre avant de pouvoir changer " -"son mot de passe à nouveau. Si défini, la valeur doit étre 0<." - -#: ../help/help.inc:176 -msgid "" -"Number of days after a user has to change his password again. If set value " -"must be 0<." -msgstr "" -"Nombre de jours au bout desquels un utilisateur doit changer à nouveau son " -"mot de passe. Si défini, la valeur doit etre 0<." - -#: ../templates/ou_edit.php:58 ../templates/ou_edit.php:123 -#: ../templates/ou_edit.php:188 ../templates/ou_edit.php:253 -msgid "OU already exists!" -msgstr "OU existe déjà !" - -#: ../templates/ou_edit.php:69 ../templates/ou_edit.php:134 -#: ../templates/ou_edit.php:199 ../templates/ou_edit.php:264 -msgid "OU deleted successfully." -msgstr "OU éffacée avec succès." - -#: ../templates/ou_edit.php:62 ../templates/ou_edit.php:127 -#: ../templates/ou_edit.php:192 ../templates/ou_edit.php:257 -msgid "OU is invalid!" -msgstr "OU n'est pas valable !" - -#: ../templates/ou_edit.php:99 ../templates/ou_edit.php:164 -#: ../templates/ou_edit.php:229 ../templates/ou_edit.php:294 -msgid "OU is not empty or invalid!" -msgstr "OU n'est pas vide ou non valable !" - -#: ../templates/main_header.php:54 ../help/help.inc:289 ../help/help.inc:291 -msgid "OU-Editor" -msgstr "éditeur OU" - -#: ../templates/account/hostedit.php:222 ../templates/account/useredit.php:585 -msgid "ObjectClass posixAccount not found." -msgstr "ObjectClass posixAccount introuvable." - -#: ../templates/account/groupedit.php:330 -msgid "ObjectClass posixGroup not found." -msgstr "ObjectClass posixGroup introuvable." - -#: ../templates/account/hostedit.php:226 ../templates/account/useredit.php:594 -msgid "ObjectClass sambaAccount not found." -msgstr "ObjectClass sambaAccount introuvable." - -#: ../templates/account/groupedit.php:328 -msgid "ObjectClass sambaGroupMapping not found." -msgstr "ObjectClass sambaGroupMapping introuvable." - -#: ../templates/account/hostedit.php:224 ../templates/account/useredit.php:590 -msgid "ObjectClass sambaSamAccount not found." -msgstr "ObjectClass sambaSamAccount introuvable." - -#: ../templates/account/useredit.php:587 -msgid "ObjectClass shadowAccount not found." -msgstr "ObjectClass shadowAccount introuvable." - -#: ../templates/config/conflogin.php:118 -msgid "Ok" -msgstr "Ok" - -#: ../templates/confwiz/server2.php:221 -msgid "Optional settings" -msgstr "Paramètres facultatifs" - -#: ../templates/config/confmain.php:325 -msgid "PDF settings" -msgstr "Paramètres PDF" - -#: ../templates/confwiz/o_daemon.php:126 -msgid "PDF text" -msgstr "texte PDF" - -#: ../templates/account/hostedit.php:390 ../templates/account/useredit.php:316 -#: ../templates/account/useredit.php:346 ../templates/account/useredit.php:418 -#: ../templates/account/useredit.php:442 -#: ../templates/account/useredit.php:1061 ../templates/login.php:169 -#: ../templates/confwiz/server.php:159 ../templates/confwiz/start.php:141 -msgid "Password" -msgstr "Mot de passe" - -#: ../templates/account/useredit.php:351 -msgid "Password Expire" -msgstr "Expiration du mot de passe" - -#: ../templates/config/confsave.php:214 -msgid "Password changed!" -msgstr "Mot de passe modifié !" - -#: ../templates/account/useredit.php:346 ../templates/account/useredit.php:442 -msgid "" -"Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and #*,.;:_-+!$%&/|?{[()]}= !" -msgstr "" -"Le mot de passe contient des caractères invalides. Les caractères valides " -"sont: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !" - -#: ../templates/account/useredit.php:1205 -#: ../templates/profedit/profileuser.php:257 ../help/help.inc:201 -msgid "Password does not expire" -msgstr "Le mot de passe n'expire pas" - -#: ../templates/account/useredit.php:1084 ../help/help.inc:173 -#: ../lib/pdf.inc:168 -msgid "Password expire" -msgstr "Expiration du mot de passe" - -#: ../templates/account/useredit.php:351 -msgid "Password expire must be are natural number or -1." -msgstr "L'expiration du mot de passe doit etre un chiffre naturel ou -1." - -#: ../templates/profedit/profileuser.php:159 -msgid "Password expiry" -msgstr "Expiration du mot de passe" - -#: ../templates/profedit/profilecreate.php:147 -msgid "Password expiry is not numeric!" -msgstr "L'expiration du mot de passe n'est pas numérique !" - -#: ../templates/config/confsave.php:193 ../templates/confwiz/server2.php:71 -msgid "Password hash is invalid!" -msgstr "Le hash du mot de passe n'est pas valable !" - -#: ../templates/config/confmain.php:147 ../templates/confwiz/server2.php:176 -#: ../help/help.inc:105 ../lib/config.inc:272 -msgid "Password hash type" -msgstr "Le type de hash du mot de passe" - -#: ../templates/account/useredit.php:348 ../templates/account/useredit.php:349 -msgid "Password maxage" -msgstr "Longévité Max. du mot de passe" - -#: ../templates/account/useredit.php:349 -msgid "Password maxage must be are natural number." -msgstr "Longévité Max. du mot de passe doit etre un chiffre naturel." - -#: ../templates/account/useredit.php:348 -msgid "Password maxage must bigger as Password Minage." -msgstr "" -"Logévité Max. du mot de passe doit etre plus grand que Longévité Min. du mot " -"de passe" - -#: ../templates/profedit/profilecreate.php:115 -msgid "Password maximum age is not numeric!" -msgstr "Longévité Maximale de mot de passe n' est pas numérique !" - -#: ../templates/account/useredit.php:347 -msgid "Password minage" -msgstr "Longévité Min. mot de passe" - -#: ../templates/account/useredit.php:347 -msgid "Password minage must be are natural number." -msgstr "Longévité minimale du mot de passe doit etre un chiffre naturel." - -#: ../templates/profedit/profilecreate.php:107 -msgid "Password minimum age is not numeric!" -msgstr "Longévité minimale du mot de passe n'est pas numérique !" - -#: ../templates/account/useredit.php:352 -#: ../templates/account/useredit.php:1079 ../help/help.inc:171 -msgid "Password warn" -msgstr "Avertissement mot de passe" - -#: ../templates/account/useredit.php:352 -msgid "Password warn must be are natural number." -msgstr "L'avertissement mot de passe doit etre un nombre naturel." - -#: ../templates/profedit/profileuser.php:152 -msgid "Password warning" -msgstr "Avertissement du mot de passe" - -#: ../templates/config/confsave.php:208 -msgid "Passwords are different!" -msgstr "Les mots de passe sont différents !" - -#: ../help/help.inc:215 -#, php-format -msgid "" -"Path of the userprofile. Can be a local absolute path or a UNC-path (\\" -"\\server\\share). $%s and $%s are replaced with user- and groupname." -msgstr "" -"Chemin du profil utilisateur. Peut etre un chemin absolu local ou un chemin " -"UNC (\\serveur\\partage). $%s et $%s seront remplacés par les noms " -"d'utilisateur et de groupe." - -#: ../templates/config/confmain.php:315 ../templates/confwiz/o_daemon.php:117 -#: ../lib/config.inc:290 -msgid "Path to external script" -msgstr "Chemin vers le script externe" - -#: ../templates/account/useredit.php:795 ../templates/account/useredit.php:865 -#: ../templates/account/useredit.php:927 -#: ../templates/account/useredit.php:1048 -#: ../templates/account/useredit.php:1165 -#: ../templates/account/useredit.php:1404 -#: ../templates/account/useredit.php:1453 -#: ../templates/account/useredit.php:1533 -msgid "Personal" -msgstr "Personnel" - -#: ../lib/pdf.inc:78 -msgid "Personal User Infos" -msgstr "Informations Utilisateur Personnel" - -#: ../templates/account/useredit.php:1464 -msgid "Personal properties" -msgstr "Propriétés personnelles" - -#: ../lib/pdf.inc:109 -msgid "Phone" -msgstr "Téléphone" - -#: ../templates/account/groupedit.php:323 -#: ../templates/account/useredit.php:566 ../templates/account/useredit.php:580 -msgid "Please check settings on samba page." -msgstr "Vérifiez les paramètres sur la page samba, s'il vous plait." - -#: ../templates/account/hostedit.php:99 ../templates/account/useredit.php:108 -msgid "Please create a group first." -msgstr "Créez un groupe d'abord, s'il vous plait." - -#: ../templates/confwiz/start.php:117 -msgid "" -"Please enter a name for the new profile. The name may contain letters, " -"digits and -_." -msgstr "" -"Entrez un nom pour le nouveau profil. Le nom peut contenir des lettres,des " -"chiffres et -_." - -#: ../templates/account/useredit.php:492 ../templates/masscreate.php:571 -#: ../templates/massdetail.php:156 -msgid "Please enter a valid eMail address!" -msgstr "Entrez une adresse mail valable, s'il vous plait !" - -#: ../templates/account/useredit.php:496 ../templates/masscreate.php:575 -#: ../templates/massdetail.php:142 -msgid "Please enter a valid employee type!" -msgstr "Entrez un type d'employé valable, s'il vous plait !" - -#: ../templates/account/useredit.php:491 ../templates/masscreate.php:570 -#: ../templates/massdetail.php:154 -msgid "Please enter a valid fax number!" -msgstr "Entrez un numéro de fax valable, s'il vous plait !" - -#: ../templates/account/useredit.php:490 ../templates/masscreate.php:569 -#: ../templates/massdetail.php:152 -msgid "Please enter a valid mobile number!" -msgstr "Entrez un numéro de portable valable, s'il vous plait !" - -#: ../templates/account/useredit.php:494 ../templates/masscreate.php:573 -#: ../templates/massdetail.php:148 -msgid "Please enter a valid postal address!" -msgstr "Entrez une adresse valable, s'il vous plait !" - -#: ../templates/account/useredit.php:497 ../templates/masscreate.php:576 -#: ../templates/massdetail.php:146 -msgid "Please enter a valid postal code!" -msgstr "Entrez un code postal valable, s'il vous plait !" - -#: ../templates/account/useredit.php:493 ../templates/masscreate.php:572 -#: ../templates/massdetail.php:144 -msgid "Please enter a valid street name!" -msgstr "Entrez un nom de rue valable, s'il vous plait !" - -#: ../templates/account/useredit.php:489 ../templates/masscreate.php:568 -#: ../templates/massdetail.php:150 -msgid "Please enter a valid telephone number!" -msgstr "Entrez un numéro de téléphone valable, s'il vous plait !" - -#: ../templates/account/useredit.php:495 ../templates/masscreate.php:574 -#: ../templates/massdetail.php:140 -msgid "Please enter a valid title!" -msgstr "Entrez un titre valable, s'il vous plait !" - -#: ../lib/account.inc:890 -#, php-format -msgid "Please enter a value between %s and %s!" -msgstr "Entrez un numéro entre %s et %s, s'il vous plait !" - -#: ../templates/config/conflogin.php:91 -msgid "Please enter password to change preferences:" -msgstr "Entrez votre mot de passe pour modifier les preférences :" - -#: ../templates/confwiz/o_ranges.php:112 -msgid "Please enter the UID/GID ranges for your accounts:" -msgstr "Entrez les gammes UID/GID pour vos comptes, s'il vous plait :" - -#: ../templates/confwiz/server.php:123 -msgid "Please enter the URL of your LDAP server." -msgstr "Entrez l'URL de votre serveur LDAP, s'il vous plait." - -#: ../help/help.inc:37 -msgid "" -"Please enter the configuration password. This is NOT your LDAP password. It " -"is stored in your .conf-file. If this is the first time you log in, enter " -"\"lam\"." -msgstr "" -"Entrez le mot de passe de configuration. Ceci n'est PAS votre mot de passe " -"LDAP. Il est stoqué dans votre fichier .conf. Si ceci est la première fois " -"que vous vous connectez, entrez \"lam\"." - -#: ../help/help.inc:122 -msgid "" -"Please enter the master configuration password. This is NOT your LDAP " -"password. It is stored in your config.cfg file. If this is the first time " -"you log in, enter \"lam\"." -msgstr "" -"Entrez le mot de passe de configuration. Ceci n'est PAS votre mot de passe " -"LDAP. Il est stoqué dans votre fichier config.cfg. Si ceci est la première " -"fois que vous vous connectez, entrez \"lam\"." - -#: ../help/help.inc:110 -msgid "" -"Please enter the name of the new profile and the password to change its " -"settings. Profile names may contain letters, numbers and -/_." -msgstr "" -"Entrez le nom du nouveau profil et le mot de passe pour changer ses " -"paramètres. Les noms de profil peuvent contenir des lettres, des nombres et " -"-/_." - -#: ../help/help.inc:112 -msgid "" -"Please enter the new name of the profile. The name may contain letters, " -"numbers and -/_." -msgstr "" -"Entrez le nom du nouveau profil. Les noms de profil peuvent contenir des " -"lettres, des nombres et -/_." - -#: ../templates/account/useredit.php:316 ../templates/account/useredit.php:418 -msgid "Please enter the same password in both password-fields." -msgstr "Entrez le même mot de passe dans les deux champs mot de passe." - -#: ../templates/confwiz/server2.php:125 -msgid "" -"Please enter the suffixes of your LDAP tree where LAM should store the " -"accounts." -msgstr "" -"Entrez les suffixes d'un arbre LDAP ou LAM devrait stoquer les comptes." - -#: ../templates/confwiz/o_lists.php:103 -msgid "Please enter which attributes should be displayed in the list views." -msgstr "Donnez les attributs qui doivent etre affichés dans les vues listes" - -#: ../templates/confwiz/start.php:162 -msgid "" -"Please enter your configuration master password. This password is \"lam\" by " -"default." -msgstr "" -"Entrez votre mot de passe de configuration principale. Ce mot de passe est " -"\"lam\" par défaut." - -#: ../templates/masscreate.php:349 -msgid "" -"Please provide a csv-file with the following syntax. Values with * are " -"required:" -msgstr "" -"Donnez un fichier csv avec la syntaxe suivante. Les valeurs avec * sont " -"obligatoires:" - -#: ../lib/status.inc:42 -msgid "" -"Please report this error to the Bug-Tracker at {link=http://lam.sf.net}LDAP " -"Account Manager Development Team{endlink}. The error number is {bold}0001:" -"Invalid/Missing Message type.{endbold} Thank you." -msgstr "" -"Faites un rapport de cette erreur au Bug-Tracker à {link=http://lam.sf.net}" -"l'equipe de developeurs LDAP Account Manager{endlink}. Le numéro d'erreur " -"est {bold}0001:Message de type Invalid/Manquant.{endbold} Merci." - -#: ../templates/confwiz/server2.php:222 -msgid "" -"Please select here if you want to make additional changes to your " -"configuration profile or if LAM should use default values." -msgstr "" -"Selectionnez ici si vous voulez faire des changements supplémentaires à " -"votre profil de configuration ou si LAM doit utiliser les valeurs par " -"défaut. " - -#: ../templates/account/groupedit.php:515 -#: ../templates/account/groupedit.php:572 -#: ../templates/account/groupedit.php:642 -#: ../templates/account/groupedit.php:736 -#: ../templates/account/groupedit.php:793 -#: ../templates/account/useredit.php:788 ../templates/account/useredit.php:858 -#: ../templates/account/useredit.php:920 -#: ../templates/account/useredit.php:1041 -#: ../templates/account/useredit.php:1158 -#: ../templates/account/useredit.php:1398 -#: ../templates/account/useredit.php:1446 -#: ../templates/account/useredit.php:1526 ../templates/masscreate.php:325 -msgid "Please select page:" -msgstr "Sélectionnez une page :" - -#: ../templates/confwiz/o_lang.php:101 -msgid "Please select your prefered language." -msgstr "Sélectionnez votre langue préférée." - -#: ../help/help.inc:275 -msgid "Position in ldap-tree where the group should be created." -msgstr "Position dans l'arbre LDAP ou le groupe doit etre créé." - -#: ../help/help.inc:277 -msgid "Position in ldap-tree where the host should be created." -msgstr "Position dans l'arbre ou la machine doit etre créée." - -#: ../help/help.inc:273 -msgid "Position in ldap-tree where the user should be created." -msgstr "Position dans l'arbre ou l'utilisateur doit etre créé." - -#: ../templates/account/useredit.php:494 -#: ../templates/account/useredit.php:1490 ../templates/masscreate.php:375 -#: ../templates/masscreate.php:573 ../templates/massdetail.php:148 -#: ../templates/massdetail.php:244 ../help/help.inc:256 ../lib/pdf.inc:101 -msgid "Postal address" -msgstr "Adresse postale" - -#: ../help/help.inc:257 -msgid "Postal address, city" -msgstr "Adresse postale, ville." - -#: ../templates/account/useredit.php:497 -#: ../templates/account/useredit.php:1484 ../templates/masscreate.php:373 -#: ../templates/masscreate.php:576 ../templates/massdetail.php:146 -#: ../templates/massdetail.php:238 ../help/help.inc:254 ../help/help.inc:255 -#: ../lib/pdf.inc:97 -msgid "Postal code" -msgstr "Code postal" - -#: ../templates/confwiz/o_lists.php:105 -msgid "Predefined attributes are of type \"#attribute\"." -msgstr "Les attributs prédéfinis sont de type \"#attribut\"." - -#: ../templates/confwiz/o_lists.php:111 ../help/help.inc:67 -msgid "Predefined values" -msgstr "Valeurs prédéfinies" - -#: ../templates/account/hostedit.php:376 ../templates/account/useredit.php:243 -#: ../templates/account/useredit.php:966 ../templates/masscreate.php:283 -#: ../templates/masscreate.php:359 ../templates/masscreate.php:558 -#: ../templates/profedit/profilehost.php:68 -#: ../templates/profedit/profileuser.php:93 ../help/help.inc:153 -#: ../help/help.inc:167 ../lib/pdf.inc:310 ../lib/pdf.inc:354 -msgid "Primary group" -msgstr "Groupe primaire" - -#: ../templates/account/useredit.php:559 -msgid "" -"Primary group has changed. You have to run the following command as root in " -"order to change existing file-permissions:" -msgstr "" -"Le groupe primaire a été modifié. Vous devez lancer la commande suivante en " -"tant que root pour changer les droits fichiers existants :" - -#: ../templates/profedit/profilecreate.php:64 -#: ../templates/profedit/profilecreate.php:361 -msgid "Primary group name is invalid!" -msgstr "Le nom du groupe primaire n'est pas valable !" - -#: ../templates/main_header.php:43 ../help/help.inc:126 ../help/help.inc:130 -#: ../help/help.inc:134 -msgid "Profile Editor" -msgstr "éditeur de profil" - -#: ../templates/config/profmanage.php:97 -msgid "Profile deleted." -msgstr "Profil effacé." - -#: ../templates/account/hostedit.php:278 -msgid "Profile loaded." -msgstr "Profil chargé." - -#: ../templates/config/profmanage.php:41 -#: ../templates/config/profmanage.php:144 ../help/help.inc:109 -#: ../help/help.inc:111 ../help/help.inc:113 ../help/help.inc:115 -#: ../help/help.inc:117 ../help/help.inc:119 ../help/help.inc:121 -msgid "Profile management" -msgstr "Gestion de profil" - -#: ../templates/config/profmanage.php:159 -#: ../templates/config/profmanage.php:206 -#: ../templates/profedit/profilegroup.php:143 -#: ../templates/profedit/profilehost.php:112 -#: ../templates/profedit/profileuser.php:420 -#: ../templates/confwiz/start.php:123 ../help/help.inc:134 -msgid "Profile name" -msgstr "Nom de profil" - -#: ../templates/config/profmanage.php:81 ../templates/config/profmanage.php:92 -#: ../templates/confwiz/start.php:65 -msgid "Profile name is invalid!" -msgstr "Le nom de profil n'est pas valable !" - -#: ../templates/config/profmanage.php:170 -#: ../templates/config/profmanage.php:260 -msgid "Profile password" -msgstr "Mot de passe profil" - -#: ../templates/config/profmanage.php:79 -#: ../templates/config/profmanage.php:109 ../templates/confwiz/start.php:67 -msgid "Profile passwords are different or empty!" -msgstr "Les mots de passe profil sont différents ou vides !" - -#: ../templates/account/useredit.php:435 ../templates/account/useredit.php:447 -#: ../templates/account/useredit.php:1267 -#: ../templates/profedit/profileuser.php:318 ../help/help.inc:214 -#: ../lib/pdf.inc:214 -msgid "Profile path" -msgstr "Chemin de profil" - -#: ../templates/account/useredit.php:447 -#: ../templates/profedit/profilecreate.php:205 -msgid "Profile path is invalid!" -msgstr "Le chemin de profil n'est pas valable !" - -#: ../templates/profedit/profilecreate.php:280 -#: ../templates/profedit/profilecreate.php:345 -#: ../templates/profedit/profilecreate.php:383 -msgid "Profile was saved." -msgstr "Le profil a été sauvegardé." - -#: ../templates/account/groupedit.php:524 -#: ../templates/account/groupedit.php:581 -#: ../templates/account/groupedit.php:648 -#: ../templates/account/groupedit.php:744 -#: ../templates/account/groupedit.php:801 -#: ../templates/account/useredit.php:794 ../templates/account/useredit.php:864 -#: ../templates/account/useredit.php:926 -#: ../templates/account/useredit.php:1047 -#: ../templates/account/useredit.php:1164 -#: ../templates/account/useredit.php:1403 -#: ../templates/account/useredit.php:1452 -#: ../templates/account/useredit.php:1532 -msgid "Quota" -msgstr "Quota" - -#: ../lib/pdf.inc:233 -msgid "Quota Settings" -msgstr "Paramètres Quota" - -#: ../templates/account/groupedit.php:756 -#: ../templates/account/useredit.php:1415 -#: ../templates/profedit/profilegroup.php:95 -#: ../templates/profedit/profileuser.php:372 -msgid "Quota properties" -msgstr "Propriétés quota" - -#: ../lib/ldap.inc:215 -msgid "RID (Windows UID)" -msgstr "RID (Windows UID)" - -#: ../templates/config/confmain.php:192 -msgid "Ranges" -msgstr "Plages" - -#: ../templates/confwiz/server2.php:224 -msgid "Ranges for UID and GID numbers" -msgstr "Plages pour nombres UID et GID" - -#: ../templates/config/confmain.php:356 ../templates/confwiz/start.php:149 -msgid "Reenter Password" -msgstr "Redonnez le mot de passe" - -#: ../templates/config/profmanage.php:337 -msgid "Reenter new master password" -msgstr "Donnez un nouveau mot de passe principal" - -#: ../templates/config/profmanage.php:179 -#: ../templates/config/profmanage.php:271 -msgid "Reenter profile password" -msgstr "Redonnez le mot de passe profil" - -#: ../templates/masscreate.php:332 ../templates/lists/listdomains.php:220 -#: ../templates/lists/listgroups.php:340 ../templates/lists/listhosts.php:329 -#: ../templates/lists/listusers.php:398 -msgid "Refresh" -msgstr "Actualisez" - -#: ../templates/config/profmanage.php:202 ../help/help.inc:111 -msgid "Rename profile" -msgstr "Renommer le profil" - -#: ../templates/config/profmanage.php:88 -msgid "Renamed profile." -msgstr "Profil renommé." - -#: ../templates/account/useredit.php:1067 -#: ../templates/account/useredit.php:1187 -msgid "Repeat password" -msgstr "Repetez le mot de passe" - -#: ../templates/account/useredit.php:296 -#, php-format -msgid "Replaced $%s or $%s in homedir." -msgstr "$%s et $%s ont été remplacés dans le repertoire utilisateur." - -#: ../templates/domain.php:177 ../templates/config/confmain.php:368 -#: ../templates/profedit/profilegroup.php:152 -#: ../templates/profedit/profilehost.php:121 -#: ../templates/profedit/profileuser.php:429 -msgid "Reset" -msgstr "Réinitialisation" - -#: ../templates/account/groupedit.php:529 -#: ../templates/account/groupedit.php:586 -#: ../templates/account/groupedit.php:653 -#: ../templates/account/groupedit.php:749 -#: ../templates/account/groupedit.php:806 -#: ../templates/account/useredit.php:800 ../templates/account/useredit.php:870 -#: ../templates/account/useredit.php:932 -#: ../templates/account/useredit.php:1053 -#: ../templates/account/useredit.php:1170 -#: ../templates/account/useredit.php:1409 -#: ../templates/account/useredit.php:1458 -#: ../templates/account/useredit.php:1538 -msgid "Reset all changes." -msgstr "Réinitialisation de toutes les modifications." - -#: ../templates/account/hostedit.php:394 -msgid "Reset password" -msgstr "Réinitialisation du mot de passe" - -#: ../templates/account/groupedit.php:521 -#: ../templates/account/groupedit.php:578 -#: ../templates/account/groupedit.php:646 -#: ../templates/account/groupedit.php:742 -#: ../templates/account/groupedit.php:798 -#: ../templates/account/useredit.php:792 ../templates/account/useredit.php:862 -#: ../templates/account/useredit.php:924 -#: ../templates/account/useredit.php:1045 -#: ../templates/account/useredit.php:1162 -#: ../templates/account/useredit.php:1402 -#: ../templates/account/useredit.php:1450 -#: ../templates/account/useredit.php:1530 -#: ../templates/profedit/profilegroup.php:67 -msgid "Samba" -msgstr "Samba" - -#: ../templates/domain.php:234 ../templates/confwiz/ldaptest.php:239 -msgid "Samba 3 domain SID is invalid!" -msgstr "Le SID domaine de Samba 3 n'est pas valable !" - -#: ../templates/config/confmain.php:183 ../lib/config.inc:274 -msgid "Samba 3.x schema" -msgstr "Schema Samba 3.x" - -#: ../templates/lists/listdomains.php:233 -msgid "Samba Domain(s) found" -msgstr "Domaine(s) Samba trouvé(s)" - -#: ../templates/profedit/profilemain.php:218 -msgid "Samba Host Profiles" -msgstr "Profils Machines Samba" - -#: ../templates/lists/listhosts.php:342 -msgid "Samba Host(s) found" -msgstr "Machine(s) Samba trouvé(s)" - -#: ../templates/ou_edit.php:405 -msgid "Samba Hosts" -msgstr "Machines Samba" - -#: ../templates/account/groupedit.php:323 -#: ../templates/account/useredit.php:566 ../templates/account/useredit.php:580 -msgid "Samba Options not set!" -msgstr "Options Samba non mises !" - -#: ../templates/profedit/profileuser.php:232 -msgid "Samba account" -msgstr "Compte Samba" - -#: ../templates/profedit/profilecreate.php:196 -msgid "Samba home directory is invalid!" -msgstr "Le répertoire utilisateur de Samba n'est pas valable !" - -#: ../templates/account/useredit.php:1184 -msgid "Samba password" -msgstr "Mot de passe Samba" - -#: ../templates/account/groupedit.php:659 -#: ../templates/account/useredit.php:1178 -msgid "Samba properties" -msgstr "Propriétés Samba" - -#: ../templates/config/confmain.php:178 -msgid "Samba settings" -msgstr "Paramètres Samba" - -#: ../templates/confwiz/server.php:179 ../help/help.inc:98 -msgid "Samba version" -msgstr "Version de Samba" - -#: ../templates/config/confsave.php:83 -msgid "Samba version is not defined!" -msgstr "La version de Samba n'est pas définie !" - -#: ../templates/account/useredit.php:1277 ../help/help.inc:217 -msgid "Samba workstations" -msgstr "Samba PCs" - -#: ../templates/profedit/profilecreate.php:222 -msgid "Samba workstations are invalid!" -msgstr "Les machines de travail Samba ne sont pas valables !" - -#: ../lib/pdf.inc:286 ../lib/pdf.inc:524 -msgid "Samba-Host information page" -msgstr "Page d'informations de machines Samba" - -#: ../templates/profedit/profilegroup.php:151 -#: ../templates/profedit/profilehost.php:120 -#: ../templates/profedit/profileuser.php:428 -msgid "Save" -msgstr "Sauvegarder" - -#: ../templates/account/groupedit.php:432 -#: ../templates/account/groupedit.php:435 -#: ../templates/account/groupedit.php:436 -#: ../templates/account/groupedit.php:814 -#: ../templates/account/groupedit.php:818 -#: ../templates/account/hostedit.php:285 ../templates/account/hostedit.php:288 -#: ../templates/account/hostedit.php:289 ../templates/account/hostedit.php:447 -#: ../templates/account/hostedit.php:451 ../templates/account/useredit.php:716 -#: ../templates/account/useredit.php:719 ../templates/account/useredit.php:720 -#: ../templates/account/useredit.php:1546 -#: ../templates/account/useredit.php:1550 ../help/help.inc:266 -msgid "Save profile" -msgstr "Sauvegarder le profil" - -#: ../templates/config/confsave.php:199 ../templates/confwiz/o_daemon.php:60 -msgid "Saving PDF text failed!" -msgstr "La sauveagrde du texte PDF a échouée !" - -#: ../help/help.inc:86 -msgid "Script path" -msgstr "Chemin de script" - -#: ../templates/confwiz/o_daemon.php:54 -msgid "Script path is invalid!" -msgstr "Le chemin de script n'est pas valable !" - -#: ../help/help.inc:91 -msgid "Script server" -msgstr "Serveur de script" - -#: ../templates/config/confsave.php:187 ../templates/confwiz/o_daemon.php:57 -msgid "Script server is invalid!" -msgstr "Le serveur de script n'est pas valable !" - -#: ../templates/config/confmain.php:307 -msgid "Script settings" -msgstr "Paramètres de scripts" - -#: ../templates/config/confmain.php:339 -msgid "Security settings" -msgstr "Paramètres de sécurité" - -#: ../templates/lists/listdomains.php:101 -#: ../templates/lists/listgroups.php:161 ../templates/lists/listhosts.php:165 -#: ../templates/lists/listusers.php:203 -msgid "See README.openldap.txt to solve this problem." -msgstr "Voir README.openldap.txt pour résoudre ce problème" - -#: ../templates/help.php:90 -msgid "See also" -msgstr "Voir aussi" - -#: ../templates/lists/listgroups.php:280 ../templates/lists/listhosts.php:267 -#: ../templates/lists/listusers.php:322 -msgid "Select all" -msgstr "Tout sélectionner" - -#: ../templates/masscreate.php:420 -msgid "Select file:" -msgstr "Sélectionner un fichier:" - -#: ../templates/masscreate.php:412 ../help/help.inc:268 -msgid "Select group profile" -msgstr "Sélectionnez le profil de groupe" - -#: ../templates/masscreate.php:386 -msgid "Select settings" -msgstr "Sélectionnez les paramètres" - -#: ../templates/masscreate.php:389 -msgid "Select user profile:" -msgstr "Sélectionnez le profil utilisateur :" - -#: ../templates/account/useredit.php:808 -msgid "Select workstations" -msgstr "Sélectionnez les machines de travail" - -#: ../templates/account/useredit.php:881 -msgid "Selected groups" -msgstr "Groupes sélectionnés" - -#: ../templates/config/confsave.php:89 ../templates/confwiz/server.php:74 -msgid "Server Address is empty!" -msgstr "Le serveur d'adresse est vide !" - -#: ../templates/config/confmain.php:112 ../templates/confwiz/server.php:130 -#: ../help/help.inc:38 ../lib/config.inc:271 -msgid "Server address" -msgstr "Serveur d'adresse" - -#: ../templates/config/confmain.php:311 ../templates/confwiz/o_daemon.php:113 -#: ../lib/config.inc:291 -msgid "Server of external script" -msgstr "Serveur de scripte externe" - -#: ../templates/config/confmain.php:109 -msgid "Server settings" -msgstr "Paramètres de serveur" - -#: ../templates/profedit/profileuser.php:237 -msgid "Set Samba password" -msgstr "Fixez un mot de passe Samba" - -#: ../templates/profedit/profileuser.php:142 -msgid "Set Unix Password" -msgstr "Fixez le mot de passe Unix" - -#: ../templates/profedit/profileuser.php:247 ../help/help.inc:126 -msgid "Set Unix password for Samba" -msgstr "Fixez le mot de passe Unix pour Samba" - -#: ../templates/config/profmanage.php:256 ../help/help.inc:115 -msgid "Set profile password" -msgstr "Donnez le mot de passe profil" - -#: ../templates/profedit/profilecreate.php:83 -msgid "Shell is invalid!" -msgstr "" - -#: ../templates/masscreate.php:292 -msgid "Show Details." -msgstr "Montrer Détails." - -#: ../templates/masscreate.php:309 -msgid "Show Errors." -msgstr "Montrer Erreurs." - -#: ../templates/masscreate.php:297 -msgid "Show Infos." -msgstr "Montrer Informations." - -#: ../templates/masscreate.php:303 -msgid "Show Warnings." -msgstr "Montrer Avertissements." - -#: ../lib/pdf.inc:241 -msgid "Soft block" -msgstr "Bloc souple" - -#: ../templates/account/groupedit.php:759 -#: ../templates/account/useredit.php:1418 -#: ../templates/profedit/profilegroup.php:100 -#: ../templates/profedit/profileuser.php:377 ../help/help.inc:228 -msgid "Soft block limit" -msgstr "Limite de bloc souple" - -#: ../help/help.inc:229 -msgid "Soft block limit." -msgstr "Limite de bloc souple" - -#: ../lib/pdf.inc:242 -msgid "Soft inode" -msgstr "Inode souple" - -#: ../help/help.inc:240 -msgid "Soft inode (files) limit." -msgstr "Limite souple d'inodes (fichiers)." - -#: ../templates/account/groupedit.php:760 -#: ../templates/account/useredit.php:1419 -#: ../templates/profedit/profilegroup.php:102 -#: ../templates/profedit/profileuser.php:379 ../help/help.inc:239 -msgid "Soft inode limit" -msgstr "Limite d'inode souple" - -#: ../templates/help.php:65 -msgid "Sorry no help number submitted." -msgstr "Désolé, pas de numéro d'aide soumis." - -#: ../templates/help.php:75 -#, php-format -msgid "Sorry this help number ({bold}%d{endbold}) is not available." -msgstr "Désolé, le numéro d'aide: {bold}%d{endbold} n'est pas disponible" - -#: ../templates/account/useredit.php:493 -#: ../templates/account/useredit.php:1478 ../templates/masscreate.php:371 -#: ../templates/masscreate.php:572 ../templates/massdetail.php:144 -#: ../templates/massdetail.php:232 ../help/help.inc:252 ../help/help.inc:253 -#: ../lib/pdf.inc:93 -msgid "Street" -msgstr "Rue" - -#: ../templates/domain.php:176 ../templates/ou_edit.php:94 -#: ../templates/ou_edit.php:159 ../templates/ou_edit.php:224 -#: ../templates/ou_edit.php:289 ../templates/ou_edit.php:472 -#: ../templates/config/confmain.php:367 ../templates/config/profmanage.php:356 -#: ../templates/profedit/profiledelete.php:97 -#: ../templates/profedit/profiledelete.php:109 -#: ../templates/profedit/profiledelete.php:121 -#: ../templates/profedit/profilemain.php:261 -msgid "Submit" -msgstr "Soumettre" - -#: ../templates/account/groupedit.php:607 -#: ../templates/account/hostedit.php:417 -#: ../templates/account/useredit.php:1001 ../templates/domain.php:149 -#: ../templates/lists/listdomains.php:187 -#: ../templates/lists/listgroups.php:300 ../templates/lists/listhosts.php:288 -#: ../templates/lists/listusers.php:341 ../templates/confwiz/ldaptest.php:384 -#: ../help/help.inc:272 ../help/help.inc:274 ../help/help.inc:276 -#: ../help/help.inc:295 -msgid "Suffix" -msgstr "Suffixe" - -#: ../templates/account/useredit.php:238 ../templates/masscreate.php:283 -#: ../templates/masscreate.php:353 ../templates/masscreate.php:552 -#: ../templates/massdetail.php:81 ../templates/massdetail.php:202 -#: ../help/help.inc:191 ../lib/pdf.inc:85 -msgid "Surname" -msgstr "Nom de famille" - -#: ../templates/account/useredit.php:238 ../templates/masscreate.php:552 -#: ../templates/massdetail.php:81 -msgid "Surname contains invalid characters" -msgstr "Le nom de famille contient des caractères non valables" - -#: ../help/help.inc:192 -msgid "Surname of user. Only letters, - and spaces are allowed." -msgstr "" -"Le nom de famille de l'utilisateur. Seuls les lettres, - et les espaces sont " -"autorisés." - -#: ../templates/account/useredit.php:489 -#: ../templates/account/useredit.php:1496 ../templates/masscreate.php:365 -#: ../templates/masscreate.php:568 ../templates/massdetail.php:150 -#: ../templates/massdetail.php:250 ../help/help.inc:258 ../help/help.inc:259 -msgid "Telephone number" -msgstr "Numéro de téléphone" - -#: ../templates/config/confmain.php:329 ../help/help.inc:107 -#: ../lib/config.inc:293 -msgid "Text for user PDF" -msgstr "Texte pour le PDF utilisateur" - -#: ../help/help.inc:154 -msgid "The Primary Group the user should be member of." -msgstr "Le groupe primaire dont l'utilisateur doit etre membre." - -#: ../help/help.inc:168 -msgid "The Primary group the host should be member of." -msgstr "Le groupe primaire dont l'hote doit etre membre" - -#: ../help/help.inc:298 -msgid "The SID of your Samba server. Get it with \"net getlocalsid\"." -msgstr "Le SID de votre serveur Samba. Récuperez le avec \"net getlocalsid\"." - -#: ../help/help.inc:296 -msgid "The domain entry will be saved under this suffix." -msgstr "L'entrée domaine sera sauvegardée sous ce suffixe." - -#: ../templates/confwiz/o_lists.php:107 -msgid "The entries are separated by semicolons." -msgstr "Les entrées sont séparées par des point-virgules." - -#: ../templates/config/confsave.php:220 ../templates/confwiz/final.php:52 -msgid "The following settings were saved to profile:" -msgstr "Les paramètres suivants ont été sauvegardés dans le profile :" - -#: ../templates/initsuff.php:189 -msgid "" -"The following suffix(es) are missing in LDAP. LAM can create them for you." -msgstr "" -"Les suffixes suivants ne sont pas dans le LDAP. LAM peut les créer pour vous." - -#: ../templates/confwiz/ldaptest.php:200 -msgid "" -"The following suffix(es) are missing in LDAP. LAM will create them for you." -msgstr "" -"Les suffixes suivants ne sont pas dans le LDAP. LAM va les créer pour vous." - -#: ../help/help.inc:294 -msgid "The name of your Windows domain or workgroup." -msgstr "Le nom de votre domaine Windows ou groupe de travail." - -#: ../templates/config/confmain.php:92 -msgid "The password is invalid! Please try again." -msgstr "Le mot de passe n'est pas valable. Essayez encore, s'il vous plait." - -#: ../templates/masscreate.php:321 -msgid "There are some errors." -msgstr "Il y'a des erreurs." - -#: ../templates/masscreate.php:322 -msgid "There are some warnings." -msgstr "Il y'a des avertissements." - -#: ../help/help.inc:59 -msgid "" -"These are the minimum and maximum numbers to use for group IDs when creating " -"new group accounts. New group accounts will always get the highest number in " -"use plus one." -msgstr "" -"Ceux-ci sont les nombres minimum et maximum à utiliser pour les IDs de " -"groupes pour la création de comptes groupes nouveaux. Un nouveau groupe aura " -"toujours le nombre utilisé le plus élévé plus un." - -#: ../help/help.inc:61 -msgid "" -"These are the minimum and maximum numbers to use for machine IDs when " -"creating new accounts for Samba hosts. The range should be different from " -"that of users. New host accounts will always get the highest number in use " -"plus one." -msgstr "" -"Ceux-ci sont les nombres minimum et maximum à utiliser pour les IDs de " -"groupes pour la création de comptes groupes nouveaux. Un nouveau groupe aura " -"toujours le nombre utilisé le plus élévé plus un." - -#: ../help/help.inc:57 -msgid "" -"These are the minimum and maximum numbers to use for user IDs when creating " -"new user accounts. The range should be different from that of machines. New " -"user accounts will always get the highest number in use plus one." -msgstr "" -"Ceux-ci sont les nombres minimum et maximum à utiliser pour les IDs " -"d'utilisateurs pour la création de nouveaux comptes utilisateurs. Un nouveau " -"groupe aura toujours le nombre utilisé le plus élévé plus un." - -#: ../templates/domain.php:237 ../templates/confwiz/ldaptest.php:231 -msgid "This Samba 3 domain is already present!" -msgstr "Ce domaine Samba 3 est déjà présent !" - -#: ../templates/confwiz/o_lists.php:104 -msgid "" -"This can be a list of predefined attributes which have a description and are " -"translated or you can write your own description." -msgstr "" -"Ceci peut etre une liste prédéfinie d'attributs qui ont une description et " -"sont traduits ou pour lesquels vous pouvez écrire votre propre description." - -#: ../help/help.inc:116 -msgid "This changes the password of the selected profile." -msgstr "Ceci change le mot de passe du profil sélectionné." - -#: ../help/help.inc:118 -msgid "This changes the profile which is selected by default at login." -msgstr "Ceci change le profil qui sera sélectionné par défaut." - -#: ../templates/confwiz/o_lang.php:102 ../help/help.inc:85 -msgid "" -"This defines the language of the login window and sets this language as the " -"default language. Users can change the language at login." -msgstr "" -"Ceci définit la langue de la fenetre de connexion et rend cette langue la " -"langue par défaut. Les utilisateurs peuvent changer cette langue a la " -"connexion." - -#: ../lib/pdf.inc:509 ../lib/pdf.inc:538 ../lib/pdf.inc:569 -msgid "This document was automatically created by LDAP Account Manager" -msgstr "Ce document a été créé automatiquement par LDAP Account Manager." - -#: ../help/help.inc:78 -msgid "" -"This is a list of valid DN entries of all users that are allowed to login to " -"LDAP Account Manager. The user names have to be separated by semicolons." -msgstr "" -"Ceci est la liste des entrées DNs valables de tout les utilisateurs qui sont " -"autorisés à se connecter à LDAP Account Manager. Les noms d'utilisateurs " -"doivent etre séparés par des point-virgules." - -#: ../help/help.inc:87 -msgid "" -"This is the absolute path to an external script for setting quotas and " -"creating home directories." -msgstr "" -"Ceci est le chemin absolu vers un script externe pour le paramétrage des " -"quotas et la création des répertoires utilisateurs." - -#: ../help/help.inc:63 -msgid "" -"This is the list of attributes to show in the user/group/host list. The " -"entries can either be predefined values, \"#attribute\", or individual ones, " -"\"attribute:description\". Several entries are seperated by semicolons." -msgstr "" -"Ceci est la liste des attributs à afficher dans la liste utilisateurs/" -"groupes/machines. Les entrées peuvent etre des valeurs prédéfinies, " -"\"#attribut\" ou individuelles, \"#attribut:description\". Les entrées " -"multiples seront séparés par des point-virgules." - -#: ../help/help.inc:83 -msgid "" -"This is the number of rows to show in the user/group/host list. If more " -"entries are found the list will be split into several pages." -msgstr "" -"Ceci est le nombre de rangées à montrer dans la liste utilisateur/groupe/" -"machines. Si plus d'entrées sont trouvées, la liste sera divisée en " -"plusieurs pages." - -#: ../help/help.inc:39 -msgid "" -"This is the server address of your LDAP server. Use ldap:// for standard " -"LDAP connections and ldaps:// for encrypted (require server certificates) " -"connections. The port value is optional." -msgstr "" -"Ceci est l'adresse serveur du serveur LDAP. Utilisez ldap:// pour les " -"connexions LDAP standard et ldaps:// pour les connexions cryptés. Le numéro " -"de port est facultatif." - -#: ../templates/confwiz/o_daemon.php:107 -msgid "" -"This is the server and path where the lamdaemon.pl script is stored. LDAP " -"Account Manager will make a SSH connection to this server with username and " -"password provided at login." -msgstr "" -"Ceci est le server et chemin ou le script lamdaemon.pl est conservé. LDAP " -"Account Manager fera une connexion SSH é ce serveur avec le nom " -"d'utilisateur et le mot de passe fourni à la connexion." - -#: ../help/help.inc:92 -msgid "" -"This is the server where the lamdaemon script is stored. LDAP Account " -"Manager will make a SSH connection to this server with username and password " -"provided at login." -msgstr "" -"Ceci est le server ou le script lamdaemon.pl est conservé. LDAP Account " -"Manager fera une connexion SSH à ce serveur avec le nom d'utilisateur et le " -"mot de passe fourni à la connexion." - -#: ../help/help.inc:51 -msgid "" -"This is the suffix of the LDAP tree from where to search for user/group/host " -"entries. Only entries in these subtrees will be displayed in the user/group/" -"host list. When creating a new accont this will be the DN where it is saved." -msgstr "" -"Ceci est le suffixe de l'arbre LDAP dans lequel on cherchera les entrées " -"d'utilisateur/groupes/machines. Seules les entrées dans ces sous-arbres " -"seront affichées dans la liste utilisateurs/groupes/machines. Lors de la " -"création d'un nouveau compte, ceci sera le DN avec lequel il sera sauvegardé." - -#: ../help/help.inc:104 -msgid "" -"This is the time in minutes which LAM caches its LDAP searches. Shorter " -"times will stress LDAP more but decrease the possibility that changes are " -"not identified." -msgstr "" -"Ceci est le temps en minutes pendant lequel LAN mettra en cache ses " -"recherches LDAP. Des temps plus courts chargeront plus LDAP mais reduiront " -"la possibilité que les changements ne soient pas identifiés." - -#: ../templates/confwiz/o_daemon.php:127 ../help/help.inc:108 -msgid "This text will appear on top of every user PDF file." -msgstr "Ce texte apparaitra sur chaque fichier PDF utilisateur." - -#: ../templates/lists/userlink.php:54 -msgid "This user was not found!" -msgstr "Cet utilisateur est introuvable !" - -#: ../help/help.inc:290 -msgid "This will create a new organizational unit under the selected one." -msgstr "" -"Ceci va créer une nouvelle unité organisationnelle sous celle sélectionnée." - -#: ../help/help.inc:292 -msgid "" -"This will delete the selected organizational unit. The OU has to be empty." -msgstr "" -"Ceci va effacer l'unité organisationnelle selectionnée. L'OU doit etre vide." - -#: ../help/help.inc:114 -msgid "This will delete the selected profile." -msgstr "Ceci va effacer le profil sélectionné." - -#: ../help/help.inc:267 -msgid "" -"This will make a profile of the current account. The saved values are the " -"same as in the profile editor. Profile names may contain the letters a-z, 0-" -"9 and -_." -msgstr "" -"Ceci va créer un profil du compte courant. Les valeurs sauvegardées sont les " -"mêmes que dans l'editeur de profil. Les noms de profil peuvent contenir les " -"lettres a-z, 0-9 et -_." - -#: ../templates/account/useredit.php:495 -#: ../templates/account/useredit.php:1466 ../templates/masscreate.php:361 -#: ../templates/masscreate.php:574 ../templates/massdetail.php:140 -#: ../templates/massdetail.php:220 ../help/help.inc:248 ../lib/pdf.inc:81 -msgid "Title" -msgstr "Titre" - -#: ../help/help.inc:249 -msgid "Title of user, Mr., Ms., ..." -msgstr "Titre d'utilisateur (M., Mme, Dr., etc.)." - -#: ../templates/confwiz/server.php:144 -msgid "" -"To connect to your LDAP server please enter now the DN of your " -"administrative user and the password." -msgstr "" -"Pour vous connecter sur votre serveur LDAP, entrez maintenant le DN de votre " -"utilisateur administrateur et son mot de passe." - -#: ../help/help.inc:152 -msgid "" -"To disable login use /bin/false. List of shells is read from lam/config/" -"shells" -msgstr "" -"Pour désactiver les logins, utilisez /bin/false. La liste des shells est lue " -"de lam/config/shells." - -#: ../templates/lists/listusers.php:355 -msgid "Translate GID number to group name" -msgstr "Traduisez le nombre GID dans un nom de groupe" - -#: ../lib/pdf.inc:305 ../lib/pdf.inc:348 -msgid "UID" -msgstr "UID" - -#: ../templates/account/hostedit.php:370 ../templates/account/useredit.php:948 -#: ../help/help.inc:56 ../help/help.inc:141 ../help/help.inc:164 -#: ../lib/ldap.inc:194 ../lib/ldap.inc:217 -msgid "UID number" -msgstr "Numéro UID" - -#: ../templates/account/useredit.php:556 -msgid "" -"UID-number has changed. You have to run the following command as root in " -"order to change existing file-permissions:" -msgstr "" -"Le numéro UID à changé. Vous devez lancer la commande suivante en tant que " -"root pour changer les droits fichiers existants: " - -#: ../help/help.inc:220 -#, php-format -msgid "" -"UNC-path (\\\\server\\share) of homedirectory. $%s and $%s are replaced with " -"user- and groupname." -msgstr "" -"Chemin UNC (\\\\Serveur\\partage) des comptes utilisateurs. $%s et $%s " -"seront remplacés avec les noms utilisateurs et groupe." - -#: ../templates/ou_edit.php:55 ../templates/ou_edit.php:120 -#: ../templates/ou_edit.php:185 ../templates/ou_edit.php:250 -msgid "Unable to create new OU!" -msgstr "Impossible de créer un nouveau OU !" - -#: ../templates/config/profmanage.php:77 ../templates/confwiz/start.php:63 -msgid "Unable to create new profile!" -msgstr "Impossible de créer un nouveau profil !" - -#: ../templates/ou_edit.php:72 ../templates/ou_edit.php:137 -#: ../templates/ou_edit.php:202 ../templates/ou_edit.php:267 -msgid "Unable to delete OU!" -msgstr "Impossible de créer un OU !" - -#: ../templates/domain.php:304 -msgid "Unable to delete domain!" -msgstr "" - -#: ../templates/config/profmanage.php:99 -#: ../templates/profedit/profiledelete.php:53 -#: ../templates/profedit/profiledelete.php:60 -#: ../templates/profedit/profiledelete.php:67 -msgid "Unable to delete profile!" -msgstr "Impossible d'effacer un profil !" - -#: ../templates/login.php:100 ../templates/config/confmain.php:296 -#: ../templates/confwiz/o_lang.php:134 -msgid "" -"Unable to load available languages. Setting English as default language. For " -"further instructions please contact the Admin of this site." -msgstr "" -"Impossible de charger des langues supplémentaires. L'Anglais sera utilisé en " -"langue par défaut. Pour plus d'instructions, contactez l'administrateur de " -"votre site." - -#: ../lib/config.inc:184 ../lib/config.inc:735 -msgid "Unable to load configuration!" -msgstr "Impossible de charger la configuration !" - -#: ../lib/profiles.inc:252 ../lib/profiles.inc:256 ../lib/profiles.inc:319 -#: ../lib/profiles.inc:323 ../lib/profiles.inc:375 ../lib/profiles.inc:379 -msgid "Unable to load profile!" -msgstr "Impossible de charger le profil !" - -#: ../templates/profedit/profilecreate.php:282 -#: ../templates/profedit/profilecreate.php:347 -#: ../templates/profedit/profilecreate.php:385 ../lib/profiles.inc:451 -#: ../lib/profiles.inc:486 ../lib/profiles.inc:514 -msgid "Unable to save profile!" -msgstr "Impossible de sauvegarder le profil !" - -#: ../templates/account/groupedit.php:531 -#: ../templates/account/groupedit.php:588 -#: ../templates/account/groupedit.php:655 -#: ../templates/account/groupedit.php:751 -#: ../templates/account/groupedit.php:808 -#: ../templates/account/useredit.php:802 ../templates/account/useredit.php:872 -#: ../templates/account/useredit.php:934 -#: ../templates/account/useredit.php:1055 -#: ../templates/account/useredit.php:1172 -#: ../templates/account/useredit.php:1411 -#: ../templates/account/useredit.php:1460 -#: ../templates/account/useredit.php:1540 ../templates/massdetail.php:72 -#: ../templates/massdetail.php:275 -msgid "Undo" -msgstr "Annuler" - -#: ../templates/account/hostedit.php:437 -msgid "Undo changes" -msgstr "Annuler les modifications" - -#: ../templates/account/useredit.php:791 ../templates/account/useredit.php:861 -#: ../templates/account/useredit.php:923 -#: ../templates/account/useredit.php:1044 -#: ../templates/account/useredit.php:1161 -#: ../templates/account/useredit.php:1401 -#: ../templates/account/useredit.php:1449 -#: ../templates/account/useredit.php:1529 -msgid "Unix" -msgstr "Unix" - -#: ../lib/pdf.inc:124 -msgid "Unix User Settings" -msgstr "Paramètres Utilisateur Unix" - -#: ../templates/profedit/profileuser.php:88 -msgid "Unix account" -msgstr "Compte Unix" - -#: ../templates/confwiz/ldaptest.php:483 -msgid "Unix group name" -msgstr "Nom de groupe Unix" - -#: ../lib/pdf.inc:132 ../lib/pdf.inc:141 -msgid "Unix password" -msgstr "Mot de passe Unix" - -#: ../lib/pdf.inc:134 -msgid "Unix password disabled!" -msgstr "Mot de passe Unix desactivé !" - -#: ../templates/account/useredit.php:1059 -msgid "Unix properties" -msgstr "Propriétés Unix" - -#: ../templates/account/useredit.php:354 -#: ../templates/account/useredit.php:1127 -#: ../templates/profedit/profileuser.php:208 ../help/help.inc:280 -msgid "Unix workstations" -msgstr "Machines de travail Unix" - -#: ../templates/profedit/profilecreate.php:131 -msgid "Unix workstations are invalid!" -msgstr "Les machines de travail Unix ne sont pas valables !" - -#: ../templates/account/useredit.php:354 -msgid "Unix workstations is invalid." -msgstr "Les machines de travail Unix n'est pas valable." - -#: ../templates/confwiz/o_daemon.php:108 ../help/help.inc:89 -#: ../help/help.inc:94 -msgid "" -"Use it at your own risk and read the documentation for lamdaemon before you " -"use it!" -msgstr "" -"Utilisez le à vos risques et périls et lisez la documentation pour lamdaemon " -"avant de l'utiliser !" - -#: ../templates/account/useredit.php:1073 -#: ../templates/account/useredit.php:1199 ../help/help.inc:195 -msgid "Use no password" -msgstr "N'utilisez pas de mot de passe !" - -#: ../templates/account/useredit.php:1193 ../help/help.inc:199 -msgid "Use unix password" -msgstr "Utilisez un mot de passe unix" - -#: ../templates/account/groupedit.php:758 -#: ../templates/account/useredit.php:1417 ../help/help.inc:226 -msgid "Used blocks" -msgstr "Blocs utilisés" - -#: ../help/help.inc:227 -msgid "Used blocks. 1000 blocks are usually 1MB" -msgstr "Blocs utilisés. 1000 blocs representent d'habitude 1 MB." - -#: ../help/help.inc:306 -msgid "Used for calculating RIDs from UID/GID. Do not change if unsure." -msgstr "" -"Utilisé pour calculer les RIDs à partir des UID/GID. Ne changez rien sans " -"etre sur de ce que vous faites." - -#: ../templates/account/groupedit.php:760 -#: ../templates/account/useredit.php:1419 ../help/help.inc:237 -msgid "Used inodes" -msgstr "Inodes utilisés" - -#: ../help/help.inc:238 -msgid "Used inodes (files)" -msgstr "Inodes utilisés (fichiers)" - -#: ../templates/account/useredit.php:1571 -#, php-format -msgid "User %s has been created." -msgstr "Utilisateurs %s sont créés." - -#: ../templates/account/useredit.php:1568 -#, php-format -msgid "User %s has been modified." -msgstr "Utilisateur %s à été modifié" - -#: ../lib/ldap.inc:193 -msgid "User ID" -msgstr "ID Utilisateur" - -#: ../templates/profedit/profilemain.php:128 -msgid "User Profiles" -msgstr "Profils Utilisateurs" - -#: ../templates/account/useredit.php:1211 ../help/help.inc:130 -#: ../help/help.inc:203 -msgid "User can change password" -msgstr "L'utilisateur peut changer de mot de passe." - -#: ../help/help.inc:150 -msgid "User description. If left empty sur- and give name will be used." -msgstr "Description de l'utilisateur. Si vide, des noms vide seront utilisés." - -#: ../lib/pdf.inc:39 ../lib/pdf.inc:496 -msgid "User information page" -msgstr "Page d'information utilisateur" - -#: ../templates/initsuff.php:144 ../templates/initsuff.php:157 -#: ../templates/initsuff.php:163 ../templates/initsuff.php:172 -#: ../templates/masscreate.php:263 -msgid "User list" -msgstr "Liste d'utilisateur" - -#: ../templates/config/confsave.php:154 ../templates/confwiz/o_lists.php:54 -msgid "User list attributes are invalid!" -msgstr "Les attributs de la liste d'utilisateurs ne sont pas valables !" - -#: ../templates/account/useredit.php:1230 ../help/help.inc:205 -msgid "User must change password" -msgstr "L'utilisateur doit changer de mot de passe" - -#: ../templates/masscreate.php:283 -msgid "User name" -msgstr "Nom d'utilisateur" - -#: ../lib/pdf.inc:236 -msgid "User quota(s)" -msgstr "Quota(s) d'utilisateur" - -#: ../templates/masscreate.php:396 -msgid "User suffix" -msgstr "Suffixe utilisateur" - -#: ../templates/lists/listusers.php:411 -msgid "User(s) found" -msgstr "Utilisateur(s) trouvé(s)" - -#: ../help/help.inc:50 -msgid "User/Group/Host suffix" -msgstr "Suffixe Utilisateur/Groupe/Machine" - -#: ../templates/config/confmain.php:123 ../templates/confwiz/server2.php:131 -#: ../lib/config.inc:275 -msgid "UserSuffix" -msgstr "Suffixe Utilisateur" - -#: ../templates/config/confsave.php:104 ../templates/confwiz/server2.php:59 -msgid "UserSuffix is invalid!" -msgstr "Suffixe Utilisateur n'est pas valable !" - -#: ../templates/account/useredit.php:224 ../templates/account/useredit.php:246 -#: ../templates/account/useredit.php:291 ../templates/account/useredit.php:942 -#: ../templates/login.php:148 ../templates/masscreate.php:357 -#: ../templates/masscreate.php:545 ../templates/masscreate.php:561 -#: ../templates/massdetail.php:88 ../templates/massdetail.php:136 -#: ../templates/massdetail.php:214 ../help/help.inc:139 ../lib/ldap.inc:196 -#: ../lib/pdf.inc:127 ../lib/pdf.inc:181 -msgid "Username" -msgstr "Nom d'utilisateur" - -#: ../templates/account/useredit.php:246 ../templates/masscreate.php:561 -#: ../templates/massdetail.php:88 -msgid "" -"Username contains invalid characters. Valid characters are: a-z, A-Z, 0-9 " -"and .-_ !" -msgstr "" -"Nom d'utilisateur contient des caractères invalides. Les caractères valides " -"sont: a-z, A-Z, 0-9 et .-_ !" - -#: ../templates/account/useredit.php:291 ../templates/masscreate.php:545 -#: ../templates/massdetail.php:136 -msgid "Username in use. Selected next free username." -msgstr "Nom d'utilisateur déjà utilisé. Nom disponible suivant sélectionné." - -#: ../help/help.inc:140 -msgid "" -"Username of the user who should be created. Valid characters are: a-z,0-9, .-" -"_. Lam does not allow a number as first character because useradd also does " -"not allow it. Lam does not allow capital letters A-Z because it can cause " -"several problems. If username is already used username will be expanded with " -"a number. The next free number will be used. Warning: Older systems have " -"problems with usernames longer than 8 characters. You can not log in to " -"Windows if username is longer than 16 characters." -msgstr "" -"Nom d'utilisateur de l'utilisateur qui doit étre créé. Les caractères " -"valides sont: a-z, 0-9 et .-_. LAM n'autorise pas de nombre en premier " -"caractère car useradd ne l'autorise pas non plus. LAM n'autorise pas les " -"majuscules car cela peut poser plusieurs problèmes. Si le nom d'utilisateur " -"est déjà utilisé, il sera développé avec un chiffre. Le prochain chiffre " -"disponible sera utilisé. Avertissement: Les vieux systèmes auront des " -"problèmes avec les nom d'utilisateur de plus de 8 caractères. Vous ne " -"pourrez pas vous connecter sur Windows si le nom d'utilisateur est plus long " -"que 16 caractères." - -#: ../templates/main_header.php:73 ../templates/main_header.php:78 -#: ../templates/ou_edit.php:339 ../templates/confwiz/o_lists.php:112 -#: ../help/help.inc:69 -msgid "Users" -msgstr "Utilisateurs" - -#: ../help/help.inc:285 -msgid "Users also being member of the current group." -msgstr "Utilisateurs déjà membres du groupe actuel." - -#: ../help/help.inc:182 -msgid "Users wich are also members of group." -msgstr "Utilisateurs qui sont déjà membres du groupe" - -#: ../templates/confwiz/o_lang.php:145 ../help/help.inc:77 -msgid "Valid users" -msgstr "Utilisateurs valables" - -#: ../templates/account/groupedit.php:619 -#: ../templates/account/hostedit.php:428 -#: ../templates/account/useredit.php:1013 -#: ../templates/account/useredit.php:1134 -msgid "Values with * are required" -msgstr "Les valeurs avec * ne sont pas obligatoires" - -#: ../templates/masscreate.php:284 -msgid "Warnings" -msgstr "Avertissements" - -#: ../templates/masscreate.php:206 ../templates/masscreate.php:236 -#, php-format -msgid "Was unable to create %s." -msgstr "Impossible de créer %s." - -#: ../templates/confwiz/start.php:107 -msgid "Welcome to LAM Configuration wizard." -msgstr "Bienvenue à l'assistant de configuration LAM." - -#: ../help/help.inc:49 -msgid "" -"When using ldaps:// be sure to use exactly the same IP/domain name as in " -"your certificate!" -msgstr "" -"Lors de l'utilisation de ldaps:// vérifiez que vous utilisez la même " -"adresse IP/nom de domaine que dans le certificat !" - -#: ../templates/confwiz/server.php:173 -msgid "Which Samba version do you use?" -msgstr "Quel version de Samba utilisez vous ?" - -#: ../lib/pdf.inc:226 -msgid "Windows Domain" -msgstr "Domaine Windows" - -#: ../lib/pdf.inc:178 -msgid "Windows User Settings" -msgstr "Paramètres Utilisateur Windows" - -#: ../help/help.inc:184 -msgid "Windows clients will show display name as group description." -msgstr "" -"Les clients windows auront le nom d'affichage en tant que description de " -"groupe." - -#: ../help/help.inc:270 -msgid "Windows domain" -msgstr "Domaine Windows" - -#: ../help/help.inc:271 -msgid "Windows domain of host." -msgstr "Domaine windows de la machine." - -#: ../templates/confwiz/ldaptest.php:482 -msgid "Windows group name" -msgstr "Nom de groupe Windows" - -#: ../templates/account/groupedit.php:665 -#: ../templates/account/useredit.php:1282 ../help/help.inc:278 -msgid "Windows groupname" -msgstr "Nom de groupe Windows" - -#: ../lib/pdf.inc:222 -msgid "Windows home directory" -msgstr "Répertoire utilisateur Windows" - -#: ../lib/pdf.inc:186 ../lib/pdf.inc:192 ../lib/pdf.inc:201 -msgid "Windows password" -msgstr "Mot de passe Windows" - -#: ../lib/pdf.inc:188 -msgid "Windows password disabled!" -msgstr "Mot de passe desactivé !" - -#: ../lib/pdf.inc:194 -msgid "Windows password set to unix password." -msgstr "Mot de passe unix utilisé en tant que mot de passe Windows." - -#: ../help/help.inc:283 -msgid "Windows-Domain of group." -msgstr "Domaine Windows du groupe." - -#: ../help/help.inc:223 -msgid "Windows-Domain of user." -msgstr "Domaine Windows de l'utilisateur." - -#: ../templates/profedit/profileuser.php:335 -msgid "Workstations" -msgstr "Machines de travail" - -#: ../templates/login.php:321 ../templates/confwiz/server.php:70 -msgid "Wrong Password/Username combination. Try again." -msgstr "Mauvaise combinaison mot de passe/nom d'utilisateur donnée. Réessayez." - -#: ../templates/profedit/profiledelete.php:73 -#: ../templates/profedit/profiledelete.php:130 -msgid "Wrong or missing type!" -msgstr "Mauvais type ou type vide !" - -#: ../templates/profedit/profilecreate.php:171 -msgid "Wrong parameter for Samba option: Account does not expire!" -msgstr "Mauvais paramètre pour l'option Samba: Le compte n'expire pas !" - -#: ../templates/profedit/profilecreate.php:179 -msgid "Wrong parameter for Samba option: Account is disabled!" -msgstr "Mauvais paramètre pour l'option Samba: Le compte est desactivé !" - -#: ../templates/profedit/profilecreate.php:155 -msgid "Wrong parameter for Samba option: Set Samba Password!" -msgstr "Mauvais paramètre pour l'option Samba: donnez un mot de passe Samba !" - -#: ../templates/profedit/profilecreate.php:163 -msgid "Wrong parameter for Samba option: Set Unix Password for Samba!" -msgstr "" -"Mauvais paramètre pour l'option Samba: Mettez un mot de passe Unix pour " -"Samba !" - -#: ../templates/profedit/profilecreate.php:187 -msgid "Wrong parameter for Samba option: home drive!" -msgstr "Mauvais paramètre pour l'option Samba: lecteur maison" - -#: ../templates/profedit/profilecreate.php:139 -msgid "Wrong parameter for Unix account activation!" -msgstr "Mauvais paramètre pour l'activation de compte Unix !" - -#: ../templates/profedit/profilecreate.php:123 -msgid "Wrong parameter for Unix password expiry!" -msgstr "Mauvais paramètre pour l'expiration du mot de passe Unix !" - -#: ../templates/profedit/profilecreate.php:99 -msgid "Wrong parameter for Unix password warning!" -msgstr "Mauvais paramètre pour l'avertissment du mot de passe Unix !" - -#: ../templates/profedit/profilecreate.php:91 -msgid "Wrong parameter for login disable!" -msgstr "Mauvais paramètre pour la desactivation de login !" - -#: ../templates/account/groupedit.php:436 -#: ../templates/account/hostedit.php:289 ../templates/account/useredit.php:720 -msgid "Wrong profilename given." -msgstr "Mauvais nom de profil donné." - -#: ../templates/account/groupedit.php:158 -#: ../templates/account/hostedit.php:120 ../templates/account/useredit.php:224 -msgid "" -"You are using a capital letters. This can cause problems because not all " -"programs are case-sensitive." -msgstr "" -"Vous utilisez une lettre majuscule. Ceci peut poser des problèmes parce que " -"tous les messages ne sont pas sensibles a la casse." - -#: ../help/help.inc:186 -msgid "" -"You can select a previous defined profile here. This will set all fields to " -"the profile values." -msgstr "" -"Vous pouvez sélectionner un profil défini précédemment ici. Ceci mettra tous " -"les champs aux valeurs du profil." - -#: ../templates/logout.php:62 -msgid "You have been logged off from LDAP Account Manager." -msgstr "Vous avez été déconnecté de LDAP Account Manager." - -#: ../templates/login.php:192 -msgid "Your Language" -msgstr "Votre langue" - -#: ../templates/delete.php:200 -msgid "deleted" -msgstr "effacé" - -#: ../templates/account/useredit.php:492 -#: ../templates/account/useredit.php:1514 ../templates/masscreate.php:363 -#: ../templates/masscreate.php:571 ../templates/massdetail.php:156 -#: ../templates/massdetail.php:268 ../help/help.inc:264 ../help/help.inc:265 -msgid "eMail address" -msgstr "Adresse e-mail" - -#: ../lib/account.inc:276 ../lib/account.inc:278 -msgid "hours" -msgstr "heures" - -#: ../help/help.inc:43 -msgid "" -"ldap://localhost:389 connects to localhost using a standard LDAP connection " -"on port 389" -msgstr "" -"ldap://localhost:389 fait une connexion sur localhost en utilisant une " -"connexion LDAP standard sur le port 389" - -#: ../help/help.inc:45 -msgid "" -"ldaps://141.40.146.133 connects to 141.40.146.133 using an encrypted LDAP " -"connection." -msgstr "" -"ldaps://141.40.146.133 fait une connexion sur 141.40.146.133 en utilisant " -"une connexion LDAP cryptée." - -#: ../templates/profedit/profileuser.php:144 -#: ../templates/profedit/profileuser.php:145 -#: ../templates/profedit/profileuser.php:220 -#: ../templates/profedit/profileuser.php:221 -#: ../templates/profedit/profileuser.php:239 -#: ../templates/profedit/profileuser.php:240 -#: ../templates/profedit/profileuser.php:249 -#: ../templates/profedit/profileuser.php:250 -#: ../templates/profedit/profileuser.php:259 -#: ../templates/profedit/profileuser.php:260 -#: ../templates/profedit/profileuser.php:269 -#: ../templates/profedit/profileuser.php:270 -msgid "no" -msgstr "non" - -#: ../templates/masscreate.php:279 -msgid "not found!" -msgstr "pas trouvé !" - -#: ../help/help.inc:55 -msgid "" -"ou=People,dc=yourcompany,dc=com will read and store all accounts in this " -"subtree." -msgstr "" -"ou=People,dc=yourcompany,dc=com lira et mettra vos comptes dans ce sous-" -"arbre." - -#: ../templates/config/confmain.php:377 -msgid "required" -msgstr "requis" - -#: ../templates/config/confmain.php:378 -msgid "required for Samba 3 schema" -msgstr "requis pour un schema Samba 3" - -#: ../templates/masscreate.php:283 -msgid "row" -msgstr "rangée" - -#: ../lib/profiles.inc:466 -msgid "saveGroupProfile: account has wrong type!" -msgstr "saveGroupProfile: le compte a le mauvais type !" - -#: ../lib/profiles.inc:501 -msgid "saveHostProfile: account has wrong type!" -msgstr "saveHostProfile: le compte a le mauvais type !" - -#: ../lib/profiles.inc:393 -msgid "saveUserProfile: account has wrong type!" -msgstr "saveUserProfile: le compte a le mauvais type !" - -#: ../templates/profedit/profileuser.php:144 -#: ../templates/profedit/profileuser.php:145 -#: ../templates/profedit/profileuser.php:220 -#: ../templates/profedit/profileuser.php:221 -#: ../templates/profedit/profileuser.php:239 -#: ../templates/profedit/profileuser.php:240 -#: ../templates/profedit/profileuser.php:249 -#: ../templates/profedit/profileuser.php:250 -#: ../templates/profedit/profileuser.php:259 -#: ../templates/profedit/profileuser.php:260 -#: ../templates/profedit/profileuser.php:269 -#: ../templates/profedit/profileuser.php:270 -msgid "yes" -msgstr "oui" diff --git a/lam/locale/hu_HU/LC_MESSAGES/messages.mo b/lam/locale/hu_HU/LC_MESSAGES/messages.mo deleted file mode 100644 index 1c2beb8a..00000000 Binary files a/lam/locale/hu_HU/LC_MESSAGES/messages.mo and /dev/null differ diff --git a/lam/locale/hu_HU/LC_MESSAGES/messages.po b/lam/locale/hu_HU/LC_MESSAGES/messages.po deleted file mode 100644 index 42b96c43..00000000 --- a/lam/locale/hu_HU/LC_MESSAGES/messages.po +++ /dev/null @@ -1,4181 +0,0 @@ -# $Id: messages.po,v 1.2 2004/10/01 12:29:59 gruberroland Exp $ -# -# -# LDAP Account Manager -# -# Ezt a verziot forditotta: Kakasy Gergely -# Utolso modositas: 2004. jan. 25. -# -msgid "" -msgstr "" -"Project-Id-Version: LAM 0.4.2\n" -"POT-Creation-Date: 2004-01-14 17:45+0200\n" -"PO-Revision-Date: 2004-03-17 21:23+0100\n" -"Last-Translator: Lohner Zoltan \n" -"Language-Team: Hungarian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../help/help.inc:147 -#, php-format -msgid "$%s and $%s are replaced with username or primary groupname." -msgstr "A $%s és a $%s a felhasználó-és csoportnévvel helyettesítődnek." - -#: ../lib/account.inc:722 -#: ../lib/account.inc:727 -#, php-format -msgid "%s already exists!" -msgstr "%s már létezik!" - -#: ../templates/confwiz/ldaptest.php:345 -#: ../templates/confwiz/ldaptest.php:353 -#: ../templates/confwiz/ldaptest.php:361 -msgid "(optional)" -msgstr "(nem kötelező)" - -#: ../templates/ou_edit.php:95 -#: ../templates/ou_edit.php:160 -#: ../templates/ou_edit.php:225 -#: ../templates/ou_edit.php:290 -#: ../templates/config/confmain.php:369 -#: ../templates/profedit/profiledelete.php:98 -#: ../templates/profedit/profiledelete.php:110 -#: ../templates/profedit/profiledelete.php:122 -#: ../templates/profedit/profilegroup.php:153 -#: ../templates/profedit/profilehost.php:122 -#: ../templates/profedit/profilemain.php:262 -#: ../templates/profedit/profileuser.php:430 -msgid "Abort" -msgstr "Megszakítás" - -#: ../templates/account/useredit.php:1118 -#: ../help/help.inc:197 -msgid "Account deactivated" -msgstr "Azonosító letiltva" - -#: ../help/help.inc:180 -msgid "Account expire date. Format: DD-MM-YYYY" -msgstr "Azonosító lejáratának dátuma. Formátum: NN-HH-ÉÉÉÉ" - -#: ../templates/profedit/profileuser.php:180 -msgid "Account expires on" -msgstr "Az azonosító lejár" - -#: ../templates/account/useredit.php:1249 -#: ../templates/profedit/profileuser.php:218 -#: ../templates/profedit/profileuser.php:267 -#: ../help/help.inc:207 -msgid "Account is deactivated" -msgstr "Azonosító letiltva" - -#: ../templates/config/profmanage.php:155 -#: ../help/help.inc:109 -msgid "Add profile" -msgstr "Profil hozzáadása" - -#: ../templates/account/hostedit.php:131 -msgid "Added $ to hostname." -msgstr "A $ a gazdaállomás nevéhez lett adva." - -#: ../templates/account/groupedit.php:535 -msgid "Additional group members" -msgstr "A csoport további tagjai" - -#: ../templates/account/useredit.php:878 -#: ../templates/account/useredit.php:977 -#: ../templates/profedit/profileuser.php:105 -#: ../help/help.inc:144 -msgid "Additional groups" -msgstr "További csoportok" - -#: ../templates/domain.php:136 -#: ../templates/confwiz/ldaptest.php:372 -#: ../help/help.inc:305 -msgid "Algorithmic RID Base" -msgstr "Algoritmikus RID alap" - -#: ../templates/domain.php:242 -#: ../templates/confwiz/ldaptest.php:252 -msgid "Algorithmic RID base is not a number!" -msgstr "Az algoritmikus RID alap nem szám!" - -#: ../templates/masscreate.php:261 -msgid "All Users have been created" -msgstr "Összes felhasználó létrehozva" - -#: ../templates/massdetail.php:72 -msgid "All changes were reseted" -msgstr "Minden változatás visszavonva" - -#: ../templates/initsuff.php:149 -msgid "All changes were successful." -msgstr "Minden változtatás sikeres volt." - -#: ../lib/ldap.inc:197 -msgid "Allowed hosts" -msgstr "Engedélyezett gazdagépek" - -#: ../templates/account/useredit.php:811 -msgid "Allowed workstations" -msgstr "Engedélyezett munkaállomások" - -#: ../templates/massdetail.php:274 -#: ../templates/lists/listusers.php:360 -msgid "Apply" -msgstr "Próba" - -#: ../templates/config/confmain.php:237 -#: ../templates/confwiz/o_lists.php:131 -#: ../lib/config.inc:286 -msgid "Attributes in Group List" -msgstr "Attribútumok a csoport listában" - -#: ../templates/config/confmain.php:242 -#: ../templates/confwiz/o_lists.php:136 -#: ../lib/config.inc:287 -msgid "Attributes in Host List" -msgstr "Attribútumok a gazdaállomások listájában" - -#: ../templates/config/confmain.php:232 -#: ../templates/confwiz/o_lists.php:126 -#: ../lib/config.inc:285 -msgid "Attributes in User List" -msgstr "Attribútumok a felhasználó listában" - -#: ../templates/confwiz/server2.php:225 -msgid "Attributes in list views" -msgstr "Attribútumok a listázásban" - -#: ../templates/account/useredit.php:896 -msgid "Available groups" -msgstr "Regisztrált csoportok" - -#: ../templates/account/groupedit.php:553 -msgid "Available users" -msgstr "Regisztrált felhasználók" - -#: ../templates/account/useredit.php:826 -msgid "Available workstations" -msgstr "Regisztrált munkaállomások" - -#: ../templates/account/useredit.php:835 -#: ../templates/account/useredit.php:908 -#: ../templates/masscreate.php:330 -#: ../templates/confwiz/server2.php:235 -msgid "Back" -msgstr "Vissza" - -#: ../templates/logout.php:63 -#: ../templates/config/conflogin.php:143 -#: ../templates/config/confsave.php:222 -#: ../templates/confwiz/final.php:55 -msgid "Back to Login" -msgstr "Vissza a bejelentkezéshez" - -#: ../templates/ou_edit.php:309 -#: ../templates/ou_edit.php:313 -msgid "Back to OU-Editor" -msgstr "Vissza az OU szerkesztőbe" - -#: ../templates/profedit/profilecreate.php:65 -#: ../templates/profedit/profilecreate.php:76 -#: ../templates/profedit/profilecreate.php:84 -#: ../templates/profedit/profilecreate.php:92 -#: ../templates/profedit/profilecreate.php:100 -#: ../templates/profedit/profilecreate.php:108 -#: ../templates/profedit/profilecreate.php:116 -#: ../templates/profedit/profilecreate.php:124 -#: ../templates/profedit/profilecreate.php:132 -#: ../templates/profedit/profilecreate.php:140 -#: ../templates/profedit/profilecreate.php:148 -#: ../templates/profedit/profilecreate.php:156 -#: ../templates/profedit/profilecreate.php:164 -#: ../templates/profedit/profilecreate.php:172 -#: ../templates/profedit/profilecreate.php:180 -#: ../templates/profedit/profilecreate.php:188 -#: ../templates/profedit/profilecreate.php:197 -#: ../templates/profedit/profilecreate.php:206 -#: ../templates/profedit/profilecreate.php:215 -#: ../templates/profedit/profilecreate.php:223 -#: ../templates/profedit/profilecreate.php:231 -#: ../templates/profedit/profilecreate.php:247 -#: ../templates/profedit/profilecreate.php:252 -#: ../templates/profedit/profilecreate.php:257 -#: ../templates/profedit/profilecreate.php:262 -#: ../templates/profedit/profilecreate.php:274 -#: ../templates/profedit/profilecreate.php:284 -#: ../templates/profedit/profilecreate.php:297 -#: ../templates/profedit/profilecreate.php:312 -#: ../templates/profedit/profilecreate.php:317 -#: ../templates/profedit/profilecreate.php:322 -#: ../templates/profedit/profilecreate.php:327 -#: ../templates/profedit/profilecreate.php:339 -#: ../templates/profedit/profilecreate.php:349 -#: ../templates/profedit/profilecreate.php:362 -#: ../templates/profedit/profilecreate.php:370 -#: ../templates/profedit/profilecreate.php:378 -#: ../templates/profedit/profilecreate.php:385 -#: ../templates/profedit/profiledelete.php:75 -#: ../templates/profedit/profiledelete.php:83 -#: ../templates/profedit/profiledelete.php:131 -msgid "Back to Profile Editor" -msgstr "Vissza a profilszerkesztőbe" - -#: ../templates/domain.php:280 -#: ../templates/domain.php:307 -msgid "Back to domain list" -msgstr "Vissza a tartománylistához" - -#: ../templates/account/groupedit.php:857 -#: ../templates/delete.php:206 -#: ../templates/delete.php:242 -#: ../templates/lists/userlink.php:56 -msgid "Back to group list" -msgstr "Vissza a csoportlistához" - -#: ../templates/account/hostedit.php:471 -#: ../templates/delete.php:209 -#: ../templates/delete.php:234 -msgid "Back to host list" -msgstr "Vissza a gazdaállomáslistához" - -#: ../templates/account/hostedit.php:100 -msgid "Back to hostlist" -msgstr "Vissza a gazdaállomáslistához" - -#: ../templates/confwiz/o_daemon.php:79 -msgid "Back to lamdaemon and PDF settings" -msgstr "Vissza a lamdaemon és PDF beállításokhoz" - -#: ../templates/confwiz/o_lang.php:76 -msgid "Back to language and admin settings." -msgstr "Vissza a nyelvi és adminisztrátori beállításokhoz" - -#: ../templates/confwiz/server2.php:88 -#: ../templates/confwiz/server.php:85 -msgid "Back to last page" -msgstr "Vissza az előző oldalra" - -#: ../templates/confwiz/o_lists.php:79 -msgid "Back to list settings" -msgstr "Vissza a lista beállításaihoz" - -#: ../templates/config/confsave.php:84 -#: ../templates/config/confsave.php:90 -#: ../templates/config/confsave.php:95 -#: ../templates/config/confsave.php:100 -#: ../templates/config/confsave.php:105 -#: ../templates/config/confsave.php:110 -#: ../templates/config/confsave.php:115 -#: ../templates/config/confsave.php:120 -#: ../templates/config/confsave.php:125 -#: ../templates/config/confsave.php:130 -#: ../templates/config/confsave.php:135 -#: ../templates/config/confsave.php:140 -#: ../templates/config/confsave.php:145 -#: ../templates/config/confsave.php:150 -#: ../templates/config/confsave.php:155 -#: ../templates/config/confsave.php:160 -#: ../templates/config/confsave.php:165 -#: ../templates/config/confsave.php:170 -#: ../templates/config/confsave.php:176 -#: ../templates/config/confsave.php:182 -#: ../templates/config/confsave.php:188 -#: ../templates/config/confsave.php:194 -#: ../templates/config/confsave.php:200 -msgid "Back to preferences..." -msgstr "Vissza a beállításokhoz..." - -#: ../templates/config/profmanage.php:365 -#: ../templates/confwiz/start.php:77 -msgid "Back to profile login" -msgstr "Vissza a belépés profilhoz" - -#: ../templates/confwiz/o_ranges.php:88 -msgid "Back to range settings" -msgstr "Vissza a tartományi beállításokhoz" - -#: ../templates/confwiz/ldaptest.php:182 -#: ../templates/confwiz/ldaptest.php:292 -#: ../templates/confwiz/ldaptest.php:568 -msgid "Back to server settings" -msgstr "Vissza a szerverbeállításokhoz" - -#: ../templates/account/useredit.php:1578 -#: ../templates/delete.php:203 -#: ../templates/delete.php:226 -msgid "Back to user list" -msgstr "Vissza a felhasználólistához" - -#: ../templates/account/useredit.php:109 -msgid "Back to userlist" -msgstr "Vissza a felhasználólistához" - -#: ../templates/account/groupedit.php:263 -#: ../templates/account/useredit.php:469 -#: ../templates/profedit/profilecreate.php:251 -#: ../templates/profedit/profilecreate.php:316 -msgid "Block hard quota" -msgstr "Blokkokra vonatkozó kemény kvóta" - -#: ../templates/account/groupedit.php:263 -#: ../templates/account/useredit.php:469 -#: ../templates/profedit/profilecreate.php:251 -#: ../templates/profedit/profilecreate.php:316 -msgid "Block hard quota contains invalid characters. Only natural numbers are allowed" -msgstr "A blokkokra vonatkozó kemény kvóta érvénytelen karaktereket tartalmaz. Csak természetes számok használhatóak." - -#: ../templates/account/groupedit.php:261 -#: ../templates/account/useredit.php:467 -#: ../templates/profedit/profilecreate.php:246 -#: ../templates/profedit/profilecreate.php:311 -msgid "Block soft quota" -msgstr "Blokkokra vonatkozó lágy kvóta" - -#: ../templates/account/groupedit.php:261 -#: ../templates/account/useredit.php:467 -#: ../templates/profedit/profilecreate.php:246 -#: ../templates/profedit/profilecreate.php:311 -msgid "Block soft quota contains invalid characters. Only natural numbers are allowed" -msgstr "A blokkokra vonatkozó lágy kvóta érvénytelen karaktereket tartalmaz. Csak természetes számok használhatóak." - -#: ../templates/config/confmain.php:163 -#: ../templates/confwiz/server2.php:202 -#: ../help/help.inc:103 -#: ../lib/config.inc:273 -msgid "Cache timeout" -msgstr "Cache időtúllépés" - -#: ../templates/config/confsave.php:94 -#: ../templates/confwiz/server2.php:74 -msgid "Cache timeout is invalid!" -msgstr "A cache időtúllépés értéke érvénytelen!" - -#: ../help/help.inc:145 -#: ../help/help.inc:172 -#: ../help/help.inc:174 -#: ../help/help.inc:176 -#: ../help/help.inc:178 -#: ../help/help.inc:212 -#: ../help/help.inc:215 -#: ../help/help.inc:218 -#: ../help/help.inc:220 -#: ../help/help.inc:223 -#: ../help/help.inc:271 -#: ../help/help.inc:281 -#: ../help/help.inc:283 -#: ../help/help.inc:285 -msgid "Can be left empty." -msgstr "Üresen hagyható." - -#: ../templates/account/hostedit.php:99 -msgid "Can not create any hosts." -msgstr "Nem tudok gazdaállomást létrehozni." - -#: ../templates/account/useredit.php:108 -msgid "Can not create any users." -msgstr "Nem tudok felhasználót létrehozni!" - -#: ../templates/delete.php:111 -#: ../templates/domain.php:178 -#: ../templates/domain.php:209 -#: ../templates/initsuff.php:199 -#: ../templates/masscreate.php:120 -#: ../templates/masscreate.php:248 -#: ../templates/masscreate.php:331 -#: ../templates/confwiz/o_ranges.php:153 -#: ../templates/confwiz/o_daemon.php:142 -#: ../templates/confwiz/ldaptest.php:209 -#: ../templates/confwiz/ldaptest.php:402 -#: ../templates/confwiz/ldaptest.php:491 -#: ../templates/confwiz/server2.php:236 -#: ../templates/confwiz/o_lang.php:163 -#: ../templates/confwiz/server.php:197 -#: ../templates/confwiz/o_lists.php:148 -#: ../templates/confwiz/start.php:182 -msgid "Cancel" -msgstr "Mégsem" - -#: ../templates/login.php:311 -#: ../templates/login.php:316 -#: ../templates/confwiz/server.php:68 -#: ../templates/confwiz/server.php:69 -msgid "Cannot connect to specified LDAP-Server. Please try again." -msgstr "Nem tudok csatlakozni a megadott LDAP szerverhez. Kérem, próbálja újra." - -#: ../lib/config.inc:263 -#: ../lib/config.inc:777 -msgid "Cannot open config file!" -msgstr "Nem lehet megnyitni a konfigurációs fájlt!" - -#: ../lib/pdf.inc:113 -msgid "Cellular phone" -msgstr "Mobiltelefon" - -#: ../templates/account/groupedit.php:832 -msgid "Change GID-Number of all users in group to new value" -msgstr "A csoportba tartozó minden felhasználó csoportazonosító számának átállítása új értékre" - -#: ../templates/login.php:262 -msgid "Change Profile" -msgstr "Profil módosítáa" - -#: ../templates/lists/listdomains.php:194 -#: ../templates/lists/listgroups.php:307 -#: ../templates/lists/listhosts.php:295 -#: ../templates/lists/listusers.php:348 -msgid "Change Suffix" -msgstr "Utótag megváltoztatása" - -#: ../templates/config/profmanage.php:302 -#: ../help/help.inc:117 -msgid "Change default profile" -msgstr "Alapértelmezett profil módosítása" - -#: ../templates/config/profmanage.php:322 -#: ../help/help.inc:119 -msgid "Change master password" -msgstr "Master jelszó módosítása" - -#: ../help/help.inc:96 -msgid "Change password" -msgstr "Jelszó módosítása" - -#: ../templates/massdetail.php:189 -#: ../templates/massdetail.php:194 -msgid "Check values." -msgstr "Adatok ellenőrzése." - -#: ../templates/masscreate.php:246 -#: ../lib/config.inc:70 -msgid "Click here if you are not directed to the next page." -msgstr "Kattintson ide, ha nem irányítódik automatikusan a következő oldalra." - -#: ../help/help.inc:281 -msgid "Comma separated list of unix workstations the user is allowed to login." -msgstr "Azon unix munkaállomások vesszővel elválasztott nevének listája, melyekre a felhasználó bejelentkezhet." - -#: ../templates/delete.php:110 -msgid "Commit" -msgstr "Ok" - -#: ../templates/login.php:119 -msgid "Configuration Login" -msgstr "Beállítások módosítása" - -#: ../help/help.inc:36 -#: ../help/help.inc:38 -#: ../help/help.inc:50 -#: ../help/help.inc:56 -#: ../help/help.inc:58 -#: ../help/help.inc:60 -#: ../help/help.inc:62 -#: ../help/help.inc:77 -#: ../help/help.inc:82 -#: ../help/help.inc:84 -#: ../help/help.inc:86 -#: ../help/help.inc:91 -#: ../help/help.inc:96 -#: ../help/help.inc:98 -#: ../help/help.inc:103 -#: ../help/help.inc:105 -#: ../help/help.inc:107 -msgid "Configuration Wizard" -msgstr "Beállításvarázsló" - -#: ../templates/login.php:245 -msgid "Configuration profile" -msgstr "Profilok beállítása" - -#: ../templates/confwiz/start.php:135 -msgid "Configuration profiles are protected with a password from unauthorised access. Please enter it here." -msgstr "A beállítás-profilok jelszóval védettek az illetéktelen hozzáféréstől. Kérem, most adja meg a jelszót." - -#: ../templates/config/conflogin.php:130 -#: ../templates/confwiz/final.php:46 -#: ../templates/confwiz/o_ranges.php:82 -#: ../templates/confwiz/o_ranges.php:98 -#: ../templates/confwiz/o_daemon.php:73 -#: ../templates/confwiz/o_daemon.php:89 -#: ../templates/confwiz/ldaptest.php:168 -#: ../templates/confwiz/ldaptest.php:191 -#: ../templates/confwiz/ldaptest.php:278 -#: ../templates/confwiz/ldaptest.php:302 -#: ../templates/confwiz/ldaptest.php:469 -#: ../templates/confwiz/ldaptest.php:554 -#: ../templates/confwiz/server2.php:82 -#: ../templates/confwiz/server2.php:107 -#: ../templates/confwiz/o_lang.php:70 -#: ../templates/confwiz/o_lang.php:86 -#: ../templates/confwiz/server.php:81 -#: ../templates/confwiz/server.php:106 -#: ../templates/confwiz/o_lists.php:73 -#: ../templates/confwiz/o_lists.php:89 -#: ../templates/confwiz/start.php:73 -#: ../templates/confwiz/start.php:95 -msgid "Configuration wizard" -msgstr "Beállításvarázsló" - -#: ../templates/masscreate.php:281 -msgid "Confirm List" -msgstr "Lista megerősítése" - -#: ../templates/masscreate.php:122 -msgid "Contiune" -msgstr "Tovább" - -#: ../templates/masscreate.php:206 -msgid "Could not create group!" -msgstr "Nem lehet létrehozni a csoportot!" - -#: ../templates/masscreate.php:236 -msgid "Could not create user!" -msgstr "Nem lehet létrehozni a felhasználót!" - -#: ../templates/delete.php:179 -msgid "Could not delete group. Still users in group:" -msgstr "Nem tudom törölni a csoportot. A csoportba még a következő felhasználók tartoznak:" - -#: ../templates/delete.php:183 -msgid "Could not delete group:" -msgstr "Nem lehet törölni a csoportot:" - -#: ../templates/delete.php:163 -msgid "Could not delete host:" -msgstr "Nem lehet törölni a gazdaállomást:" - -#: ../templates/delete.php:158 -msgid "Could not delete user:" -msgstr "Nem lehet törölni a felhasználót:" - -#: ../templates/config/profmanage.php:90 -msgid "Could not rename file!" -msgstr "Nem lehet átnevezni a fájlt!" - -#: ../templates/account/groupedit.php:823 -#: ../templates/account/hostedit.php:433 -#: ../templates/account/useredit.php:1555 -#: ../templates/initsuff.php:198 -#: ../templates/masscreate.php:328 -#: ../templates/confwiz/ldaptest.php:208 -#: ../templates/confwiz/ldaptest.php:401 -#: ../templates/confwiz/ldaptest.php:489 -msgid "Create" -msgstr "Létrehoz" - -#: ../templates/account/groupedit.php:837 -#: ../templates/account/hostedit.php:442 -#: ../templates/account/useredit.php:1559 -msgid "Create Account" -msgstr "Azonosító létrehozása" - -#: ../templates/account/groupedit.php:856 -#: ../templates/account/hostedit.php:470 -#: ../templates/account/useredit.php:1577 -#: ../templates/masscreate.php:264 -msgid "Create PDF file" -msgstr "PDF file létrehozása" - -#: ../templates/lists/listgroups.php:319 -msgid "Create PDF for all groups" -msgstr "PDF létrehozása az összes csoporthoz" - -#: ../templates/lists/listhosts.php:308 -msgid "Create PDF for all hosts" -msgstr "PDF létrehozása az összes munkaállomáshoz" - -#: ../templates/lists/listusers.php:374 -msgid "Create PDF for all users" -msgstr "PDF létrehozása az összes felhasználóhoz" - -#: ../templates/lists/listgroups.php:317 -msgid "Create PDF for selected group(s)" -msgstr "PDF létrehozása a kiválasztott csoport(ok)hoz" - -#: ../templates/lists/listhosts.php:306 -msgid "Create PDF for selected host(s)" -msgstr "PDF létrehozása a kiválasztott gazdaállomás(ok)hoz" - -#: ../templates/lists/listusers.php:372 -msgid "Create PDF for selected user(s)" -msgstr "PDF létrehozása a kiválasztott felhaszáló(k)hoz" - -#: ../templates/profedit/profilemain.php:180 -msgid "Create a new Group Profile" -msgstr "Új csoportprofil létrehozása" - -#: ../templates/profedit/profilemain.php:226 -msgid "Create a new Samba Host Profile" -msgstr "Új Samba gazdaaállomásprofil létrehozása" - -#: ../templates/profedit/profilemain.php:136 -msgid "Create a new User Profile" -msgstr "Új felhasználói profil létrehozása" - -#: ../templates/account/groupedit.php:854 -msgid "Create another group" -msgstr "Újabb csoport létrehozása" - -#: ../templates/account/hostedit.php:468 -msgid "Create another host" -msgstr "Újabb gazdaállomás létrehozása" - -#: ../templates/account/useredit.php:1575 -msgid "Create another user" -msgstr "Újabb felhasználó létrehozása" - -#: ../templates/account/groupedit.php:451 -#: ../templates/account/hostedit.php:92 -#: ../templates/account/hostedit.php:310 -#: ../templates/account/useredit.php:101 -#: ../templates/account/useredit.php:741 -msgid "Create new Account" -msgstr "Új azonosító létrehozása" - -#: ../templates/masscreate.php:110 -#: ../templates/masscreate.php:133 -msgid "Create new Accounts" -msgstr "Új azonosítók létrehozása" - -#: ../templates/massdetail.php:163 -msgid "Create new accounts" -msgstr "Új azonosítók létrehozása" - -#: ../templates/masscreate.php:201 -#, php-format -msgid "Created group %s." -msgstr "%s csoport létrehozva." - -#: ../templates/config/profmanage.php:75 -msgid "Created new profile." -msgstr "Új profil létrehozva." - -#: ../templates/masscreate.php:231 -#, php-format -msgid "Created user %s." -msgstr "%s felhasználó létrehozva." - -#: ../templates/masscreate.php:156 -msgid "Creating users. Please stand by ...." -msgstr "Felhasználók létrehozása. Kis türelmet..." - -#: ../lib/pdf.inc:327 -#: ../lib/pdf.inc:373 -#: ../lib/pdf.inc:452 -msgid "DN" -msgstr "DN" - -#: ../help/help.inc:204 -msgid "Date after the user is able to change his password. Format: DD-MM-YYYY" -msgstr "Az a dátum, mely után a felhasználó meg tudja változtatni jelszavát. Formátuma: NN-HH-ÉÉÉÉ" - -#: ../help/help.inc:206 -msgid "Date after the user must change his password. Format: DD-MM-YYYY" -msgstr "Az a dátum, mely után a felhasználónak meg _kell_ változtatnia jelszavát. Formátuma: NN-HH-ÉÉÉ" - -#: ../help/help.inc:172 -msgid "Days before password is to expire that user is warned of pending password expiration. If set value must be 0<." -msgstr "Az a szám, ahány nappal korábban a felhasználó értesítést kap arról, hogy jelszava lejár. Ha beállítja, értéke 0-nál nagyobb legyen." - -#: ../templates/config/confmain.php:270 -#: ../templates/confwiz/o_lang.php:108 -#: ../help/help.inc:84 -#: ../lib/config.inc:289 -msgid "Default language" -msgstr "Alapértelmezett nyelv" - -#: ../templates/domain.php:208 -msgid "Delete" -msgstr "Törlés" - -#: ../templates/delete.php:57 -msgid "Delete Account" -msgstr "Account törlése" - -#: ../templates/lists/listdomains.php:201 -msgid "Delete Domain(s)" -msgstr "Tartomány(ok) törlése" - -#: ../templates/profedit/profilemain.php:205 -msgid "Delete Group Profile" -msgstr "Csoport profil törlése." - -#: ../templates/lists/listgroups.php:314 -msgid "Delete Group(s)" -msgstr "Csoport(ok) törlése" - -#: ../templates/lists/listhosts.php:303 -msgid "Delete Host(s)" -msgstr "Gazdaállomás(ok) törlése" - -#: ../templates/profedit/profilemain.php:250 -msgid "Delete Samba Host Profile" -msgstr "A Samba gazdaállomás profil törlése" - -#: ../templates/profedit/profiledelete.php:44 -#: ../templates/profedit/profilemain.php:160 -msgid "Delete User Profile" -msgstr "Felhasználói profil törlése" - -#: ../templates/delete.php:102 -msgid "Delete also Homedirectories" -msgstr "A Home könyvtárak is törlésre kerülnek" - -#: ../templates/domain.php:199 -msgid "Delete domain(s)" -msgstr "Tartomány(ok) törlése" - -#: ../templates/delete.php:86 -msgid "Delete group(s)" -msgstr "Csoport(ok) törlése" - -#: ../templates/delete.php:80 -msgid "Delete host(s)" -msgstr "Gazdaállomás(ok) törlése" - -#: ../templates/profedit/profiledelete.php:82 -msgid "Delete operation canceled." -msgstr "A törlési művelet megszakítva." - -#: ../templates/ou_edit.php:357 -#: ../templates/ou_edit.php:390 -#: ../templates/ou_edit.php:423 -#: ../templates/ou_edit.php:457 -#: ../help/help.inc:291 -msgid "Delete organizational unit" -msgstr "Szervezeti egység törlése" - -#: ../templates/config/profmanage.php:231 -#: ../help/help.inc:113 -msgid "Delete profile" -msgstr "Profil törlése" - -#: ../templates/delete.php:74 -#: ../templates/lists/listusers.php:369 -msgid "Delete user(s)" -msgstr "Felhasználó(k) törlése" - -#: ../templates/profedit/profiledelete.php:55 -#: ../templates/profedit/profiledelete.php:62 -#: ../templates/profedit/profiledelete.php:69 -msgid "Deleted profile:" -msgstr "Törölt profil:" - -#: ../templates/delete.php:238 -msgid "Deleting group(s) canceled." -msgstr "Csoport(ok) törlése megszakítva." - -#: ../templates/delete.php:131 -msgid "Deleting group(s)..." -msgstr "Csoport(ok) törlése..." - -#: ../templates/delete.php:230 -msgid "Deleting host(s) canceled." -msgstr "Gazdaállomás(ok) törlése megszakítva." - -#: ../templates/delete.php:126 -msgid "Deleting host(s)..." -msgstr "Gazdaállomás(ok) törlése..." - -#: ../templates/delete.php:222 -msgid "Deleting user(s) canceled." -msgstr "Felhasználó(k) törlése megszakítva." - -#: ../templates/delete.php:121 -msgid "Deleting user(s)..." -msgstr "Felhasználó(k) törlése..." - -#: ../templates/account/groupedit.php:604 -#: ../lib/ldap.inc:203 -#: ../lib/pdf.inc:300 -#: ../lib/pdf.inc:342 -#: ../lib/pdf.inc:428 -msgid "Description" -msgstr "Leírás" - -#: ../templates/masscreate.php:284 -msgid "Details" -msgstr "Részletek" - -#: ../templates/account/groupedit.php:247 -#: ../templates/account/groupedit.php:661 -#: ../templates/account/useredit.php:453 -#: ../templates/account/useredit.php:1180 -#: ../help/help.inc:183 -#: ../lib/pdf.inc:434 -msgid "Display name" -msgstr "Képernyőnév" - -#: ../templates/domain.php:200 -msgid "Do you really want to delete domain(s):" -msgstr "Valóban törli a tartományt?" - -#: ../templates/delete.php:88 -msgid "Do you really want to delete group(s):" -msgstr "Valóban törli a csoportot?" - -#: ../templates/delete.php:82 -msgid "Do you really want to delete host(s):" -msgstr "Valóban törli a munkaállomást?" - -#: ../templates/ou_edit.php:87 -#: ../templates/ou_edit.php:152 -#: ../templates/ou_edit.php:217 -#: ../templates/ou_edit.php:282 -msgid "Do you really want to delete this OU?" -msgstr "Valóban törli ezt az OU-t?" - -#: ../templates/profedit/profiledelete.php:93 -#: ../templates/profedit/profiledelete.php:105 -#: ../templates/profedit/profiledelete.php:117 -msgid "Do you really want to delete this profile?" -msgstr "Valóban törli a profilt?" - -#: ../templates/delete.php:76 -msgid "Do you really want to delete user(s):" -msgstr "Valóban törli a felhasználót?" - -#: ../templates/account/groupedit.php:708 -#: ../templates/account/hostedit.php:397 -#: ../templates/account/useredit.php:1365 -#: ../templates/profedit/profilegroup.php:72 -#: ../templates/profedit/profilehost.php:83 -#: ../templates/profedit/profileuser.php:345 -#: ../help/help.inc:222 -#: ../help/help.inc:282 -#: ../lib/pdf.inc:315 -#: ../lib/pdf.inc:360 -#: ../lib/pdf.inc:446 -msgid "Domain" -msgstr "Tartomány" - -#: ../templates/account/groupedit.php:238 -#: ../templates/account/groupedit.php:698 -#: ../templates/account/groupedit.php:702 -#: ../templates/account/useredit.php:393 -#: ../templates/account/useredit.php:408 -#: ../templates/account/useredit.php:1316 -#: ../templates/account/useredit.php:1320 -#: ../templates/account/useredit.php:1354 -#: ../templates/account/useredit.php:1358 -msgid "Domain Admins" -msgstr "Tartomány adminisztrátorok" - -#: ../templates/account/groupedit.php:236 -#: ../templates/account/groupedit.php:680 -#: ../templates/account/groupedit.php:684 -#: ../templates/account/useredit.php:391 -#: ../templates/account/useredit.php:406 -#: ../templates/account/useredit.php:1298 -#: ../templates/account/useredit.php:1302 -#: ../templates/account/useredit.php:1336 -#: ../templates/account/useredit.php:1340 -msgid "Domain Guests" -msgstr "Tartomány vendégek" - -#: ../templates/domain.php:94 -#: ../templates/lists/listdomains.php:86 -#: ../templates/confwiz/ldaptest.php:333 -#: ../help/help.inc:297 -msgid "Domain SID" -msgstr "Tartomány-SID" - -#: ../templates/domain.php:73 -#: ../templates/confwiz/ldaptest.php:315 -msgid "Domain Settings" -msgstr "Tartomány beállítások" - -#: ../templates/account/groupedit.php:237 -#: ../templates/account/groupedit.php:689 -#: ../templates/account/groupedit.php:693 -#: ../templates/account/useredit.php:392 -#: ../templates/account/useredit.php:407 -#: ../templates/account/useredit.php:1307 -#: ../templates/account/useredit.php:1311 -#: ../templates/account/useredit.php:1345 -#: ../templates/account/useredit.php:1349 -msgid "Domain Users" -msgstr "Tartomány felhasználók" - -#: ../templates/domain.php:303 -msgid "Domain deleted successfully." -msgstr "A tartomány sikeresen törölve." - -#: ../templates/domain.php:259 -msgid "Domain has been modified." -msgstr "A tartomány módosítva." - -#: ../templates/account/hostedit.php:212 -#: ../templates/account/useredit.php:449 -#: ../templates/domain.php:78 -#: ../templates/lists/listdomains.php:85 -#: ../templates/confwiz/ldaptest.php:320 -#: ../help/help.inc:293 -msgid "Domain name" -msgstr "Tartománynév" - -#: ../templates/account/hostedit.php:212 -#: ../templates/account/useredit.php:449 -msgid "Domain name contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and -." -msgstr "A tartománynév érvénytelen karaktert tartalmaz. Érvényes karakterek: a-z, A-Z, 0-9 és -." - -#: ../templates/domain.php:232 -#: ../templates/profedit/profilecreate.php:230 -#: ../templates/profedit/profilecreate.php:296 -#: ../templates/profedit/profilecreate.php:369 -#: ../templates/confwiz/ldaptest.php:235 -msgid "Domain name is invalid!" -msgstr "Érvénytelen tartománynév!" - -#: ../templates/config/confmain.php:138 -#: ../templates/confwiz/server2.php:156 -#: ../lib/config.inc:278 -msgid "DomainSuffix" -msgstr "Tartomány utótag" - -#: ../templates/config/confsave.php:119 -#: ../templates/confwiz/server2.php:68 -msgid "DomainSuffix is invalid!" -msgstr "Tartomány utótag érvénytelen!" - -#: ../templates/main_header.php:72 -#: ../templates/ou_edit.php:439 -msgid "Domains" -msgstr "Tartományok" - -#: ../help/help.inc:210 -msgid "Driveletter assigned on windows workstations as homedirectory." -msgstr "A Windows munkaállomásokon ennek megfelelő betűjelű meghajtó lesz a home könyvtár." - -#: ../lib/ldap.inc:202 -#: ../lib/pdf.inc:105 -msgid "E-Mail" -msgstr "E-Mail" - -#: ../templates/lists/listdomains.php:155 -#: ../templates/lists/listgroups.php:239 -#: ../templates/lists/listhosts.php:243 -#: ../templates/lists/listusers.php:297 -msgid "Edit" -msgstr "Szerkesztés" - -#: ../templates/profedit/profilemain.php:193 -msgid "Edit Group Profile" -msgstr "Csoportprofil szerkesztése" - -#: ../templates/profedit/profilemain.php:238 -msgid "Edit Samba Host Profile" -msgstr "Samba gazdaállomásprofil szerkesztése" - -#: ../templates/profedit/profilemain.php:148 -msgid "Edit User Profile" -msgstr "Felhasználóprofil szerkesztése" - -#: ../templates/account/useredit.php:978 -msgid "Edit groups" -msgstr "Csoportok szerkesztése" - -#: ../templates/account/useredit.php:1278 -msgid "Edit workstations" -msgstr "Munkaállomások szerkesztése" - -#: ../templates/account/useredit.php:496 -#: ../templates/account/useredit.php:1472 -#: ../templates/masscreate.php:377 -#: ../templates/masscreate.php:575 -#: ../templates/massdetail.php:142 -#: ../templates/massdetail.php:226 -#: ../help/help.inc:250 -msgid "Employee type" -msgstr "Alkalmazott típusa" - -#: ../help/help.inc:251 -msgid "Employee type: worker, student, nurse, ..." -msgstr "Alkalmazott típusa: munkás, tanuló, nővér, ..." - -#: ../templates/login.php:287 -msgid "Empty Password submitted. Try again." -msgstr "Üres a jelszómező. Próbálja újra." - -#: ../templates/login.php:139 -msgid "Enter Username and Password for Account" -msgstr "Adja meg a felhasználónevét és jelszavát" - -#: ../templates/masscreate.php:284 -msgid "Errors" -msgstr "Hibák" - -#: ../templates/confwiz/o_lang.php:147 -#: ../templates/confwiz/o_lists.php:109 -#: ../help/help.inc:65 -#: ../help/help.inc:80 -msgid "Example" -msgstr "Minta" - -#: ../templates/confwiz/server.php:124 -#: ../help/help.inc:41 -#: ../help/help.inc:53 -msgid "Examples" -msgstr "Minták" - -#: ../templates/masscreate.php:402 -#: ../help/help.inc:187 -msgid "Expand suffix with primary groupname" -msgstr "Az utótag bővítése az elsődleges csoportnévvel" - -#: ../templates/account/useredit.php:1099 -#: ../help/help.inc:179 -msgid "Expire date" -msgstr "Lejárat dátuma" - -#: ../lib/pdf.inc:117 -msgid "Facsimile" -msgstr "Fax" - -#: ../templates/domain.php:277 -#: ../templates/confwiz/ldaptest.php:267 -msgid "Failed to add domain!" -msgstr "Nem sikerült a tartományt hozzáadni!" - -#: ../templates/initsuff.php:141 -#: ../templates/confwiz/ldaptest.php:179 -msgid "Failed to create entry!" -msgstr "Nem sikerült a bejegyzést létrehozni!" - -#: ../templates/domain.php:260 -msgid "Failed to modify domain!" -msgstr "Nem sikerült a módosítani a tartományt!" - -#: ../templates/account/useredit.php:491 -#: ../templates/account/useredit.php:1508 -#: ../templates/masscreate.php:369 -#: ../templates/masscreate.php:570 -#: ../templates/massdetail.php:154 -#: ../templates/massdetail.php:262 -#: ../help/help.inc:262 -#: ../help/help.inc:263 -msgid "Fax number" -msgstr "Fax-szám" - -#: ../templates/main_header.php:58 -#: ../templates/masscreate.php:347 -msgid "File Upload" -msgstr "Fájl feltöltése" - -#: ../help/help.inc:212 -#, php-format -msgid "Filename and -path relative to netlogon-share which should be executed on logon. $%s and $%s are replaced with user- and groupname." -msgstr "A belépéskor végrehajtandó file neve és elérési útja a netlogon-share-hez viszonyítva. A $%s és $%s változók felhasználó- és csoportnévvel lesznek helyettesítve." - -#: ../templates/lists/listgroups.php:208 -#: ../templates/lists/listhosts.php:212 -#: ../templates/lists/listusers.php:254 -msgid "Filter" -msgstr "Szűrő" - -#: ../templates/account/groupedit.php:525 -#: ../templates/account/groupedit.php:582 -#: ../templates/account/groupedit.php:649 -#: ../templates/account/groupedit.php:745 -#: ../templates/account/groupedit.php:802 -#: ../templates/account/useredit.php:796 -#: ../templates/account/useredit.php:866 -#: ../templates/account/useredit.php:928 -#: ../templates/account/useredit.php:1049 -#: ../templates/account/useredit.php:1166 -#: ../templates/account/useredit.php:1405 -#: ../templates/account/useredit.php:1454 -#: ../templates/account/useredit.php:1534 -msgid "Final" -msgstr "Befejezés" - -#: ../templates/account/useredit.php:954 -#: ../lib/ldap.inc:198 -msgid "First name" -msgstr "Vezetéknév" - -#: ../lib/pdf.inc:440 -msgid "GID" -msgstr "Csoportazonosító, GID" - -#: ../templates/account/groupedit.php:600 -#: ../help/help.inc:58 -#: ../help/help.inc:157 -#: ../lib/ldap.inc:195 -#: ../lib/ldap.inc:207 -#: ../lib/ldap.inc:218 -msgid "GID number" -msgstr "GID szám" - -#: ../templates/account/groupedit.php:334 -msgid "GID-number has changed. You have to run the following command as root in order to change existing file-permissions:" -msgstr "A csoportazonosító szám megváltozott. Root-ként kell futtatnia a következő utasítást, hogy a jelenleg érvényes file-engedélyeket megváltoztassa:" - -#: ../templates/account/groupedit.php:171 -#: ../templates/account/hostedit.php:186 -#: ../templates/account/hostedit.php:385 -#: ../templates/account/useredit.php:241 -#: ../templates/account/useredit.php:987 -#: ../templates/masscreate.php:555 -#: ../help/help.inc:149 -#: ../help/help.inc:160 -#: ../help/help.inc:169 -msgid "Gecos" -msgstr "Gecos" - -#: ../templates/account/groupedit.php:517 -#: ../templates/account/groupedit.php:574 -#: ../templates/account/groupedit.php:644 -#: ../templates/account/groupedit.php:738 -#: ../templates/account/groupedit.php:795 -#: ../templates/account/useredit.php:790 -#: ../templates/account/useredit.php:860 -#: ../templates/account/useredit.php:922 -#: ../templates/account/useredit.php:1043 -#: ../templates/account/useredit.php:1160 -#: ../templates/account/useredit.php:1400 -#: ../templates/account/useredit.php:1448 -#: ../templates/account/useredit.php:1528 -msgid "General" -msgstr "Általános" - -#: ../templates/account/groupedit.php:594 -#: ../templates/account/hostedit.php:362 -#: ../templates/account/useredit.php:940 -msgid "General properties" -msgstr "Általános jellemzők" - -#: ../templates/account/useredit.php:1066 -msgid "Generate password" -msgstr "Jelszó generálása" - -#: ../templates/account/useredit.php:236 -#: ../templates/masscreate.php:283 -#: ../templates/masscreate.php:355 -#: ../templates/masscreate.php:550 -#: ../templates/massdetail.php:84 -#: ../templates/massdetail.php:208 -#: ../help/help.inc:193 -#: ../lib/pdf.inc:89 -msgid "Given name" -msgstr "Keresztnév" - -#: ../templates/account/useredit.php:236 -#: ../templates/masscreate.php:550 -#: ../templates/massdetail.php:84 -msgid "Given name contains invalid characters" -msgstr "A keresztnév érvénytelen karatereket tartalmaz" - -#: ../help/help.inc:194 -msgid "Given name of user. Only letters, - and spaces are allowed." -msgstr "A felhasználó keresztneve. Csak betűk, a - jel, és szóközök használhatóak." - -#: ../templates/account/groupedit.php:759 -#: ../templates/account/useredit.php:1418 -#: ../help/help.inc:234 -msgid "Grace block period" -msgstr "Grace blokk periódus" - -#: ../help/help.inc:235 -msgid "Grace block period. Most filesystems use a fixed maximum value of 7 days." -msgstr "Grace blokk periódus. A legtöbb filerendszer rögzített maximum értéke 7 nap." - -#: ../help/help.inc:246 -msgid "Grace inode (files) period. Most filesystems use a fixed maximum value of 7 days." -msgstr "Grace inode (file-ok) periódus. A legtöbb filerendszer rögzített maximum értéke 7 nap." - -#: ../templates/account/groupedit.php:761 -#: ../templates/account/useredit.php:1420 -#: ../help/help.inc:245 -msgid "Grace inode period" -msgstr "Grace inode periódus" - -#: ../templates/masscreate.php:279 -msgid "Group" -msgstr "Csoport" - -#: ../templates/account/groupedit.php:850 -#, php-format -msgid "Group %s has been created." -msgstr "%s csoport létrehozva." - -#: ../templates/account/groupedit.php:847 -#, php-format -msgid "Group %s has been modified." -msgstr "%s csoport módosítva." - -#: ../templates/profedit/profilemain.php:172 -msgid "Group Profiles" -msgstr "Csoportprofilok" - -#: ../templates/confwiz/ldaptest.php:484 -msgid "Group SID" -msgstr "Csoport SID" - -#: ../lib/ldap.inc:210 -msgid "Group description" -msgstr "Csoport leírása" - -#: ../help/help.inc:161 -msgid "Group description. If left empty group name will be used." -msgstr "Csoport leírása. Ha üresen hagyja, a csoport nevének felel meg." - -#: ../lib/pdf.inc:415 -#: ../lib/pdf.inc:555 -msgid "Group information page" -msgstr "Csoport információs lapja" - -#: ../templates/config/confsave.php:159 -#: ../templates/confwiz/o_lists.php:57 -msgid "Group list attributes are invalid!" -msgstr "A csoportlista attribútumai érvénytelenek!" - -#: ../lib/ldap.inc:209 -msgid "Group member DNs" -msgstr "Csoporttagok DN-jei" - -#: ../templates/account/groupedit.php:538 -#: ../help/help.inc:181 -#: ../help/help.inc:284 -#: ../lib/ldap.inc:208 -msgid "Group members" -msgstr "A csoport tagjai" - -#: ../lib/ldap.inc:206 -msgid "Group name" -msgstr "Csoport név" - -#: ../help/help.inc:156 -msgid "Group name of the group which should be created. Valid characters are: a-z,0-9, .-_. Lam does not allow a number as first character because groupadd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. If groupname is already used groupname will be expanded with a number. The next free number will be used." -msgstr "A létrehozásra kerülő csoport neve. Érvényes karakterek: a-z, 0-9, .-_. A Lam nem fogad el első karakterként számot, mert a csoport hozzáadása parancs sem fogadja el. A Lam nem engedi a nagybetűs A-Z karakterek használatát, mert ez különböző problémák forrása lehet. Ha a csoportnév már létezik, egy számmmal lesz kiegészítve. A legközelebbi, még nem használt számmal." - -#: ../templates/masscreate.php:406 -#: ../help/help.inc:189 -msgid "Group suffix" -msgstr "Csoport utótag" - -#: ../lib/pdf.inc:146 -msgid "Group(s)" -msgstr "Csoport(ok)" - -#: ../templates/lists/listgroups.php:353 -msgid "Group(s) found" -msgstr "Csoport található" - -#: ../templates/config/confmain.php:128 -#: ../templates/confwiz/server2.php:139 -#: ../lib/config.inc:276 -msgid "GroupSuffix" -msgstr "Csoportutótag" - -#: ../templates/config/confsave.php:109 -#: ../templates/confwiz/server2.php:62 -msgid "GroupSuffix is invalid!" -msgstr "Csoportutótag érvénytelen!" - -#: ../templates/account/groupedit.php:158 -#: ../templates/account/groupedit.php:168 -#: ../templates/account/groupedit.php:208 -#: ../templates/account/groupedit.php:596 -#: ../help/help.inc:155 -msgid "Groupname" -msgstr "Csoportnév" - -#: ../templates/account/groupedit.php:208 -msgid "Groupname already in use. Selected next free groupname." -msgstr "A csoportnév már létezik. A legközelebb álló, még nem használt nevet választom helyette." - -#: ../templates/account/groupedit.php:168 -msgid "Groupname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !" -msgstr "A csoportnév érvénytelen karaktert tartalmaz. Érvényes karakterek: a-z, A-Z, 0-9, ., - és _!" - -#: ../templates/main_header.php:74 -#: ../templates/main_header.php:79 -#: ../templates/ou_edit.php:372 -#: ../templates/confwiz/o_lists.php:115 -#: ../help/help.inc:72 -msgid "Groups" -msgstr "Csoportok" - -#: ../lib/pdf.inc:243 -msgid "Hard block" -msgstr "Kemény blokk" - -#: ../templates/account/groupedit.php:759 -#: ../templates/account/useredit.php:1418 -#: ../templates/profedit/profilegroup.php:101 -#: ../templates/profedit/profileuser.php:378 -#: ../help/help.inc:231 -#: ../help/help.inc:232 -msgid "Hard block limit" -msgstr "Kemény blokk határa" - -#: ../lib/pdf.inc:244 -msgid "Hard inode" -msgstr "Kemény inode" - -#: ../help/help.inc:243 -msgid "Hard inode (files) limit" -msgstr "Kemény inode (file-ok) határa" - -#: ../templates/account/groupedit.php:761 -#: ../templates/account/useredit.php:1420 -#: ../templates/profedit/profilegroup.php:103 -#: ../templates/profedit/profileuser.php:380 -#: ../help/help.inc:242 -msgid "Hard inode limit" -msgstr "Kemény inode határa" - -#: ../templates/account/hostedit.php:222 -#: ../templates/account/useredit.php:585 -msgid "Have to add objectClass posixAccount." -msgstr "PosixAzonosító objektumOsztályt kell hozzáadni." - -#: ../templates/account/groupedit.php:330 -msgid "Have to add objectClass posixGroup." -msgstr "PosixCsoport objektumOsztályt kell hozzáadni." - -#: ../templates/account/hostedit.php:226 -msgid "Have to add objectClass sambaAccount. Host with sambaSamAccount will be set back to sambaAccount." -msgstr "SambaAzonosító objektumOsztályt kell hozzáadni. A gazdaállomás sambaSamAzonosítója sambaAzonosítóra lesz visszaállítva." - -#: ../templates/account/useredit.php:594 -msgid "Have to add objectClass sambaAccount. User with sambaSamAccount will be set back to sambaAccount." -msgstr "SambaAzonosító objetumOsztályt kell hozzáadni. A felhasználó sambaSamAzonosítója sambaAzonosítóra lesz visszaállítva." - -#: ../templates/account/groupedit.php:328 -msgid "Have to add objectClass sambaGroupMapping." -msgstr "SambaCsoportTérképezés objektumOsztályt kell hozzáadni." - -#: ../templates/account/hostedit.php:224 -msgid "Have to add objectClass sambaSamAccount. Host with sambaAccount will be updated." -msgstr "SambaSamAzonosító objektumOsztályt kell hozzáadni. A gazdaállomás sambaAzonosítója frissítve lesz." - -#: ../templates/account/useredit.php:590 -msgid "Have to add objectClass sambaSamAccount. User with sambaAccount will be updated." -msgstr "sambaSamAccount objektumOsztályt kell hozzáadni. A felhasználó sambaAccount -ja frissítve lesz." - -#: ../templates/account/useredit.php:587 -msgid "Have to add objectClass shadowAccount." -msgstr "ÁrnyékAzonosító objektumOsztályt kell hozzáadni." - -#: ../templates/account/groupedit.php:551 -#: ../templates/account/groupedit.php:599 -#: ../templates/account/groupedit.php:602 -#: ../templates/account/groupedit.php:606 -#: ../templates/account/groupedit.php:617 -#: ../templates/account/groupedit.php:631 -#: ../templates/account/groupedit.php:664 -#: ../templates/account/groupedit.php:706 -#: ../templates/account/groupedit.php:723 -#: ../templates/account/groupedit.php:762 -#: ../templates/account/groupedit.php:763 -#: ../templates/account/groupedit.php:764 -#: ../templates/account/groupedit.php:765 -#: ../templates/account/groupedit.php:766 -#: ../templates/account/groupedit.php:819 -#: ../templates/account/hostedit.php:358 -#: ../templates/account/hostedit.php:368 -#: ../templates/account/hostedit.php:374 -#: ../templates/account/hostedit.php:383 -#: ../templates/account/hostedit.php:388 -#: ../templates/account/hostedit.php:415 -#: ../templates/account/hostedit.php:426 -#: ../templates/account/hostedit.php:452 -#: ../templates/account/useredit.php:824 -#: ../templates/account/useredit.php:894 -#: ../templates/account/useredit.php:946 -#: ../templates/account/useredit.php:952 -#: ../templates/account/useredit.php:958 -#: ../templates/account/useredit.php:964 -#: ../templates/account/useredit.php:974 -#: ../templates/account/useredit.php:980 -#: ../templates/account/useredit.php:985 -#: ../templates/account/useredit.php:990 -#: ../templates/account/useredit.php:999 -#: ../templates/account/useredit.php:1011 -#: ../templates/account/useredit.php:1025 -#: ../templates/account/useredit.php:1077 -#: ../templates/account/useredit.php:1082 -#: ../templates/account/useredit.php:1087 -#: ../templates/account/useredit.php:1092 -#: ../templates/account/useredit.php:1097 -#: ../templates/account/useredit.php:1116 -#: ../templates/account/useredit.php:1122 -#: ../templates/account/useredit.php:1130 -#: ../templates/account/useredit.php:1183 -#: ../templates/account/useredit.php:1197 -#: ../templates/account/useredit.php:1203 -#: ../templates/account/useredit.php:1209 -#: ../templates/account/useredit.php:1228 -#: ../templates/account/useredit.php:1247 -#: ../templates/account/useredit.php:1253 -#: ../templates/account/useredit.php:1260 -#: ../templates/account/useredit.php:1265 -#: ../templates/account/useredit.php:1270 -#: ../templates/account/useredit.php:1275 -#: ../templates/account/useredit.php:1280 -#: ../templates/account/useredit.php:1363 -#: ../templates/account/useredit.php:1384 -#: ../templates/account/useredit.php:1421 -#: ../templates/account/useredit.php:1422 -#: ../templates/account/useredit.php:1423 -#: ../templates/account/useredit.php:1424 -#: ../templates/account/useredit.php:1425 -#: ../templates/account/useredit.php:1470 -#: ../templates/account/useredit.php:1476 -#: ../templates/account/useredit.php:1482 -#: ../templates/account/useredit.php:1488 -#: ../templates/account/useredit.php:1494 -#: ../templates/account/useredit.php:1500 -#: ../templates/account/useredit.php:1506 -#: ../templates/account/useredit.php:1512 -#: ../templates/account/useredit.php:1518 -#: ../templates/account/useredit.php:1551 -#: ../templates/domain.php:86 -#: ../templates/domain.php:102 -#: ../templates/domain.php:113 -#: ../templates/domain.php:121 -#: ../templates/domain.php:129 -#: ../templates/domain.php:141 -#: ../templates/domain.php:159 -#: ../templates/masscreate.php:395 -#: ../templates/masscreate.php:400 -#: ../templates/masscreate.php:405 -#: ../templates/masscreate.php:410 -#: ../templates/masscreate.php:418 -#: ../templates/massdetail.php:206 -#: ../templates/massdetail.php:212 -#: ../templates/massdetail.php:218 -#: ../templates/massdetail.php:224 -#: ../templates/massdetail.php:230 -#: ../templates/massdetail.php:236 -#: ../templates/massdetail.php:242 -#: ../templates/massdetail.php:248 -#: ../templates/massdetail.php:254 -#: ../templates/massdetail.php:260 -#: ../templates/massdetail.php:266 -#: ../templates/massdetail.php:272 -#: ../templates/ou_edit.php:352 -#: ../templates/ou_edit.php:365 -#: ../templates/ou_edit.php:385 -#: ../templates/ou_edit.php:398 -#: ../templates/ou_edit.php:418 -#: ../templates/ou_edit.php:431 -#: ../templates/ou_edit.php:452 -#: ../templates/ou_edit.php:465 -#: ../templates/config/conflogin.php:119 -#: ../templates/config/confmain.php:116 -#: ../templates/config/confmain.php:125 -#: ../templates/config/confmain.php:130 -#: ../templates/config/confmain.php:135 -#: ../templates/config/confmain.php:140 -#: ../templates/config/confmain.php:156 -#: ../templates/config/confmain.php:172 -#: ../templates/config/confmain.php:186 -#: ../templates/config/confmain.php:203 -#: ../templates/config/confmain.php:212 -#: ../templates/config/confmain.php:221 -#: ../templates/config/confmain.php:234 -#: ../templates/config/confmain.php:239 -#: ../templates/config/confmain.php:244 -#: ../templates/config/confmain.php:259 -#: ../templates/config/confmain.php:299 -#: ../templates/config/confmain.php:313 -#: ../templates/config/confmain.php:317 -#: ../templates/config/confmain.php:331 -#: ../templates/config/confmain.php:345 -#: ../templates/config/confmain.php:353 -#: ../templates/config/profmanage.php:163 -#: ../templates/config/profmanage.php:210 -#: ../templates/config/profmanage.php:235 -#: ../templates/config/profmanage.php:264 -#: ../templates/config/profmanage.php:307 -#: ../templates/config/profmanage.php:330 -#: ../templates/config/profmanage.php:358 -#: ../templates/profedit/profilegroup.php:84 -#: ../templates/profedit/profilegroup.php:106 -#: ../templates/profedit/profilegroup.php:107 -#: ../templates/profedit/profilegroup.php:108 -#: ../templates/profedit/profilegroup.php:109 -#: ../templates/profedit/profilegroup.php:110 -#: ../templates/profedit/profilegroup.php:145 -#: ../templates/profedit/profilehost.php:75 -#: ../templates/profedit/profilehost.php:100 -#: ../templates/profedit/profilehost.php:114 -#: ../templates/profedit/profileuser.php:100 -#: ../templates/profedit/profileuser.php:112 -#: ../templates/profedit/profileuser.php:122 -#: ../templates/profedit/profileuser.php:134 -#: ../templates/profedit/profileuser.php:147 -#: ../templates/profedit/profileuser.php:154 -#: ../templates/profedit/profileuser.php:161 -#: ../templates/profedit/profileuser.php:168 -#: ../templates/profedit/profileuser.php:175 -#: ../templates/profedit/profileuser.php:200 -#: ../templates/profedit/profileuser.php:210 -#: ../templates/profedit/profileuser.php:223 -#: ../templates/profedit/profileuser.php:242 -#: ../templates/profedit/profileuser.php:252 -#: ../templates/profedit/profileuser.php:262 -#: ../templates/profedit/profileuser.php:272 -#: ../templates/profedit/profileuser.php:306 -#: ../templates/profedit/profileuser.php:313 -#: ../templates/profedit/profileuser.php:320 -#: ../templates/profedit/profileuser.php:327 -#: ../templates/profedit/profileuser.php:337 -#: ../templates/profedit/profileuser.php:362 -#: ../templates/profedit/profileuser.php:383 -#: ../templates/profedit/profileuser.php:384 -#: ../templates/profedit/profileuser.php:385 -#: ../templates/profedit/profileuser.php:386 -#: ../templates/profedit/profileuser.php:387 -#: ../templates/profedit/profileuser.php:422 -#: ../templates/confwiz/o_ranges.php:125 -#: ../templates/confwiz/o_ranges.php:134 -#: ../templates/confwiz/o_ranges.php:143 -#: ../templates/confwiz/ldaptest.php:325 -#: ../templates/confwiz/ldaptest.php:338 -#: ../templates/confwiz/ldaptest.php:349 -#: ../templates/confwiz/ldaptest.php:357 -#: ../templates/confwiz/ldaptest.php:365 -#: ../templates/confwiz/ldaptest.php:376 -#: ../templates/confwiz/ldaptest.php:393 -msgid "Help" -msgstr "Segítség" - -#: ../help/help.inc:145 -msgid "Hold the CTRL-key to (de)select multiple groups." -msgstr "Tartsa lenyomva a CTRL-billentyűt több csoport kijelöléséhez, illetve a kijelölés megszűntetéséhez." - -#: ../templates/profedit/profileuser.php:120 -#: ../lib/pdf.inc:158 -msgid "Home Directory" -msgstr "Home könyvtár" - -#: ../templates/account/useredit.php:562 -msgid "Home Directory has changed. You have to run the following command as root in order to change the existing homedirectory:" -msgstr "A home könyvtár megváltozott. Root-ként kell futtatnia a következő utasítást , hogy megváltoztassa a jelenlegi home-könyvtárat:" - -#: ../templates/account/useredit.php:296 -#: ../templates/account/useredit.php:298 -#: ../templates/account/useredit.php:982 -#: ../help/help.inc:146 -#: ../lib/ldap.inc:200 -msgid "Home directory" -msgstr "Home könyvtár" - -#: ../templates/account/useredit.php:1255 -#: ../templates/profedit/profileuser.php:280 -#: ../help/help.inc:209 -#: ../lib/pdf.inc:206 -msgid "Home drive" -msgstr "Home meghajtó" - -#: ../templates/account/useredit.php:438 -#: ../templates/account/useredit.php:440 -#: ../templates/account/useredit.php:1262 -#: ../templates/profedit/profileuser.php:311 -#: ../help/help.inc:219 -msgid "Home path" -msgstr "A home könyvtár elérési útvonala" - -#: ../templates/account/useredit.php:440 -msgid "Home path is invalid." -msgstr "A home könyvtár elérési útvonala érvénytelen!" - -#: ../templates/profedit/profilecreate.php:75 -msgid "Homedir is invalid!" -msgstr "A home könyvtár érvénytelen!" - -#: ../templates/account/useredit.php:298 -msgid "Homedirectory contains invalid characters." -msgstr "A home könyvtár neve érvénytelen karaktereket tartalmaz." - -#: ../templates/account/hostedit.php:464 -#, php-format -msgid "Host %s has been created." -msgstr "%s gazdaállomás létrehozva." - -#: ../templates/account/hostedit.php:461 -#, php-format -msgid "Host %s has been modified." -msgstr "%s gazdaállomás módosítva." - -#: ../templates/profedit/profilehost.php:63 -msgid "Host attributes" -msgstr "Gazdaállomás attribútumai" - -#: ../lib/ldap.inc:216 -msgid "Host description" -msgstr "Gazdaállomás leírása" - -#: ../help/help.inc:170 -msgid "Host description. If left empty host name will be used." -msgstr "A gazdaállomás leírása. Ha üresen hagyja, a gazda nevét használom helyette." - -#: ../templates/config/confsave.php:164 -#: ../templates/confwiz/o_lists.php:60 -msgid "Host list attributes are invalid!" -msgstr "Gazdaállomás listájának attribútumai érvénytelenek!" - -#: ../templates/account/hostedit.php:131 -#: ../templates/account/hostedit.php:137 -#: ../templates/account/hostedit.php:177 -#: ../templates/account/hostedit.php:364 -#: ../help/help.inc:162 -#: ../lib/ldap.inc:214 -msgid "Host name" -msgstr "Gazdaállomás név" - -#: ../help/help.inc:163 -msgid "Host name of the host which should be created. Valid characters are: a-z,0-9, .-_$. Lam does not allow a number as first character because useradd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. Hostnames are always ending with $. If last character is not $ it will be added. If hostname is already used hostname will be expanded with a number. The next free number will be used." -msgstr "A létrehozásra kerülő gazdaállomás neve. Érvényes karakterek: a-z, 0-9, .-_$. A Lam nem fogad el első karakterként számot, mert a felhasználó hozzáadása parancs sem fogadja el. A Lam nem engedi a nagybetűs A-Z karakterek használatát, mert ez különböző problémák forrása lehet. A gazdanevek mindig $ karakterrel végződnek. Ha az utolsó karakter nem \"$\", akkor ez automatikusan hozzáadódik. Ha a gazdanév már létezik, a név egy számmmal lesz kiegészítve. A legközelebbi, még nem használt számmal." - -#: ../lib/ldap.inc:213 -msgid "Host username" -msgstr "A gazdán használt felhasználónév" - -#: ../templates/config/confmain.php:133 -#: ../templates/confwiz/server2.php:147 -#: ../lib/config.inc:277 -msgid "HostSuffix" -msgstr "Gazda utótag" - -#: ../templates/config/confsave.php:114 -#: ../templates/confwiz/server2.php:65 -msgid "HostSuffix is invalid!" -msgstr "Gazda utótag érvénytelen!" - -#: ../templates/account/hostedit.php:120 -msgid "Hostname" -msgstr "Gazdaállomás neve" - -#: ../templates/account/hostedit.php:177 -msgid "Hostname already in use. Selected next free hostname." -msgstr "A gazdanév már létezik. A legközelebb álló, nem használt nevet választom helyette." - -#: ../templates/account/hostedit.php:137 -msgid "Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !" -msgstr "Munkaállomásnév érvénytelen karaktereket tartalmaz. Érvényes karaketerek: a-z, A-Z, 0-9 és .-_ !" - -#: ../templates/main_header.php:75 -#: ../templates/main_header.php:80 -#: ../templates/confwiz/o_lists.php:118 -#: ../help/help.inc:75 -msgid "Hosts" -msgstr "Gazdaállomások" - -#: ../lib/account.inc:894 -#: ../lib/account.inc:897 -msgid "ID is already in use" -msgstr "Az ID már foglalt" - -#: ../lib/account.inc:878 -#: ../lib/account.inc:879 -#: ../lib/account.inc:890 -#: ../lib/account.inc:894 -#: ../lib/account.inc:897 -msgid "ID-Number" -msgstr "ID szám" - -#: ../templates/masscreate.php:383 -msgid "If Primary group does not exist it will be created." -msgstr "Ha az elsődleges csoport nem létezik, létrehozom." - -#: ../templates/masscreate.php:381 -msgid "If Primary group is not given it'll used from profile." -msgstr "Ha az elsődleges csoportot nem adja meg, a profilban érvényes változatot használom." - -#: ../help/help.inc:190 -msgid "If a not yet existing group is defined in csv-file, a new group in the selected group suffix will be created." -msgstr "Ha még nem létező csoport szerepel a csv-file-ban, a kijelölt csoport utótagban egy új csoport kerül létrehozásra." - -#: ../help/help.inc:269 -msgid "If a not yet existing group is defined in csv-file, a new group with the selected group profile will be created." -msgstr "Ha a csv-file-ban még nem létező csoport szerepel, egy új csoportot hozok létre a kijelölt csoport-profillal." - -#: ../help/help.inc:198 -msgid "If checked account will be deactivated by putting a ! before the encrypted password." -msgstr "Ha bejelöli, az azonosítót letiltom, kódolt jelszava elé egy ! karaktert helyezve." - -#: ../help/help.inc:208 -msgid "If checked account will be deactivated. (Setting D-Flag)" -msgstr "Ha bejelöli, az azonosítót letiltom. (A D-Flag beállítása)" - -#: ../help/help.inc:196 -msgid "If checked no password will be used." -msgstr "Ha bejelöli, akkor ide nem tartozik majd jelszó." - -#: ../help/help.inc:202 -msgid "If checked password does not expire. (Setting X-Flag)" -msgstr "Ha bejelöli, a jelszavak nem járnak le sohasem. (Az X-Flag beállítása)" - -#: ../help/help.inc:200 -msgid "If checked unix password will also be used as samba password." -msgstr "Ha bejelöli, a unix jelszó szolgál majd samba jelszóként is." - -#: ../help/help.inc:158 -#, php-format -msgid "If empty GID number will be generated automaticly. Valid values are between %s and %s." -msgstr "Ha üresen hagyja, a GID szám automatikusan keletkezik. Használható értékek %s és %s között." - -#: ../help/help.inc:142 -#: ../help/help.inc:165 -#, php-format -msgid "If empty UID number will be generated automaticly. Valid values are between %s and %s." -msgstr "Ha üresen hagyja, az UID szám automatikusan keletkezik. Használható értékek %s és %s között." - -#: ../help/help.inc:188 -msgid "If selected users will be added with OUs expanded with their primary group. E.g. if a user is in group admin the user suffix will be ou=admin,+user suffix." -msgstr "Ha kijelöli, a felhasználók OU-jának létrehozása elsődleges csoportnevükkel kibővítve történik. Pl. ha egy felhasználó az admin csoport tagja, a felhasználói utótag ou=admin,+user utótag lesz." - -#: ../help/help.inc:127 -msgid "If set to \"yes\" the Windows password will be the same as the Unix one." -msgstr "Ha \"igen\"-re állítja, a Windows jelszó ugyanaz lesz, mint a Unix-on használatos." - -#: ../help/help.inc:131 -msgid "If set to \"yes\" the user will be able to change his Windows password." -msgstr "Ha \"igen\"-re állítja, a felhasználó megváltoztathatja Windows-jelszavát." - -#: ../help/help.inc:129 -#: ../help/help.inc:133 -msgid "If unsure say \"yes\" here." -msgstr "Ha bizonytalan, válaszoljon \"igen\"-t." - -#: ../help/help.inc:99 -msgid "If you use Samba 3.x with the new LDAP schema say \"yes\" here, otherwise \"no\"." -msgstr "Ha Samba 3.x-et használ az új LDAP sémával, akkor most válaszoljon \"igen\"-nel, egyébként \"nem\"-mel." - -#: ../templates/confwiz/o_lang.php:146 -msgid "If you want more than one user to login to LAM please enter its DN(s) here. Multiple entries are seperated by semicolons." -msgstr "Ha azt akarja, hogy egynél több felhasználó léphessen be a LAM-ba, akkor kérem, itt adja meg DN-jét (DN-jeit). Több bejegyzést pontosvesszővel elválasztva kell megadni." - -#: ../help/help.inc:97 -msgid "If you want to change the current preferences password, please enter it here." -msgstr "Ha a jelenlegi beállításokat védő jelszót meg akarja változtatni, kérem, most adja meg." - -#: ../help/help.inc:120 -msgid "If you want to change your master configuration password, please enter it here." -msgstr "Ha a mester beállításokat védő jelszót meg akarja változtatni, kérem, most adja meg." - -#: ../templates/confwiz/o_lists.php:106 -msgid "If you want to input your own description it would look like this: \"attribute:description\"." -msgstr "Ha Ön saját leírást óhajt megadni, ilyen formában nézhet ki: \"attribútum:leírás\"." - -#: ../templates/confwiz/o_daemon.php:105 -msgid "If you want to manage quotas and homedirectories with LAM you need to setup lamdaemon.pl." -msgstr "Ha a kvótákat és a home-könyvtárakat akarja szabályozni a LAM segítségével, akkor be kell állítania a lamdaemon.pl-t." - -#: ../help/help.inc:279 -msgid "If you want to use a well known RID you can selcet a well known group." -msgstr "Ha egy jól ismert RID-t akar használni, egy jól ismert csoportot választhat." - -#: ../templates/confwiz/ldaptest.php:490 -msgid "Ignore" -msgstr "Figyelmen kívül hagyni" - -#: ../templates/masscreate.php:284 -msgid "Infos" -msgstr "Információk" - -#: ../templates/account/groupedit.php:267 -#: ../templates/account/useredit.php:473 -#: ../templates/profedit/profilecreate.php:261 -#: ../templates/profedit/profilecreate.php:326 -msgid "Inode hard quota" -msgstr "Inode kemény kvóta" - -#: ../templates/account/groupedit.php:267 -#: ../templates/account/useredit.php:473 -#: ../templates/profedit/profilecreate.php:261 -#: ../templates/profedit/profilecreate.php:326 -msgid "Inode hard quota contains invalid characters. Only natural numbers are allowed" -msgstr "Az inode kemény kvóta érvénytelen karaktereket tartalmaz. Csak természetes számok használhatóak." - -#: ../templates/account/groupedit.php:265 -#: ../templates/account/useredit.php:471 -#: ../templates/profedit/profilecreate.php:256 -#: ../templates/profedit/profilecreate.php:321 -msgid "Inode soft quota" -msgstr "Inode lágy kvóta" - -#: ../templates/account/groupedit.php:265 -#: ../templates/account/useredit.php:471 -#: ../templates/profedit/profilecreate.php:256 -#: ../templates/profedit/profilecreate.php:321 -msgid "Inode soft quota contains invalid characters. Only natural numbers are allowed" -msgstr "Az inode lágy kvóta érvénytelen karaktereket tartalmaz. Csak természetes számok használhatóak." - -#: ../templates/account/groupedit.php:247 -#: ../templates/account/useredit.php:453 -msgid "Inserted gecos-field as display name." -msgstr "A gecos-mező képernyőnévként beillesztve." - -#: ../templates/account/groupedit.php:171 -msgid "Inserted groupname in gecos-field." -msgstr "A csoportnév a gecos-mezőbe illesztve." - -#: ../templates/account/hostedit.php:186 -msgid "Inserted hostname in gecos-field." -msgstr "A gazdaállomás neve a gecos-mezőbe illesztve." - -#: ../templates/account/useredit.php:241 -#: ../templates/masscreate.php:555 -msgid "Inserted sur- and given name in gecos-field." -msgstr "A vezeték- és keresztnév a gecos-mezőbe illesztve." - -#: ../templates/account/useredit.php:438 -msgid "Inserted user- or groupname in HomePath." -msgstr "A felhasználó- vagy csoportnév a home könyvtár elérési útvonalába illesztve." - -#: ../templates/account/useredit.php:435 -msgid "Inserted user- or groupname in profilepath." -msgstr "A felhasználó- vagy csoportnév a profil elérési útvonalába illesztve." - -#: ../templates/account/useredit.php:432 -msgid "Inserted user- or groupname in scriptpath." -msgstr "A felhasználó- vagy csoportnév a szkript elérési útvonalába illesztve." - -#: ../templates/massdetail.php:184 -msgid "Invalid Value!" -msgstr "Érvénytelen érték!" - -#: ../templates/profedit/profilecreate.php:273 -#: ../templates/profedit/profilecreate.php:338 -#: ../templates/profedit/profilecreate.php:377 -msgid "Invalid profile name!" -msgstr "Érvénytelen profilnév!" - -#: ../lib/status.inc:41 -msgid "Invalid/Missing Message type" -msgstr "Érvénytelen/hiányzó üzenettípus" - -#: ../lib/account.inc:879 -msgid "It is possible that this ID-number is reused. This can cause several problems because files with old permissions might still exist. To avoid this warning set maxUID to a higher value." -msgstr "Lehetséges, hogy ez az ID-szám egyszer már használatban volt. Ez különböző problémákat okozhat, mert lehetséges, hogy léteznek file-ok régi engedélyekkel. Hogy ne legyen szükség ilyen figyelmeztetésre, állítsa a maxUID értékét magasabbra." - -#: ../templates/masscreate.php:279 -msgid "It will be created." -msgstr "Létrehozva." - -#: ../lib/status.inc:40 -msgid "LAM Internal Error" -msgstr "LAM belső hiba" - -#: ../templates/confwiz/server2.php:196 -msgid "LAM caches its LDAP searches, you can set the cache time here. Shorter times will stress LDAP more but decrease the possibility that changes are not identified." -msgstr "A LAM cache-elést használ LDAP kereséseihez, a cache idejét itt adhatja meg. Rövidebb időértékek jobban terhelik az LDAP-t, de csökkentik annak valószínűségét, hogy a változások nem kerülnek felismerésre." - -#: ../templates/confwiz/ldaptest.php:479 -msgid "LAM can create them for you or you have to create them manually later." -msgstr "A LAM létrehozhatja ezeket Önnek, vagy Önnek kell később manuálisan létrehoznia őket. " - -#: ../templates/confwiz/ldaptest.php:478 -msgid "LAM detected that one or more essential Samba groups are missing. They are listed below." -msgstr "A LAM észrevette, hogy egy vagy több lényeges Samba csoport hiányzik. Ezek listája alább látható." - -#: ../templates/confwiz/server2.php:170 -#: ../help/help.inc:106 -msgid "LAM supports CRYPT, SHA, SSHA, MD5 and SMD5 to generate the hash value of an user password. SSHA and CRYPT are the most common but CRYPT does not support passwords greater than 8 letters. We do not recommend to use plain text passwords." -msgstr "A LAM támogatja a CRYPT-et, az SHA-t, az SSHA-t, az MD5-öt és az SMD5-öt a felhasználói jelszó hash értékének létrehozásához. Az SSHA és a CRYPT a legelterjedtebbek, ám a CRYPT nem támogat 8 betűnél hosszabb jelszavakat. Nem javasoljuk a sima szöveges, úgynevezett plain text jelszavak használatát." - -#: ../help/help.inc:101 -msgid "LAM will not work if version is wrong!" -msgstr "A LAM nem fog működni, ha a verziószám helytelen!" - -#: ../templates/config/confmain.php:99 -#: ../templates/config/confsave.php:74 -msgid "LDAP Account Manager Configuration" -msgstr "Az LDAP Account Manager beállítása" - -#: ../templates/config/confmain.php:227 -msgid "LDAP List settings" -msgstr "LDAP listázási beállítások" - -#: ../templates/lists/listdomains.php:112 -#: ../templates/lists/listgroups.php:175 -#: ../templates/lists/listhosts.php:179 -#: ../templates/lists/listusers.php:218 -msgid "LDAP Search failed! Please check your preferences." -msgstr "Az LDAP keresés sikertelen! Kérem, ellenőrízze a beállításait." - -#: ../templates/confwiz/server.php:150 -msgid "LDAP admin DN" -msgstr "LDAP adminisztrátor DN" - -#: ../templates/login.php:326 -#: ../templates/confwiz/server.php:71 -msgid "LDAP error, server says:" -msgstr "LDAP hiba, a szerver azt válaszolja:" - -#: ../templates/login.php:237 -msgid "LDAP server" -msgstr "LDAP szerver" - -#: ../templates/lists/listdomains.php:101 -#: ../templates/lists/listgroups.php:161 -#: ../templates/lists/listhosts.php:165 -#: ../templates/lists/listusers.php:203 -msgid "LDAP sizelimit exceeded, not all entries are shown." -msgstr "Elértük az LDAP mérethatárt, nem látszik minden bejegyzés." - -#: ../templates/confwiz/server2.php:227 -msgid "Lamdaemon settings and PDF text" -msgstr "Lamdaemon beállítások és PDF szöveg" - -#: ../templates/confwiz/server2.php:226 -msgid "Language and additional admin users" -msgstr "Nyelv és további adminisztrátor felhasználók" - -#: ../templates/config/confsave.php:175 -#: ../templates/confwiz/o_lang.php:54 -msgid "Language is not defined!" -msgstr "Nincs megadva a nyelv!" - -#: ../lib/config.inc:39 -msgid "Language not defined in session!" -msgstr "A nyelv nincs megadva a session-ben!" - -#: ../templates/config/confmain.php:265 -msgid "Language settings" -msgstr "Nyelvi beállítások" - -#: ../templates/account/useredit.php:960 -#: ../lib/ldap.inc:199 -msgid "Last name" -msgstr "Keresztnév" - -#: ../help/help.inc:62 -msgid "List attributes" -msgstr "Lista attribútumok" - -#: ../templates/config/confsave.php:99 -#: ../templates/confwiz/o_lang.php:57 -msgid "List of admin users is empty or invalid!" -msgstr "Az adminisztrátor felhasználók listája üres vagy érvénytelen!" - -#: ../help/help.inc:218 -msgid "List of samba workstations the user is allowed to login. Empty means every workstation." -msgstr "Azon samba munkaállomások listája, melyekre a felhasználó bejelentkezhet. Ha üresen marad, minden munkaállomásra való bejelentkezés engedélyezett." - -#: ../templates/config/confmain.php:343 -#: ../templates/confwiz/o_lang.php:152 -#: ../lib/config.inc:292 -msgid "List of valid users" -msgstr "Az érvényes felhasználók listája" - -#: ../templates/account/groupedit.php:629 -#: ../templates/account/hostedit.php:356 -#: ../templates/account/useredit.php:1023 -msgid "Load Profile" -msgstr "Profil betöltése" - -#: ../templates/account/groupedit.php:624 -#: ../templates/account/hostedit.php:278 -#: ../templates/account/hostedit.php:351 -#: ../templates/account/useredit.php:1018 -#: ../help/help.inc:185 -msgid "Load profile" -msgstr "Profil betöltése" - -#: ../templates/login.php:220 -#: ../templates/config/conflogin.php:72 -#: ../help/help.inc:36 -msgid "Login" -msgstr "Bejelentkezés" - -#: ../lib/pdf.inc:162 -msgid "Login Shell" -msgstr "Bejelentkező shell" - -#: ../lib/pdf.inc:172 -msgid "Login at host(s)" -msgstr "Bejelentkezés a következő gép(ek)re" - -#: ../lib/pdf.inc:218 -msgid "Login at workstation(s)" -msgstr "Bejelentkezés a következő munkaállomás(ok)ra" - -#: ../templates/account/useredit.php:992 -#: ../templates/profedit/profileuser.php:127 -#: ../help/help.inc:151 -#: ../lib/ldap.inc:201 -msgid "Login shell" -msgstr "Bejelentkező shell" - -#: ../templates/account/useredit.php:432 -#: ../templates/account/useredit.php:444 -#: ../templates/account/useredit.php:1272 -#: ../templates/profedit/profileuser.php:325 -#: ../help/help.inc:211 -#: ../lib/pdf.inc:210 -msgid "Logon script" -msgstr "Bejelentkezési script" - -#: ../templates/account/useredit.php:444 -#: ../templates/config/confsave.php:181 -#: ../templates/profedit/profilecreate.php:214 -msgid "Logon script is invalid!" -msgstr "Bejelentkezési script útvonala érvénytelen!" - -#: ../templates/logout.php:52 -#: ../templates/main_header.php:51 -msgid "Logout" -msgstr "Kijelentkezés" - -#: ../help/help.inc:60 -msgid "Machine number" -msgstr "Munkaállomás száma" - -#: ../templates/config/conflogin.php:127 -msgid "Manage profiles" -msgstr "Profilok beállítása" - -#: ../templates/config/profmanage.php:351 -msgid "Master Password:" -msgstr "Mesterjelszó:" - -#: ../templates/confwiz/start.php:168 -#: ../help/help.inc:121 -msgid "Master password" -msgstr "Mesterjelszó" - -#: ../templates/config/profmanage.php:59 -#: ../templates/confwiz/start.php:45 -msgid "Master password is wrong!" -msgstr "Hibás mesterjelszó!" - -#: ../templates/config/profmanage.php:119 -msgid "Master passwords are different or empty!" -msgstr "A mester jelszavak nem egyeznek vagy üres!" - -#: ../templates/masscreate.php:117 -msgid "Max 400 users allowed. Ignored additional users." -msgstr "Legfeljebb 400 felhasználó fogadható. A további felhasználókat figyelmen kívül hagyom." - -#: ../templates/config/confsave.php:169 -msgid "Max list entries is invalid!" -msgstr "A maximális listabejegyzés érvénytelen!" - -#: ../templates/config/confmain.php:209 -#: ../templates/confwiz/o_ranges.php:131 -#: ../lib/config.inc:282 -msgid "Maximum GID number" -msgstr "A legnagyobb GID-érték" - -#: ../templates/config/confsave.php:139 -#: ../templates/confwiz/o_ranges.php:63 -msgid "Maximum GID number is invalid!" -msgstr "A legnagyobb GID-érték érvénytelen!" - -#: ../templates/config/confmain.php:218 -#: ../templates/confwiz/o_ranges.php:140 -#: ../lib/config.inc:284 -msgid "Maximum Machine number" -msgstr "Legnagyobb munkaállomásszám" - -#: ../templates/config/confsave.php:149 -#: ../templates/confwiz/o_ranges.php:69 -msgid "Maximum Machine number is invalid!" -msgstr "A legnagyobb munkaállomásszám érvénytelen!" - -#: ../templates/config/confmain.php:200 -#: ../templates/confwiz/o_ranges.php:122 -#: ../lib/config.inc:280 -msgid "Maximum UID number" -msgstr "Legnagyobb UID értéke" - -#: ../templates/config/confsave.php:129 -#: ../templates/confwiz/o_ranges.php:57 -msgid "Maximum UID number is invalid!" -msgstr "A legnagyobb UID-érték érvénytelen!" - -#: ../templates/config/confmain.php:250 -#: ../help/help.inc:82 -#: ../lib/config.inc:288 -msgid "Maximum list entries" -msgstr "Legtöbb listabejegyzés száma" - -#: ../templates/account/useredit.php:1089 -#: ../templates/profedit/profileuser.php:166 -#: ../help/help.inc:175 -msgid "Maximum password age" -msgstr "A jelszó lejárásának legkésőbbi időpontja" - -#: ../templates/account/groupedit.php:518 -#: ../templates/account/groupedit.php:575 -#: ../templates/account/groupedit.php:645 -#: ../templates/account/groupedit.php:739 -#: ../templates/account/groupedit.php:796 -#: ../lib/pdf.inc:458 -msgid "Members" -msgstr "Tagok" - -#: ../templates/config/confmain.php:206 -#: ../templates/confwiz/o_ranges.php:128 -#: ../lib/config.inc:281 -msgid "Minimum GID number" -msgstr "A minimális GID érték" - -#: ../templates/config/confsave.php:134 -#: ../templates/confwiz/o_ranges.php:60 -msgid "Minimum GID number is invalid!" -msgstr "A legkisebb GID-érték érvénytelen!" - -#: ../templates/config/confmain.php:215 -#: ../templates/confwiz/o_ranges.php:137 -#: ../lib/config.inc:283 -msgid "Minimum Machine number" -msgstr "Minimum munkaállomásszám" - -#: ../templates/config/confsave.php:144 -#: ../templates/confwiz/o_ranges.php:66 -msgid "Minimum Machine number is invalid!" -msgstr "A legkisebb munkaállomásszám érvénytelen!" - -#: ../templates/config/confmain.php:197 -#: ../templates/confwiz/o_ranges.php:119 -#: ../lib/config.inc:279 -msgid "Minimum UID number" -msgstr "Minimális UID értéke" - -#: ../templates/config/confsave.php:124 -#: ../templates/confwiz/o_ranges.php:54 -msgid "Minimum UID number is invalid!" -msgstr "A legkisebb UID-érték érvénytelen!" - -#: ../templates/account/useredit.php:1094 -#: ../templates/profedit/profileuser.php:173 -#: ../help/help.inc:177 -msgid "Minimum password age" -msgstr "A jelszót minimum eddig kell használni" - -#: ../templates/account/useredit.php:490 -#: ../templates/account/useredit.php:1502 -#: ../templates/masscreate.php:367 -#: ../templates/masscreate.php:569 -#: ../templates/massdetail.php:152 -#: ../templates/massdetail.php:256 -#: ../help/help.inc:260 -#: ../help/help.inc:261 -msgid "Mobile number" -msgstr "Mobil telefonszám" - -#: ../templates/account/groupedit.php:822 -#: ../templates/account/hostedit.php:432 -#: ../templates/account/useredit.php:1554 -msgid "Modify" -msgstr "Módosítás" - -#: ../templates/account/groupedit.php:836 -#: ../templates/account/hostedit.php:441 -#: ../templates/account/useredit.php:1558 -msgid "Modify Account" -msgstr "Azonosító módosítása" - -#: ../templates/account/groupedit.php:758 -#: ../templates/account/useredit.php:1417 -#: ../templates/profedit/profilegroup.php:99 -#: ../templates/profedit/profileuser.php:376 -#: ../help/help.inc:224 -#: ../lib/pdf.inc:240 -msgid "Mountpoint" -msgstr "Csatolási pont" - -#: ../help/help.inc:225 -msgid "Mountpoint of device with enabled quotas." -msgstr "Kvótákkal szabályozott eszköz csatolási pontja." - -#: ../templates/account/groupedit.php:215 -#: ../templates/account/groupedit.php:218 -#: ../templates/account/hostedit.php:179 -#: ../templates/account/hostedit.php:182 -#: ../templates/account/useredit.php:305 -#: ../templates/account/useredit.php:308 -#: ../templates/masscreate.php:563 -#: ../templates/masscreate.php:566 -#: ../templates/massdetail.php:90 -msgid "Name" -msgstr "Név" - -#: ../templates/account/groupedit.php:218 -#: ../templates/account/hostedit.php:182 -#: ../templates/account/useredit.php:308 -#: ../templates/masscreate.php:566 -#: ../templates/massdetail.php:90 -msgid "Name contains invalid characters. First character must be a letter." -msgstr "A név érvénytelen karaktereket tartalmaz. Az első karakternek betűnek kell lennie." - -#: ../templates/account/groupedit.php:215 -#: ../templates/account/hostedit.php:179 -#: ../templates/account/useredit.php:305 -#: ../templates/masscreate.php:563 -msgid "Name must contain between 3 and 20 characters." -msgstr "A névnek minimum 3, maximum 20 karakterből kell állnia." - -#: ../help/help.inc:135 -msgid "Name under which the profile will be saved. If a profile with the same name exists, it will be overwritten." -msgstr "Név, mellyel a profil el lesz mentve. Ha már van ilyen nevű profil, az új profil felülírja azt." - -#: ../templates/lists/listdomains.php:200 -msgid "New Domain" -msgstr "Új tartomány" - -#: ../templates/lists/listgroups.php:312 -msgid "New Group" -msgstr "Új csoport" - -#: ../templates/lists/listhosts.php:301 -msgid "New Host" -msgstr "Új gazdaaállomás" - -#: ../templates/ou_edit.php:52 -#: ../templates/ou_edit.php:117 -#: ../templates/ou_edit.php:182 -#: ../templates/ou_edit.php:247 -msgid "New OU created successfully." -msgstr "Új OU-t sikeresen létrehozva." - -#: ../templates/config/confmain.php:351 -msgid "New Password" -msgstr "Új jelszó" - -#: ../templates/config/profmanage.php:126 -msgid "New default profile set successfully." -msgstr "Az új alapértelmezett profil sikeresen beállítva." - -#: ../templates/config/profmanage.php:326 -msgid "New master password" -msgstr "Új mester jelszó" - -#: ../templates/config/profmanage.php:117 -msgid "New master password set successfully." -msgstr "Az új mester jelszó sikeresen beállítva." - -#: ../templates/ou_edit.php:344 -#: ../templates/ou_edit.php:377 -#: ../templates/ou_edit.php:410 -#: ../templates/ou_edit.php:444 -#: ../help/help.inc:289 -msgid "New organizational unit" -msgstr "Új szervezeti egység" - -#: ../templates/config/profmanage.php:107 -msgid "New password set successfully." -msgstr "A jelszó módosítva." - -#: ../templates/account/groupedit.php:435 -#: ../templates/account/hostedit.php:288 -#: ../templates/account/useredit.php:719 -msgid "New profile created." -msgstr "Az új profil létrehozva." - -#: ../templates/lists/listusers.php:367 -msgid "New user" -msgstr "Új felhasználó" - -#: ../templates/masscreate.php:422 -#: ../templates/confwiz/o_ranges.php:152 -#: ../templates/confwiz/o_daemon.php:141 -#: ../templates/confwiz/server2.php:234 -#: ../templates/confwiz/o_lang.php:162 -#: ../templates/confwiz/server.php:196 -#: ../templates/confwiz/o_lists.php:147 -#: ../templates/confwiz/start.php:181 -msgid "Next" -msgstr "Következő" - -#: ../templates/domain.php:125 -#: ../templates/confwiz/ldaptest.php:361 -#: ../help/help.inc:303 -msgid "Next Group RID" -msgstr "Következő csoport RID" - -#: ../templates/domain.php:109 -#: ../templates/confwiz/ldaptest.php:345 -#: ../help/help.inc:299 -msgid "Next RID" -msgstr "Következő RID" - -#: ../templates/domain.php:239 -#: ../templates/confwiz/ldaptest.php:243 -msgid "Next RID is not a number!" -msgstr "A következő RID értéke nem szám!" - -#: ../help/help.inc:300 -msgid "Next RID to use when creating accounts." -msgstr "A következő RID, melyet azonosítók létrehozásakor használni kell." - -#: ../help/help.inc:304 -msgid "Next RID to use when creating groups." -msgstr "A következő RID, melyet csoportok létrehozásakor használni kell." - -#: ../help/help.inc:302 -msgid "Next RID to use when creating user accounts." -msgstr "A következő RID, melyet felhasználói azonosítók létrehozásakor használni kell." - -#: ../templates/domain.php:117 -#: ../templates/confwiz/ldaptest.php:353 -#: ../help/help.inc:301 -msgid "Next User RID" -msgstr "Következő felhasználó RID" - -#: ../templates/domain.php:241 -#: ../templates/confwiz/ldaptest.php:249 -msgid "Next group RID is not a number!" -msgstr "A következő csoport RID-je nem szám!" - -#: ../templates/domain.php:240 -#: ../templates/confwiz/ldaptest.php:246 -msgid "Next user RID is not a number!" -msgstr "A következő felhasználó RID-je nem szám!" - -#: ../templates/lists/listgroups.php:166 -#: ../templates/lists/listgroups.php:175 -#: ../templates/lists/listgroups.php:179 -msgid "No Groups found!" -msgstr "csoport nem található!" - -#: ../templates/lists/listdomains.php:106 -#: ../templates/lists/listdomains.php:112 -#: ../templates/lists/listdomains.php:116 -msgid "No Samba Domains found!" -msgstr "Samba tartomány nem található!" - -#: ../templates/lists/listhosts.php:170 -#: ../templates/lists/listhosts.php:179 -#: ../templates/lists/listhosts.php:183 -msgid "No Samba Hosts found!" -msgstr "Samba munkaállomás nem található" - -#: ../templates/lists/listusers.php:208 -#: ../templates/lists/listusers.php:219 -msgid "No Users found!" -msgstr "Felhasználó nem található!" - -#: ../templates/initsuff.php:170 -msgid "No changes were made." -msgstr "Nem történt változtatás." - -#: ../templates/initsuff.php:154 -#: ../templates/main.php:64 -#: ../templates/confwiz/ldaptest.php:311 -msgid "No domains found, please create one." -msgstr "Nincs létrehozva tartomány, készítsen egyet." - -#: ../lib/account.inc:878 -msgid "No free ID-Number!" -msgstr "Nincs szabad ID-szám!" - -#: ../templates/delete.php:240 -msgid "No group(s) were deleted" -msgstr "Egy csoport sem lett törölve." - -#: ../templates/delete.php:232 -msgid "No host(s) were deleted" -msgstr "Egy gazdaállomás sem lett törölve" - -#: ../templates/config/confmain.php:82 -msgid "No password was entered!" -msgstr "Nem adott meg jelszót!" - -#: ../templates/account/useredit.php:243 -#: ../templates/masscreate.php:558 -msgid "No primary group defined!" -msgstr "Nincs megadva elsődleges csoport!" - -#: ../templates/account/groupedit.php:432 -#: ../templates/account/hostedit.php:285 -#: ../templates/account/useredit.php:716 -msgid "No profilename given." -msgstr "Nem adott meg profilnevet." - -#: ../templates/profedit/profilecreate.php:389 -msgid "No type specified!" -msgstr "Nem határozott meg típust!" - -#: ../lib/pdf.inc:255 -msgid "No user quotas defined or no quota support by filesystem." -msgstr "Nincsenek meghatározott felhasználói kvóták, vagy a filerendszer nem támogatja a kvótát." - -#: ../templates/delete.php:224 -msgid "No user(s) were deleted" -msgstr "Egy felhasználó sem lett törölve" - -#: ../templates/account/groupedit.php:845 -#: ../templates/account/hostedit.php:459 -#: ../templates/account/useredit.php:1566 -#: ../help/help.inc:47 -msgid "Note" -msgstr "Megjegyzés" - -#: ../help/help.inc:174 -msgid "Number of days a user can login even his password has expired. -1=always." -msgstr "Ahány napig a felhasználó beléphet jelszavának lejárta után. -1=mindig." - -#: ../help/help.inc:178 -msgid "Number of days a user has to wait until he\\'s allowed to change his password again. If set value must be 0<." -msgstr "Ahány napig a felhasználónak várnia kell, hogy jelszavát újra megváltoztassa. Ha beállítja, 0-nál nagyobb értéket kell megadnia." - -#: ../help/help.inc:176 -msgid "Number of days after a user has to change his password again. If set value must be 0<." -msgstr "Ahány nap után a felhasználónak ismételten meg kell változtatnia jelszavát. Ha beállítja, 0-nál nagyobb értéket kell megadnia." - -#: ../templates/ou_edit.php:58 -#: ../templates/ou_edit.php:123 -#: ../templates/ou_edit.php:188 -#: ../templates/ou_edit.php:253 -msgid "OU already exists!" -msgstr "Az OU már létezik!" - -#: ../templates/ou_edit.php:69 -#: ../templates/ou_edit.php:134 -#: ../templates/ou_edit.php:199 -#: ../templates/ou_edit.php:264 -msgid "OU deleted successfully." -msgstr "Az OU sikeresen törölve." - -#: ../templates/ou_edit.php:62 -#: ../templates/ou_edit.php:127 -#: ../templates/ou_edit.php:192 -#: ../templates/ou_edit.php:257 -msgid "OU is invalid!" -msgstr "Az OU érvénytelen!" - -#: ../templates/ou_edit.php:99 -#: ../templates/ou_edit.php:164 -#: ../templates/ou_edit.php:229 -#: ../templates/ou_edit.php:294 -msgid "OU is not empty or invalid!" -msgstr "Az OU nem üres vagy érvénytelen!" - -#: ../templates/main_header.php:54 -#: ../help/help.inc:289 -#: ../help/help.inc:291 -msgid "OU-Editor" -msgstr "OU szerkesztő" - -#: ../templates/account/hostedit.php:222 -#: ../templates/account/useredit.php:585 -msgid "ObjectClass posixAccount not found." -msgstr "A posixAzonosító objektumOsztály nem található." - -#: ../templates/account/groupedit.php:330 -msgid "ObjectClass posixGroup not found." -msgstr "A posixcsoport objektumOsztály nem található." - -#: ../templates/account/hostedit.php:226 -#: ../templates/account/useredit.php:594 -msgid "ObjectClass sambaAccount not found." -msgstr "A sambaAzonosító objektumOsztály nem található." - -#: ../templates/account/groupedit.php:328 -msgid "ObjectClass sambaGroupMapping not found." -msgstr "A sambaCsoportTérkép objektumOsztály nem található." - -#: ../templates/account/hostedit.php:224 -#: ../templates/account/useredit.php:590 -msgid "ObjectClass sambaSamAccount not found." -msgstr "A sambaSamAzonosító objektumOsztály nem található." - -#: ../templates/account/useredit.php:587 -msgid "ObjectClass shadowAccount not found." -msgstr "Az árnyékAzonosító objektumOsztály nem található." - -#: ../templates/config/conflogin.php:118 -msgid "Ok" -msgstr "Ok" - -#: ../templates/confwiz/server2.php:221 -msgid "Optional settings" -msgstr "Nem kötelező beállítások" - -#: ../templates/config/confmain.php:325 -msgid "PDF settings" -msgstr "PDF beállítások" - -#: ../templates/confwiz/o_daemon.php:126 -msgid "PDF text" -msgstr "PDF szöveg" - -#: ../templates/account/hostedit.php:390 -#: ../templates/account/useredit.php:316 -#: ../templates/account/useredit.php:346 -#: ../templates/account/useredit.php:418 -#: ../templates/account/useredit.php:442 -#: ../templates/account/useredit.php:1061 -#: ../templates/login.php:169 -#: ../templates/confwiz/server.php:159 -#: ../templates/confwiz/start.php:141 -msgid "Password" -msgstr "Jelszó" - -#: ../templates/account/useredit.php:351 -msgid "Password Expire" -msgstr "Jelszó érvényessége" - -#: ../templates/config/confsave.php:214 -msgid "Password changed!" -msgstr "Jelszó megváltozott!" - -#: ../templates/account/useredit.php:346 -#: ../templates/account/useredit.php:442 -msgid "Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !" -msgstr "A jelszó érvénytelen karaktert tartalmaz. Érvényes karakterek: a-z, A-Z, 0-9 és #*,.;:_-+!$%&/|?{[()]}= !" - -#: ../templates/account/useredit.php:1205 -#: ../templates/profedit/profileuser.php:257 -#: ../help/help.inc:201 -msgid "Password does not expire" -msgstr "A jelszó nem jár le" - -#: ../templates/account/useredit.php:1084 -#: ../help/help.inc:173 -#: ../lib/pdf.inc:168 -msgid "Password expire" -msgstr "Jelszó érvényessége" - -#: ../templates/account/useredit.php:351 -msgid "Password expire must be are natural number or -1." -msgstr "A jelszó lejárásához megadott érték csak természetes szám lehet, vagy -1. " - -#: ../templates/profedit/profileuser.php:159 -msgid "Password expiry" -msgstr "A jelszó lejárása" - -#: ../templates/profedit/profilecreate.php:147 -msgid "Password expiry is not numeric!" -msgstr "A jelszó lejárásához megadott érték nem numerikus!" - -#: ../templates/config/confsave.php:193 -#: ../templates/confwiz/server2.php:71 -msgid "Password hash is invalid!" -msgstr "A jelszó hash-e érvénytelen!" - -#: ../templates/config/confmain.php:147 -#: ../templates/confwiz/server2.php:176 -#: ../help/help.inc:105 -#: ../lib/config.inc:272 -msgid "Password hash type" -msgstr "A jelszó hash-ének típusa" - -#: ../templates/account/useredit.php:348 -#: ../templates/account/useredit.php:349 -msgid "Password maxage" -msgstr "A jelszó maximális érvényességi ideje" - -#: ../templates/account/useredit.php:349 -msgid "Password maxage must be are natural number." -msgstr "A jelszó maximális érvényességi ideje csak természetes szám lehet." - -#: ../templates/account/useredit.php:348 -msgid "Password maxage must bigger as Password Minage." -msgstr "A jelszó maximális érvényességi idejének nagyobbnak kell lennie a minimális érvényességi időnél." - -#: ../templates/profedit/profilecreate.php:115 -msgid "Password maximum age is not numeric!" -msgstr "A jelszó maximális érvényességi ideje nem numerikus!" - -#: ../templates/account/useredit.php:347 -msgid "Password minage" -msgstr "A jelszó minimális érvényességi ideje" - -#: ../templates/account/useredit.php:347 -msgid "Password minage must be are natural number." -msgstr "A jelszó minimális érvényességi ideje csak természetes szám lehet." - -#: ../templates/profedit/profilecreate.php:107 -msgid "Password minimum age is not numeric!" -msgstr "A jelszó minimális érvényességi ideje nem numerikus!" - -#: ../templates/account/useredit.php:352 -#: ../templates/account/useredit.php:1079 -#: ../help/help.inc:171 -msgid "Password warn" -msgstr "Jelszó figyelmeztetés" - -#: ../templates/account/useredit.php:352 -msgid "Password warn must be are natural number." -msgstr "Jelszó figyelmeztetés értéke csak természetes szám lehet." - -#: ../templates/profedit/profileuser.php:152 -msgid "Password warning" -msgstr "Jelszó figyelmeztetés" - -#: ../templates/config/confsave.php:208 -msgid "Passwords are different!" -msgstr "A két jelszó nem egyezik!" - -#: ../help/help.inc:215 -#, php-format -msgid "Path of the userprofile. Can be a local absolute path or a UNC-path (\\\\server\\share). $%s and $%s are replaced with user- and groupname." -msgstr "A felhasználói profil elérési útvonala. Helyi abszolút elérési útvonal vagy UNC elérési útvonal is lehet (\\\\server\\share). A $%s és $%s változók a felhasználó-és csoportnévvel lesznek helyettesítve." - -#: ../templates/config/confmain.php:315 -#: ../templates/confwiz/o_daemon.php:117 -#: ../lib/config.inc:290 -msgid "Path to external script" -msgstr "A külső script elérési útvonala" - -#: ../templates/account/useredit.php:795 -#: ../templates/account/useredit.php:865 -#: ../templates/account/useredit.php:927 -#: ../templates/account/useredit.php:1048 -#: ../templates/account/useredit.php:1165 -#: ../templates/account/useredit.php:1404 -#: ../templates/account/useredit.php:1453 -#: ../templates/account/useredit.php:1533 -msgid "Personal" -msgstr "Személyes adatok" - -#: ../lib/pdf.inc:78 -msgid "Personal User Infos" -msgstr "Személyes felhasználói adatok" - -#: ../templates/account/useredit.php:1464 -msgid "Personal properties" -msgstr "Személyes tulajdonságok" - -#: ../lib/pdf.inc:109 -msgid "Phone" -msgstr "Telefon" - -#: ../templates/account/groupedit.php:323 -#: ../templates/account/useredit.php:566 -#: ../templates/account/useredit.php:580 -msgid "Please check settings on samba page." -msgstr "Kérem ellenőrízze a beállításokat a samba oldalon." - -#: ../templates/account/hostedit.php:99 -#: ../templates/account/useredit.php:108 -msgid "Please create a group first." -msgstr "Kérem, előbb hozzon létre egy csoportot." - -#: ../templates/confwiz/start.php:117 -msgid "Please enter a name for the new profile. The name may contain letters, digits and -_." -msgstr "Kérem adja meg az új profil nevét. A név betűket, számokat és a -_ karaktereket tartalmazhatja." - -#: ../templates/account/useredit.php:492 -#: ../templates/masscreate.php:571 -#: ../templates/massdetail.php:156 -msgid "Please enter a valid eMail address!" -msgstr "Az e-mail cím formátuma érvénytelen!" - -#: ../templates/account/useredit.php:496 -#: ../templates/masscreate.php:575 -#: ../templates/massdetail.php:142 -msgid "Please enter a valid employee type!" -msgstr "Kérem adjon érvényes alkalmazott típust!" - -#: ../templates/account/useredit.php:491 -#: ../templates/masscreate.php:570 -#: ../templates/massdetail.php:154 -msgid "Please enter a valid fax number!" -msgstr "A fax szám formátuma érvénytelen!" - -#: ../templates/account/useredit.php:490 -#: ../templates/masscreate.php:569 -#: ../templates/massdetail.php:152 -msgid "Please enter a valid mobile number!" -msgstr "A mobiltelefonszám formátuma érvénytelen!" - -#: ../templates/account/useredit.php:494 -#: ../templates/masscreate.php:573 -#: ../templates/massdetail.php:148 -msgid "Please enter a valid postal address!" -msgstr "A levelezési cím formátuma érvénytelen!" - -#: ../templates/account/useredit.php:497 -#: ../templates/masscreate.php:576 -#: ../templates/massdetail.php:146 -msgid "Please enter a valid postal code!" -msgstr "Az irányítószám formátuma érvénytelen!" - -#: ../templates/account/useredit.php:493 -#: ../templates/masscreate.php:572 -#: ../templates/massdetail.php:144 -msgid "Please enter a valid street name!" -msgstr "Az utcanév formátuma érvénytelen!" - -#: ../templates/account/useredit.php:489 -#: ../templates/masscreate.php:568 -#: ../templates/massdetail.php:150 -msgid "Please enter a valid telephone number!" -msgstr "A telefonszám formátuma érvénytelen!" - -#: ../templates/account/useredit.php:495 -#: ../templates/masscreate.php:574 -#: ../templates/massdetail.php:140 -msgid "Please enter a valid title!" -msgstr "Kérem adjon érvényes címet!" - -#: ../lib/account.inc:890 -#, php-format -msgid "Please enter a value between %s and %s!" -msgstr "Kérem adjon %s és %s közötti értéket!" - -#: ../templates/config/conflogin.php:91 -msgid "Please enter password to change preferences:" -msgstr "Kérem adja meg a jelszót a beállítások módosításához:" - -#: ../templates/confwiz/o_ranges.php:112 -msgid "Please enter the UID/GID ranges for your accounts:" -msgstr "Kérem, adja meg az UID/GID tartományokat az azonosítóihoz:" - -#: ../templates/confwiz/server.php:123 -msgid "Please enter the URL of your LDAP server." -msgstr "Kérem, adja meg LDAP szerverének URL-ét." - -#: ../help/help.inc:37 -msgid "Please enter the configuration password. This is NOT your LDAP password. It is stored in your .conf-file. If this is the first time you log in, enter \"lam\"." -msgstr "Kérem adja meg a beállítást védő jelszót. Ez NEM az ön LDAP jelszava. Ez az ön .conf-filejában tárolódik. Ha most lép be először, akkor az \"lam\"-et használja." - -#: ../help/help.inc:122 -msgid "Please enter the master configuration password. This is NOT your LDAP password. It is stored in your config.cfg file. If this is the first time you log in, enter \"lam\"." -msgstr "Kérem, adja meg a mester beállításokat védő jelszót. Ez NEM az ön LDAP jelszava. Ez az ön config.cfg file-jában tárolódik. Ha most lép be először, akkor az \"lam\"-et használja." - -#: ../help/help.inc:110 -msgid "Please enter the name of the new profile and the password to change its settings. Profile names may contain letters, numbers and -/_." -msgstr "Kérem adja meg az új profil nevét és a beállítások megváltoztatásához szükséges jelszót. A profilnevek betűket, számokat és -/_ karaktereket tartalmazhatnak. " - -#: ../help/help.inc:112 -msgid "Please enter the new name of the profile. The name may contain letters, numbers and -/_." -msgstr "Kérem adja meg az új profil nevét. A név betűket, számokat és a -/_ karaktereket tartalmazhatja." - -#: ../templates/account/useredit.php:316 -#: ../templates/account/useredit.php:418 -msgid "Please enter the same password in both password-fields." -msgstr "Kérem, egyező jelszót írjon a két jelszó-mezőbe." - -#: ../templates/confwiz/server2.php:125 -msgid "Please enter the suffixes of your LDAP tree where LAM should store the accounts." -msgstr "Kérem, adja meg az utótagjait az Ön által használt LDAP fának, ahol a LAM-nak az azonosítókat tárolnia kell." - -#: ../templates/confwiz/o_lists.php:103 -msgid "Please enter which attributes should be displayed in the list views." -msgstr "Kérem, adja meg, hogy a listanézetekben mely attribútumok látszódjanak." - -#: ../templates/confwiz/start.php:162 -msgid "Please enter your configuration master password. This password is \"lam\" by default." -msgstr "Kérem, adja meg beállításainak mester jelszavát. Ez alapértelemzés szerint \"lam\". " - -#: ../templates/masscreate.php:349 -msgid "Please provide a csv-file with the following syntax. Values with * are required:" -msgstr "Kérem, adjon meg egy csv-file-t a következő szintakszis szerint. A *-os értékek szükségesek:" - -#: ../lib/status.inc:42 -msgid "Please report this error to the Bug-Tracker at {link=http://lam.sf.net}LDAP Account Manager Development Team{endlink}. The error number is {bold}0001:Invalid/Missing Message type.{endbold} Thank you." -msgstr "Kérem jelezze ezt a hibát a Bug-Tracker-en a {link=http://lam.sf.net}LDAP Account Manager Development Team{endlink}-nél. A hiba száma {bold}0001:Invalid/Missing Message type.{endbold}. Köszönöm." - -#: ../templates/confwiz/server2.php:222 -msgid "Please select here if you want to make additional changes to your configuration profile or if LAM should use default values." -msgstr "Kérem, most döntse el, hogy akar -e további változtatásokat beállítási profiljában, vagy a LAM használja az alapértelemzés szerinti értékeket." - -#: ../templates/account/groupedit.php:515 -#: ../templates/account/groupedit.php:572 -#: ../templates/account/groupedit.php:642 -#: ../templates/account/groupedit.php:736 -#: ../templates/account/groupedit.php:793 -#: ../templates/account/useredit.php:788 -#: ../templates/account/useredit.php:858 -#: ../templates/account/useredit.php:920 -#: ../templates/account/useredit.php:1041 -#: ../templates/account/useredit.php:1158 -#: ../templates/account/useredit.php:1398 -#: ../templates/account/useredit.php:1446 -#: ../templates/account/useredit.php:1526 -#: ../templates/masscreate.php:325 -msgid "Please select page:" -msgstr "Kérem, válassza ki az oldalt:" - -#: ../templates/confwiz/o_lang.php:101 -msgid "Please select your prefered language." -msgstr "Kérem, válassza ki a nyelvet, melyet használni szeretne." - -#: ../help/help.inc:275 -msgid "Position in ldap-tree where the group should be created." -msgstr "A hely az ldap-fán, ahol a csoportot létre kell hozni." - -#: ../help/help.inc:277 -msgid "Position in ldap-tree where the host should be created." -msgstr "A hely az ldap-fán, ahol a gazdaállomást létre kell hozni." - -#: ../help/help.inc:273 -msgid "Position in ldap-tree where the user should be created." -msgstr "A hely az ldap-fán, ahol a felhasználót létre kell hozni." - -#: ../templates/account/useredit.php:494 -#: ../templates/account/useredit.php:1490 -#: ../templates/masscreate.php:375 -#: ../templates/masscreate.php:573 -#: ../templates/massdetail.php:148 -#: ../templates/massdetail.php:244 -#: ../help/help.inc:256 -#: ../lib/pdf.inc:101 -msgid "Postal address" -msgstr "Levelezési cím" - -#: ../help/help.inc:257 -msgid "Postal address, city" -msgstr "Település" - -#: ../templates/account/useredit.php:497 -#: ../templates/account/useredit.php:1484 -#: ../templates/masscreate.php:373 -#: ../templates/masscreate.php:576 -#: ../templates/massdetail.php:146 -#: ../templates/massdetail.php:238 -#: ../help/help.inc:254 -#: ../help/help.inc:255 -#: ../lib/pdf.inc:97 -msgid "Postal code" -msgstr "Irányítószám" - -#: ../templates/confwiz/o_lists.php:105 -msgid "Predefined attributes are of type \"#attribute\"." -msgstr "Az előre meghatározott attribútumok \"#attribute\" típusúak." - -#: ../templates/confwiz/o_lists.php:111 -#: ../help/help.inc:67 -msgid "Predefined values" -msgstr "Előre meghatározott értékek" - -#: ../templates/account/hostedit.php:376 -#: ../templates/account/useredit.php:243 -#: ../templates/account/useredit.php:966 -#: ../templates/masscreate.php:283 -#: ../templates/masscreate.php:359 -#: ../templates/masscreate.php:558 -#: ../templates/profedit/profilehost.php:68 -#: ../templates/profedit/profileuser.php:93 -#: ../help/help.inc:153 -#: ../help/help.inc:167 -#: ../lib/pdf.inc:310 -#: ../lib/pdf.inc:354 -msgid "Primary group" -msgstr "Elsődleges csoport" - -#: ../templates/account/useredit.php:559 -msgid "Primary group has changed. You have to run the following command as root in order to change existing file-permissions:" -msgstr "Az elsődleges csoport megváltozott. Root-ként kell futtatnia a következő utasítást, hogy a jelenleg érvényes file-engedélyeket megváltoztassa:" - -#: ../templates/profedit/profilecreate.php:64 -#: ../templates/profedit/profilecreate.php:361 -msgid "Primary group name is invalid!" -msgstr "Az elsődleges csoportnév érvénytelen!" - -#: ../templates/main_header.php:43 -#: ../help/help.inc:126 -#: ../help/help.inc:130 -#: ../help/help.inc:134 -msgid "Profile Editor" -msgstr "Profil szerkesztő" - -#: ../templates/config/profmanage.php:97 -msgid "Profile deleted." -msgstr "Profil törölve." - -#: ../templates/account/hostedit.php:278 -msgid "Profile loaded." -msgstr "Profil betöltve." - -#: ../templates/config/profmanage.php:41 -#: ../templates/config/profmanage.php:144 -#: ../help/help.inc:109 -#: ../help/help.inc:111 -#: ../help/help.inc:113 -#: ../help/help.inc:115 -#: ../help/help.inc:117 -#: ../help/help.inc:119 -#: ../help/help.inc:121 -msgid "Profile management" -msgstr "Profile beállítások" - -#: ../templates/config/profmanage.php:159 -#: ../templates/config/profmanage.php:206 -#: ../templates/profedit/profilegroup.php:143 -#: ../templates/profedit/profilehost.php:112 -#: ../templates/profedit/profileuser.php:420 -#: ../templates/confwiz/start.php:123 -#: ../help/help.inc:134 -msgid "Profile name" -msgstr "Profilnév" - -#: ../templates/config/profmanage.php:81 -#: ../templates/config/profmanage.php:92 -#: ../templates/confwiz/start.php:65 -msgid "Profile name is invalid!" -msgstr "A profilnév érvénytelen!" - -#: ../templates/config/profmanage.php:170 -#: ../templates/config/profmanage.php:260 -msgid "Profile password" -msgstr "Profiljelszó" - -#: ../templates/config/profmanage.php:79 -#: ../templates/config/profmanage.php:109 -#: ../templates/confwiz/start.php:67 -msgid "Profile passwords are different or empty!" -msgstr "A profiljelszavak különböznek vagy üresek!" - -#: ../templates/account/useredit.php:435 -#: ../templates/account/useredit.php:447 -#: ../templates/account/useredit.php:1267 -#: ../templates/profedit/profileuser.php:318 -#: ../help/help.inc:214 -#: ../lib/pdf.inc:214 -msgid "Profile path" -msgstr "Profil elérési útvonala" - -#: ../templates/account/useredit.php:447 -#: ../templates/profedit/profilecreate.php:205 -msgid "Profile path is invalid!" -msgstr "A profil elérési útvonala érvénytelen!" - -#: ../templates/profedit/profilecreate.php:280 -#: ../templates/profedit/profilecreate.php:345 -#: ../templates/profedit/profilecreate.php:383 -msgid "Profile was saved." -msgstr "Profil elmentve." - -#: ../templates/account/groupedit.php:524 -#: ../templates/account/groupedit.php:581 -#: ../templates/account/groupedit.php:648 -#: ../templates/account/groupedit.php:744 -#: ../templates/account/groupedit.php:801 -#: ../templates/account/useredit.php:794 -#: ../templates/account/useredit.php:864 -#: ../templates/account/useredit.php:926 -#: ../templates/account/useredit.php:1047 -#: ../templates/account/useredit.php:1164 -#: ../templates/account/useredit.php:1403 -#: ../templates/account/useredit.php:1452 -#: ../templates/account/useredit.php:1532 -msgid "Quota" -msgstr "Kvóta" - -#: ../lib/pdf.inc:233 -msgid "Quota Settings" -msgstr "Kvóta beállítások" - -#: ../templates/account/groupedit.php:756 -#: ../templates/account/useredit.php:1415 -#: ../templates/profedit/profilegroup.php:95 -#: ../templates/profedit/profileuser.php:372 -msgid "Quota properties" -msgstr "Kvóta jellemzők" - -#: ../lib/ldap.inc:215 -msgid "RID (Windows UID)" -msgstr "RID (Windows UID)" - -#: ../templates/config/confmain.php:192 -msgid "Ranges" -msgstr "Értékek" - -#: ../templates/confwiz/server2.php:224 -msgid "Ranges for UID and GID numbers" -msgstr "Az UID és GID számok tartományai" - -#: ../templates/config/confmain.php:356 -#: ../templates/confwiz/start.php:149 -msgid "Reenter Password" -msgstr "Jelszó ismétlése" - -#: ../templates/config/profmanage.php:337 -msgid "Reenter new master password" -msgstr "Új mester jelszó megismétlése" - -#: ../templates/config/profmanage.php:179 -#: ../templates/config/profmanage.php:271 -msgid "Reenter profile password" -msgstr "Profil jelszó megismétlése" - -#: ../templates/masscreate.php:332 -#: ../templates/lists/listdomains.php:220 -#: ../templates/lists/listgroups.php:340 -#: ../templates/lists/listhosts.php:329 -#: ../templates/lists/listusers.php:398 -msgid "Refresh" -msgstr "Frissítés" - -#: ../templates/config/profmanage.php:202 -#: ../help/help.inc:111 -msgid "Rename profile" -msgstr "Profil átnevezése" - -#: ../templates/config/profmanage.php:88 -msgid "Renamed profile." -msgstr "Profil átnevezve." - -#: ../templates/account/useredit.php:1067 -#: ../templates/account/useredit.php:1187 -msgid "Repeat password" -msgstr "Ismételje meg a jelszót" - -#: ../templates/account/useredit.php:296 -#, php-format -msgid "Replaced $%s or $%s in homedir." -msgstr "A home könyvtárban a $%s vagy $%s értéke átállítva." - -#: ../templates/domain.php:177 -#: ../templates/config/confmain.php:368 -#: ../templates/profedit/profilegroup.php:152 -#: ../templates/profedit/profilehost.php:121 -#: ../templates/profedit/profileuser.php:429 -msgid "Reset" -msgstr "Törlés" - -#: ../templates/account/groupedit.php:529 -#: ../templates/account/groupedit.php:586 -#: ../templates/account/groupedit.php:653 -#: ../templates/account/groupedit.php:749 -#: ../templates/account/groupedit.php:806 -#: ../templates/account/useredit.php:800 -#: ../templates/account/useredit.php:870 -#: ../templates/account/useredit.php:932 -#: ../templates/account/useredit.php:1053 -#: ../templates/account/useredit.php:1170 -#: ../templates/account/useredit.php:1409 -#: ../templates/account/useredit.php:1458 -#: ../templates/account/useredit.php:1538 -msgid "Reset all changes." -msgstr "Módosítások elvetése." - -#: ../templates/account/hostedit.php:394 -msgid "Reset password" -msgstr "Jelszó törlése" - -#: ../templates/account/groupedit.php:521 -#: ../templates/account/groupedit.php:578 -#: ../templates/account/groupedit.php:646 -#: ../templates/account/groupedit.php:742 -#: ../templates/account/groupedit.php:798 -#: ../templates/account/useredit.php:792 -#: ../templates/account/useredit.php:862 -#: ../templates/account/useredit.php:924 -#: ../templates/account/useredit.php:1045 -#: ../templates/account/useredit.php:1162 -#: ../templates/account/useredit.php:1402 -#: ../templates/account/useredit.php:1450 -#: ../templates/account/useredit.php:1530 -#: ../templates/profedit/profilegroup.php:67 -msgid "Samba" -msgstr "Samba" - -#: ../templates/domain.php:234 -#: ../templates/confwiz/ldaptest.php:239 -msgid "Samba 3 domain SID is invalid!" -msgstr "Samba 3 tartomány SID érvénytelen!" - -#: ../templates/config/confmain.php:183 -#: ../lib/config.inc:274 -msgid "Samba 3.x schema" -msgstr "Samba 3.x séma" - -#: ../templates/lists/listdomains.php:233 -msgid "Samba Domain(s) found" -msgstr "Samba tartomány(oka)t találtam" - -#: ../templates/profedit/profilemain.php:218 -msgid "Samba Host Profiles" -msgstr "Samba gazdaállomás profilok" - -#: ../templates/lists/listhosts.php:342 -msgid "Samba Host(s) found" -msgstr "Samba gazdaállomás(oka)t találtam" - -#: ../templates/ou_edit.php:405 -msgid "Samba Hosts" -msgstr "Samba gazdaállomások" - -#: ../templates/account/groupedit.php:323 -#: ../templates/account/useredit.php:566 -#: ../templates/account/useredit.php:580 -msgid "Samba Options not set!" -msgstr "Samba beállításai nincsenek megadva!" - -#: ../templates/profedit/profileuser.php:232 -msgid "Samba account" -msgstr "Samba azonosító" - -#: ../templates/profedit/profilecreate.php:196 -msgid "Samba home directory is invalid!" -msgstr "A Samba home könyvtár érvénytelen!" - -#: ../templates/account/useredit.php:1184 -msgid "Samba password" -msgstr "Samba jelszó" - -#: ../templates/account/groupedit.php:659 -#: ../templates/account/useredit.php:1178 -msgid "Samba properties" -msgstr "Samba tulajdonságok" - -#: ../templates/config/confmain.php:178 -msgid "Samba settings" -msgstr "Samba beállítások" - -#: ../templates/confwiz/server.php:179 -#: ../help/help.inc:98 -msgid "Samba version" -msgstr "Samba verzió" - -#: ../templates/config/confsave.php:83 -msgid "Samba version is not defined!" -msgstr "A Samba verziója nincs megadva!" - -#: ../templates/account/useredit.php:1277 -#: ../help/help.inc:217 -msgid "Samba workstations" -msgstr "Samba munkaállomások" - -#: ../templates/profedit/profilecreate.php:222 -msgid "Samba workstations are invalid!" -msgstr "A megadott Samba munkaállomások érvénytelenek!" - -#: ../lib/pdf.inc:286 -#: ../lib/pdf.inc:524 -msgid "Samba-Host information page" -msgstr "Samba-gazda információs lap" - -#: ../templates/profedit/profilegroup.php:151 -#: ../templates/profedit/profilehost.php:120 -#: ../templates/profedit/profileuser.php:428 -msgid "Save" -msgstr "Mentés" - -#: ../templates/account/groupedit.php:432 -#: ../templates/account/groupedit.php:435 -#: ../templates/account/groupedit.php:436 -#: ../templates/account/groupedit.php:814 -#: ../templates/account/groupedit.php:818 -#: ../templates/account/hostedit.php:285 -#: ../templates/account/hostedit.php:288 -#: ../templates/account/hostedit.php:289 -#: ../templates/account/hostedit.php:447 -#: ../templates/account/hostedit.php:451 -#: ../templates/account/useredit.php:716 -#: ../templates/account/useredit.php:719 -#: ../templates/account/useredit.php:720 -#: ../templates/account/useredit.php:1546 -#: ../templates/account/useredit.php:1550 -#: ../help/help.inc:266 -msgid "Save profile" -msgstr "Profil mentése" - -#: ../templates/config/confsave.php:199 -#: ../templates/confwiz/o_daemon.php:60 -msgid "Saving PDF text failed!" -msgstr "A PDF szöveg elmentése nem sikerült!" - -#: ../help/help.inc:86 -msgid "Script path" -msgstr "Script elérési útvonala" - -#: ../templates/confwiz/o_daemon.php:54 -msgid "Script path is invalid!" -msgstr "Script elérési útvonala érvénytelen!" - -#: ../help/help.inc:91 -msgid "Script server" -msgstr "Script szerver" - -#: ../templates/config/confsave.php:187 -#: ../templates/confwiz/o_daemon.php:57 -msgid "Script server is invalid!" -msgstr "Script szerver érvénytelen!" - -#: ../templates/config/confmain.php:307 -msgid "Script settings" -msgstr "Script beállítások" - -#: ../templates/config/confmain.php:339 -msgid "Security settings" -msgstr "Biztonsági beállítások" - -#: ../templates/lists/listdomains.php:101 -#: ../templates/lists/listgroups.php:161 -#: ../templates/lists/listhosts.php:165 -#: ../templates/lists/listusers.php:203 -msgid "See README.openldap.txt to solve this problem." -msgstr "A probléma megoldásához olvasd el A README.openldap.txt -t." - -#: ../templates/help.php:90 -msgid "See also" -msgstr "Lásd még" - -#: ../templates/lists/listgroups.php:280 -#: ../templates/lists/listhosts.php:267 -#: ../templates/lists/listusers.php:322 -msgid "Select all" -msgstr "Összes kijelölése" - -#: ../templates/masscreate.php:420 -msgid "Select file:" -msgstr "Fájl kijelölése:" - -#: ../templates/masscreate.php:412 -#: ../help/help.inc:268 -msgid "Select group profile" -msgstr "Válassza ki a csoport profilt" - -#: ../templates/masscreate.php:386 -msgid "Select settings" -msgstr "Válassza ki a beállításokat" - -#: ../templates/masscreate.php:389 -msgid "Select user profile:" -msgstr "Válasszon felhasználói profilt:" - -#: ../templates/account/useredit.php:808 -msgid "Select workstations" -msgstr "Munkaállomások kiválasztása" - -#: ../templates/account/useredit.php:881 -msgid "Selected groups" -msgstr "Kiválasztott csoportok" - -#: ../templates/config/confsave.php:89 -#: ../templates/confwiz/server.php:74 -msgid "Server Address is empty!" -msgstr "A szervercím üres!" - -#: ../templates/config/confmain.php:112 -#: ../templates/confwiz/server.php:130 -#: ../help/help.inc:38 -#: ../lib/config.inc:271 -msgid "Server address" -msgstr "Szervercím" - -#: ../templates/config/confmain.php:311 -#: ../templates/confwiz/o_daemon.php:113 -#: ../lib/config.inc:291 -msgid "Server of external script" -msgstr "A külső script szervere" - -#: ../templates/config/confmain.php:109 -msgid "Server settings" -msgstr "Szerverbeállítások" - -#: ../templates/profedit/profileuser.php:237 -msgid "Set Samba password" -msgstr "A Samba jelszó beállítása" - -#: ../templates/profedit/profileuser.php:142 -msgid "Set Unix Password" -msgstr "A Unix jelszó beállítása" - -#: ../templates/profedit/profileuser.php:247 -#: ../help/help.inc:126 -msgid "Set Unix password for Samba" -msgstr "A Sambához tartozó Unix jelszó beállítása" - -#: ../templates/config/profmanage.php:256 -#: ../help/help.inc:115 -msgid "Set profile password" -msgstr "A profilhoz tartozó jelszó beállítása" - -#: ../templates/profedit/profilecreate.php:83 -msgid "Shell is invalid!" -msgstr "A shell érvénytelen!" - -#: ../templates/masscreate.php:292 -msgid "Show Details." -msgstr "Részletek mutatása" - -#: ../templates/masscreate.php:309 -msgid "Show Errors." -msgstr "Hibák mutatása." - -#: ../templates/masscreate.php:297 -msgid "Show Infos." -msgstr "Információk mutatása." - -#: ../templates/masscreate.php:303 -msgid "Show Warnings." -msgstr "Figyelmeztetések mutatása." - -#: ../lib/pdf.inc:241 -msgid "Soft block" -msgstr "Lágy blokk" - -#: ../templates/account/groupedit.php:759 -#: ../templates/account/useredit.php:1418 -#: ../templates/profedit/profilegroup.php:100 -#: ../templates/profedit/profileuser.php:377 -#: ../help/help.inc:228 -msgid "Soft block limit" -msgstr "Lágy blokk határa" - -#: ../help/help.inc:229 -msgid "Soft block limit." -msgstr "Lágy blokk határa." - -#: ../lib/pdf.inc:242 -msgid "Soft inode" -msgstr "Lágy inode" - -#: ../help/help.inc:240 -msgid "Soft inode (files) limit." -msgstr "Lágy inode (file-ok) határa." - -#: ../templates/account/groupedit.php:760 -#: ../templates/account/useredit.php:1419 -#: ../templates/profedit/profilegroup.php:102 -#: ../templates/profedit/profileuser.php:379 -#: ../help/help.inc:239 -msgid "Soft inode limit" -msgstr "Lágy inode határa" - -#: ../templates/help.php:65 -msgid "Sorry no help number submitted." -msgstr "Sajnos nem adott meg súgó-számot." - -#: ../templates/help.php:75 -#, php-format -msgid "Sorry this help number ({bold}%d{endbold}) is not available." -msgstr "Sajnos ez a súgó-szám ({bold}%d{endbold}) érvénytelen." - -#: ../templates/account/useredit.php:493 -#: ../templates/account/useredit.php:1478 -#: ../templates/masscreate.php:371 -#: ../templates/masscreate.php:572 -#: ../templates/massdetail.php:144 -#: ../templates/massdetail.php:232 -#: ../help/help.inc:252 -#: ../help/help.inc:253 -#: ../lib/pdf.inc:93 -msgid "Street" -msgstr "Utca" - -#: ../templates/domain.php:176 -#: ../templates/ou_edit.php:94 -#: ../templates/ou_edit.php:159 -#: ../templates/ou_edit.php:224 -#: ../templates/ou_edit.php:289 -#: ../templates/ou_edit.php:472 -#: ../templates/config/confmain.php:367 -#: ../templates/config/profmanage.php:356 -#: ../templates/profedit/profiledelete.php:97 -#: ../templates/profedit/profiledelete.php:109 -#: ../templates/profedit/profiledelete.php:121 -#: ../templates/profedit/profilemain.php:261 -msgid "Submit" -msgstr "Elküld" - -#: ../templates/account/groupedit.php:607 -#: ../templates/account/hostedit.php:417 -#: ../templates/account/useredit.php:1001 -#: ../templates/domain.php:149 -#: ../templates/lists/listdomains.php:187 -#: ../templates/lists/listgroups.php:300 -#: ../templates/lists/listhosts.php:288 -#: ../templates/lists/listusers.php:341 -#: ../templates/confwiz/ldaptest.php:384 -#: ../help/help.inc:272 -#: ../help/help.inc:274 -#: ../help/help.inc:276 -#: ../help/help.inc:295 -msgid "Suffix" -msgstr "Utótag" - -#: ../templates/account/useredit.php:238 -#: ../templates/masscreate.php:283 -#: ../templates/masscreate.php:353 -#: ../templates/masscreate.php:552 -#: ../templates/massdetail.php:81 -#: ../templates/massdetail.php:202 -#: ../help/help.inc:191 -#: ../lib/pdf.inc:85 -msgid "Surname" -msgstr "Vezetéknév" - -#: ../templates/account/useredit.php:238 -#: ../templates/masscreate.php:552 -#: ../templates/massdetail.php:81 -msgid "Surname contains invalid characters" -msgstr "A vezetéknév érvénytelen karaktereket tartalmaz" - -#: ../help/help.inc:192 -msgid "Surname of user. Only letters, - and spaces are allowed." -msgstr "A felhasználó vezetékneve. Csak betűk, a \"-\", és szóközök használhatóak." - -#: ../templates/account/useredit.php:489 -#: ../templates/account/useredit.php:1496 -#: ../templates/masscreate.php:365 -#: ../templates/masscreate.php:568 -#: ../templates/massdetail.php:150 -#: ../templates/massdetail.php:250 -#: ../help/help.inc:258 -#: ../help/help.inc:259 -msgid "Telephone number" -msgstr "Telefonszám" - -#: ../templates/config/confmain.php:329 -#: ../help/help.inc:107 -#: ../lib/config.inc:293 -msgid "Text for user PDF" -msgstr "Szöveg a felhasználók PDF-eihez" - -#: ../help/help.inc:154 -msgid "The Primary Group the user should be member of." -msgstr "A felhasználó elsődleges csoportja." - -#: ../help/help.inc:168 -msgid "The Primary group the host should be member of." -msgstr "A gazdaállomás elsődleges csoportja." - -#: ../help/help.inc:298 -msgid "The SID of your Samba server. Get it with \"net getlocalsid\"." -msgstr "Az ön Samba szerverének SID száma. A \"net getlocalsid\"-del kapja meg." - -#: ../help/help.inc:296 -msgid "The domain entry will be saved under this suffix." -msgstr "A tartománybejegyzés ezzel az utótaggal lesz elmentve." - -#: ../templates/confwiz/o_lists.php:107 -msgid "The entries are separated by semicolons." -msgstr "A bejegyzéseket pontosvesszővel kell elválasztani." - -#: ../templates/config/confsave.php:220 -#: ../templates/confwiz/final.php:52 -msgid "The following settings were saved to profile:" -msgstr "A következő beállítások lettek a profilba mentve:" - -#: ../templates/initsuff.php:189 -msgid "The following suffix(es) are missing in LDAP. LAM can create them for you." -msgstr "A következő suffix-ek hiányoznak az LDAP-ban. A LAM elkészítheti ezeket önnek." - -#: ../templates/confwiz/ldaptest.php:200 -msgid "The following suffix(es) are missing in LDAP. LAM will create them for you." -msgstr "A következő suffix-ek hiányoznak az LDAP-ban. A LAM elkészíti ezeket Önnek." - -#: ../help/help.inc:294 -msgid "The name of your Windows domain or workgroup." -msgstr "Az ön Windows tartományának vagy munkacsoportjának neve." - -#: ../templates/config/confmain.php:92 -msgid "The password is invalid! Please try again." -msgstr "Érvénytelen jelszó! Kérem próbálja újra." - -#: ../templates/masscreate.php:321 -msgid "There are some errors." -msgstr "Pár hiba történt." - -#: ../templates/masscreate.php:322 -msgid "There are some warnings." -msgstr "Pár figyelmeztetés érkezett." - -#: ../help/help.inc:59 -msgid "These are the minimum and maximum numbers to use for group IDs when creating new group accounts. New group accounts will always get the highest number in use plus one." -msgstr "Ezek a minimális és maximális számértékek, melyek a csoport ID-khez használhatóak új csoportazonosítók létrehozásakor. Az új csoportazonosítók mindig a már felhasznált legnagyobb számot 1-el megnövelt értéket kapják." - -#: ../help/help.inc:61 -msgid "These are the minimum and maximum numbers to use for machine IDs when creating new accounts for Samba hosts. The range should be different from that of users. New host accounts will always get the highest number in use plus one." -msgstr "Ezek a minimális és maximális számértékek, melyek a gép ID-khez használhatóak új Samba gazdagépek létrehozásakor. A tartománynak a felhasználók esetében használt tartománytól el kell térnie. Az új gazdagép-azonosítók mindig a már felhasznált legnagyobb szám 1-el megnövelt értékét kapják." - -#: ../help/help.inc:57 -msgid "These are the minimum and maximum numbers to use for user IDs when creating new user accounts. The range should be different from that of machines. New user accounts will always get the highest number in use plus one." -msgstr "Ezek a minimális és maximális számértékek, melyek a felhasználói ID-khez használhatóak új felhasználói azonosítók létrehozásakor. A tartománynak a gépek esetében használt tartománytól el kell térnie. Az új felhasználói azonosítók mindig a már felhasznált legnagyobb szám 1-el megnövelt értékét kapják." - -#: ../templates/domain.php:237 -#: ../templates/confwiz/ldaptest.php:231 -msgid "This Samba 3 domain is already present!" -msgstr "Ez a Samba 3 tartomány már létezik!" - -#: ../templates/confwiz/o_lists.php:104 -msgid "This can be a list of predefined attributes which have a description and are translated or you can write your own description." -msgstr "Ez az előre meghatározott attribútumok listája lehet, melyeknek leírása van és le vannak fordítva, vagy megadhatja az Ön saját leírását." - -#: ../help/help.inc:116 -msgid "This changes the password of the selected profile." -msgstr "Ez a kiválasztott profil jelszavát változtatja meg." - -#: ../help/help.inc:118 -msgid "This changes the profile which is selected by default at login." -msgstr "Ez a belépéskor alapértelmezés szerint kiválasztott profilt változtatja meg." - -#: ../templates/confwiz/o_lang.php:102 -#: ../help/help.inc:85 -msgid "This defines the language of the login window and sets this language as the default language. Users can change the language at login." -msgstr "A login ablak nyelvének beállítása, mely egyben az alapértelmezett nyelv lesz. A felhasználók belépéskor ezt maguknak átállíthatják." - -#: ../lib/pdf.inc:509 -#: ../lib/pdf.inc:538 -#: ../lib/pdf.inc:569 -msgid "This document was automatically created by LDAP Account Manager" -msgstr "Ezt a dokumentumot az LDAP Account Manager automatikusan hozta létre." - -#: ../help/help.inc:78 -msgid "This is a list of valid DN entries of all users that are allowed to login to LDAP Account Manager. The user names have to be separated by semicolons." -msgstr "Ez azon felhasználók érvényes DN bejegyzéseinek listája, akik az LDAP Account Manager-be beléphetnek. A felhasználók nevét pontosvesszővel kell elválasztani." - -#: ../help/help.inc:87 -msgid "This is the absolute path to an external script for setting quotas and creating home directories." -msgstr "Ez az abszolút elérési útvonala a külső szkriptnek, mely a kvóták és a home könytvtárak beállítására szolgál." - -#: ../help/help.inc:63 -msgid "This is the list of attributes to show in the user/group/host list. The entries can either be predefined values, \"#attribute\", or individual ones, \"attribute:description\". Several entries are seperated by semicolons." -msgstr "Ez azon attribútumok listája, melyeknek látszódniuk kell a felhasználó/csoport/gazdaállomás listán. A bejegyzések lehetnek előre meghatározott értékek , \"#attribute\", vagy egyedi értékek, \"attribútum:leírás\". A különböző bejegyzéseket pontosvesszővel kell elválasztani." - -#: ../help/help.inc:83 -msgid "This is the number of rows to show in the user/group/host list. If more entries are found the list will be split into several pages." -msgstr "Ennyi sor lesz majd látható a felhasználó/csoport/gazdaállomás listában. Ha ennél több bejegyzés létezik, a lista több oldalra lesz osztva." - -#: ../help/help.inc:39 -msgid "This is the server address of your LDAP server. Use ldap:// for standard LDAP connections and ldaps:// for encrypted (require server certificates) connections. The port value is optional." -msgstr "Ez a szervercíme az ön LDAP szerverének. Használja az ldap:// formátumot a szokásos LDAP kapcsolatokhoz és az ldaps:// formátumot a titkosított (szerver bizonyítványok szükségesek) kapcsolathoz. A port értéke elhagyható." - -#: ../templates/confwiz/o_daemon.php:107 -msgid "This is the server and path where the lamdaemon.pl script is stored. LDAP Account Manager will make a SSH connection to this server with username and password provided at login." -msgstr "Az a szerver és elérési útvonal, ahol a lamdaemon szkript található. Az LDAP Account Manager SSH kapcsolatot létesít ezzel a szerverrel, a belépéskor (login) megadott felhasználónév és jelszó használatával." - -#: ../help/help.inc:92 -msgid "This is the server where the lamdaemon script is stored. LDAP Account Manager will make a SSH connection to this server with username and password provided at login." -msgstr "Az a szerver, ahol a lamdaemon szkript található. Az LDAP Account Manager SSH kapcsolatot létesít ezzel a szerverrel, a belépéskor (login) megadott felhasználónév és jelszó használatával." - -#: ../help/help.inc:51 -msgid "This is the suffix of the LDAP tree from where to search for user/group/host entries. Only entries in these subtrees will be displayed in the user/group/host list. When creating a new accont this will be the DN where it is saved." -msgstr "Ez az utótagja az LDAP fának ahonnan a felhasználó/csoport/gazdaállomás bejegyzések keresése kezdődik. Csak az ezekben az al-fákban található bejegyzések szerepelnek majd a felhasználó/csoport/gazdaállomás listán. Új azonosító létrehozásakor ez lesz a DN, ahová az azonosító elmentődik." - -#: ../help/help.inc:104 -msgid "This is the time in minutes which LAM caches its LDAP searches. Shorter times will stress LDAP more but decrease the possibility that changes are not identified." -msgstr "Ez az a percekben mért idő, amennyit az LAM cache-el az LDAP keresés során. Rövidebb időértékek jobban terhelik az LDAP-t, de csökkentik annak valószínűségét, hogy a változások nem kerülnek felismerésre." - -#: ../templates/confwiz/o_daemon.php:127 -#: ../help/help.inc:108 -msgid "This text will appear on top of every user PDF file." -msgstr "Ez a szöveg jelenik majd meg minden felhasználó PDF file-jának tetején." - -#: ../templates/lists/userlink.php:54 -msgid "This user was not found!" -msgstr "A felhasználó nem található" - -#: ../help/help.inc:290 -msgid "This will create a new organizational unit under the selected one." -msgstr "Ezzel egy új szervezeti egység keletkezik a kijelölt alatt." - -#: ../help/help.inc:292 -msgid "This will delete the selected organizational unit. The OU has to be empty." -msgstr "Ezzel törli a kiválasztott szervezeti egységet. Az OU-nak üresnek kell lennie." - -#: ../help/help.inc:114 -msgid "This will delete the selected profile." -msgstr "Ezzel törli a kiválasztott profilt." - -#: ../help/help.inc:267 -msgid "This will make a profile of the current account. The saved values are the same as in the profile editor. Profile names may contain the letters a-z, 0-9 and -_." -msgstr "Ezzel profilt készít a jelenlegi azonosítóról. Az elmentett értékek ugyanazok, mint a profilszerkesztőben. A profilnevek a következő karaktereket tartalmazhatják: a-z, 0-9 és -_." - -#: ../templates/account/useredit.php:495 -#: ../templates/account/useredit.php:1466 -#: ../templates/masscreate.php:361 -#: ../templates/masscreate.php:574 -#: ../templates/massdetail.php:140 -#: ../templates/massdetail.php:220 -#: ../help/help.inc:248 -#: ../lib/pdf.inc:81 -msgid "Title" -msgstr "Megszólítás" - -#: ../help/help.inc:249 -msgid "Title of user, Mr., Ms., ..." -msgstr "A felhasználó megszólítása, Mr, Ms., ..." - -#: ../templates/confwiz/server.php:144 -msgid "To connect to your LDAP server please enter now the DN of your administrative user and the password." -msgstr "LDAP szerveréhez való kapcsolódáshoz kérem adja meg adminisztrátorának DN-jét és a jelszót." - -#: ../help/help.inc:152 -msgid "To disable login use /bin/false. List of shells is read from lam/config/shells" -msgstr "A belépés letiltásához használja a /bin/false-ot. A shell-ek listája a /lam/config/shells file-ból olvasódik." - -#: ../templates/lists/listusers.php:355 -msgid "Translate GID number to group name" -msgstr "A GID szám lefordítása csoportnévre" - -#: ../lib/pdf.inc:305 -#: ../lib/pdf.inc:348 -msgid "UID" -msgstr "Felhasználói azonosító, UID" - -#: ../templates/account/hostedit.php:370 -#: ../templates/account/useredit.php:948 -#: ../help/help.inc:56 -#: ../help/help.inc:141 -#: ../help/help.inc:164 -#: ../lib/ldap.inc:194 -#: ../lib/ldap.inc:217 -msgid "UID number" -msgstr "UID szám" - -#: ../templates/account/useredit.php:556 -msgid "UID-number has changed. You have to run the following command as root in order to change existing file-permissions:" -msgstr "Az UID száma megváltozott. Root-ként kell futtatnia a következő utasítást hogy megváltoztassa a jelenlegi file-engedélyeket." - -#: ../help/help.inc:220 -#, php-format -msgid "UNC-path (\\\\server\\share) of homedirectory. $%s and $%s are replaced with user- and groupname." -msgstr "A home könyvtár UNC elérési útvonala (\\\\server\\share). A $%s és a $%s a felhasználó-és csoportnévvel helyettesítődnek." - -#: ../templates/ou_edit.php:55 -#: ../templates/ou_edit.php:120 -#: ../templates/ou_edit.php:185 -#: ../templates/ou_edit.php:250 -msgid "Unable to create new OU!" -msgstr "Nem tudok új OU-t létrehozni!" - -#: ../templates/config/profmanage.php:77 -#: ../templates/confwiz/start.php:63 -msgid "Unable to create new profile!" -msgstr "Az új profilt nem lehet létrehozni!" - -#: ../templates/ou_edit.php:72 -#: ../templates/ou_edit.php:137 -#: ../templates/ou_edit.php:202 -#: ../templates/ou_edit.php:267 -msgid "Unable to delete OU!" -msgstr "Nem tudom törölni az OU-t!" - -#: ../templates/domain.php:304 -msgid "Unable to delete domain!" -msgstr "Nem tudom törölni a tartományt!" - -#: ../templates/config/profmanage.php:99 -#: ../templates/profedit/profiledelete.php:53 -#: ../templates/profedit/profiledelete.php:60 -#: ../templates/profedit/profiledelete.php:67 -msgid "Unable to delete profile!" -msgstr "A profilt nem lehet törölni!" - -#: ../templates/login.php:100 -#: ../templates/config/confmain.php:296 -#: ../templates/confwiz/o_lang.php:134 -msgid "Unable to load available languages. Setting English as default language. For further instructions please contact the Admin of this site." -msgstr "Nem tudom betölteni az elérhető nyelveket. Az angolt állítom be alapértelmezett nyelvnek. További teendőkért kérem forduljon az oldal adminisztrátorához." - -#: ../lib/config.inc:184 -#: ../lib/config.inc:735 -msgid "Unable to load configuration!" -msgstr "Nem tudom betölteni a beállításokat!" - -#: ../lib/profiles.inc:252 -#: ../lib/profiles.inc:256 -#: ../lib/profiles.inc:319 -#: ../lib/profiles.inc:323 -#: ../lib/profiles.inc:375 -#: ../lib/profiles.inc:379 -msgid "Unable to load profile!" -msgstr "Nem tudom betölteni a profilt!" - -#: ../templates/profedit/profilecreate.php:282 -#: ../templates/profedit/profilecreate.php:347 -#: ../lib/profiles.inc:451 -#: ../lib/profiles.inc:486 -#: ../lib/profiles.inc:514 -msgid "Unable to save profile!" -msgstr "Nem tudom elmenteni a profilt!" - -#: ../templates/account/groupedit.php:531 -#: ../templates/account/groupedit.php:588 -#: ../templates/account/groupedit.php:655 -#: ../templates/account/groupedit.php:751 -#: ../templates/account/groupedit.php:808 -#: ../templates/account/useredit.php:802 -#: ../templates/account/useredit.php:872 -#: ../templates/account/useredit.php:934 -#: ../templates/account/useredit.php:1055 -#: ../templates/account/useredit.php:1172 -#: ../templates/account/useredit.php:1411 -#: ../templates/account/useredit.php:1460 -#: ../templates/account/useredit.php:1540 -#: ../templates/massdetail.php:72 -#: ../templates/massdetail.php:275 -msgid "Undo" -msgstr "Mégsem" - -#: ../templates/account/hostedit.php:437 -msgid "Undo changes" -msgstr "Változások elvetése" - -#: ../templates/account/useredit.php:791 -#: ../templates/account/useredit.php:861 -#: ../templates/account/useredit.php:923 -#: ../templates/account/useredit.php:1044 -#: ../templates/account/useredit.php:1161 -#: ../templates/account/useredit.php:1401 -#: ../templates/account/useredit.php:1449 -#: ../templates/account/useredit.php:1529 -msgid "Unix" -msgstr "Unix" - -#: ../lib/pdf.inc:124 -msgid "Unix User Settings" -msgstr "Unix felhasználói beállítások" - -#: ../templates/profedit/profileuser.php:88 -msgid "Unix account" -msgstr "Unix azonosító" - -#: ../templates/confwiz/ldaptest.php:483 -msgid "Unix group name" -msgstr "Unix csoportnév" - -#: ../lib/pdf.inc:132 -#: ../lib/pdf.inc:141 -msgid "Unix password" -msgstr "Unix jelszó" - -#: ../lib/pdf.inc:134 -msgid "Unix password disabled!" -msgstr "Unix jelszó kikapcsolva!" - -#: ../templates/account/useredit.php:1059 -msgid "Unix properties" -msgstr "Unix tulajdonságok" - -#: ../templates/account/useredit.php:354 -#: ../templates/account/useredit.php:1127 -#: ../templates/profedit/profileuser.php:208 -#: ../help/help.inc:280 -msgid "Unix workstations" -msgstr "Unix munkaállomások" - -#: ../templates/profedit/profilecreate.php:131 -msgid "Unix workstations are invalid!" -msgstr "A megadott Unix munkaállomások érvénytelenek!" - -#: ../templates/account/useredit.php:354 -msgid "Unix workstations is invalid." -msgstr "A megadott Unix munkaállomás érvénytelen." - -#: ../templates/confwiz/o_daemon.php:108 -#: ../help/help.inc:89 -#: ../help/help.inc:94 -msgid "Use it at your own risk and read the documentation for lamdaemon before you use it!" -msgstr "Használja saját felelősségére és olvassa el a lamdaemon leírását a használat előtt!" - -#: ../templates/account/useredit.php:1073 -#: ../templates/account/useredit.php:1199 -#: ../help/help.inc:195 -msgid "Use no password" -msgstr "Jelszó nélküli használat" - -#: ../templates/account/useredit.php:1193 -#: ../help/help.inc:199 -msgid "Use unix password" -msgstr "Unix jelszó használata" - -#: ../templates/account/groupedit.php:758 -#: ../templates/account/useredit.php:1417 -#: ../help/help.inc:226 -msgid "Used blocks" -msgstr "Használt blokkok" - -#: ../help/help.inc:227 -msgid "Used blocks. 1000 blocks are usually 1MB" -msgstr "Használt blokkok. Általában 1000 blokk számít 1 MB-nek" - -#: ../help/help.inc:306 -msgid "Used for calculating RIDs from UID/GID. Do not change if unsure." -msgstr "A RID-ek UID/GID-ből történő kiszámításához használatos. Ha bizonytalan, ne változtassa meg." - -#: ../templates/account/groupedit.php:760 -#: ../templates/account/useredit.php:1419 -#: ../help/help.inc:237 -msgid "Used inodes" -msgstr "Használt inode-ok" - -#: ../help/help.inc:238 -msgid "Used inodes (files)" -msgstr "Használt inode-ok (file-ok)" - -#: ../templates/account/useredit.php:1571 -#, php-format -msgid "User %s has been created." -msgstr "%s felhasználó létrehozva." - -#: ../templates/account/useredit.php:1568 -#, php-format -msgid "User %s has been modified." -msgstr "%s felhasználó módosítva." - -#: ../lib/ldap.inc:193 -msgid "User ID" -msgstr "Felhasználó ID" - -#: ../templates/profedit/profilemain.php:128 -msgid "User Profiles" -msgstr "Felhasználóprofil" - -#: ../templates/account/useredit.php:1211 -#: ../help/help.inc:130 -#: ../help/help.inc:203 -msgid "User can change password" -msgstr "A felhasználó módosíthatja a jelszavát" - -#: ../help/help.inc:150 -msgid "User description. If left empty sur- and give name will be used." -msgstr "A felhasználó leírása. Ha üresen hagyja, a keresztnév és vezetéknév szolgál erre." - -#: ../lib/pdf.inc:39 -#: ../lib/pdf.inc:496 -msgid "User information page" -msgstr "Felhasználói információs lap" - -#: ../templates/initsuff.php:144 -#: ../templates/initsuff.php:157 -#: ../templates/initsuff.php:163 -#: ../templates/initsuff.php:172 -#: ../templates/masscreate.php:263 -msgid "User list" -msgstr "Felhasználólista" - -#: ../templates/config/confsave.php:154 -#: ../templates/confwiz/o_lists.php:54 -msgid "User list attributes are invalid!" -msgstr "A felhasználói lista attribútumai érvénytelenek!" - -#: ../templates/account/useredit.php:1230 -#: ../help/help.inc:205 -msgid "User must change password" -msgstr "A felhasználónak módosítania kell a jelszavát" - -#: ../templates/masscreate.php:283 -msgid "User name" -msgstr "Felhasználónév" - -#: ../lib/pdf.inc:236 -msgid "User quota(s)" -msgstr "Felhasználói kvóta/kvóták" - -#: ../templates/masscreate.php:396 -msgid "User suffix" -msgstr "Felhasználó utótag" - -#: ../templates/lists/listusers.php:411 -msgid "User(s) found" -msgstr "Felhasználó(ka)t találtam" - -#: ../help/help.inc:50 -msgid "User/Group/Host suffix" -msgstr "Felhasználó/Csoport/Gazdaállomás utótag" - -#: ../templates/config/confmain.php:123 -#: ../templates/confwiz/server2.php:131 -#: ../lib/config.inc:275 -msgid "UserSuffix" -msgstr "Felhasználó utótag" - -#: ../templates/config/confsave.php:104 -#: ../templates/confwiz/server2.php:59 -msgid "UserSuffix is invalid!" -msgstr "Felhasználó utótag érvénytelen" - -#: ../templates/account/useredit.php:224 -#: ../templates/account/useredit.php:246 -#: ../templates/account/useredit.php:291 -#: ../templates/account/useredit.php:942 -#: ../templates/login.php:148 -#: ../templates/masscreate.php:357 -#: ../templates/masscreate.php:545 -#: ../templates/masscreate.php:561 -#: ../templates/massdetail.php:88 -#: ../templates/massdetail.php:136 -#: ../templates/massdetail.php:214 -#: ../help/help.inc:139 -#: ../lib/ldap.inc:196 -#: ../lib/pdf.inc:127 -#: ../lib/pdf.inc:181 -msgid "Username" -msgstr "Felhasználónév" - -#: ../templates/account/useredit.php:246 -#: ../templates/masscreate.php:561 -#: ../templates/massdetail.php:88 -msgid "Username contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !" -msgstr "A felhasználónév érvénytelen karaktereket tartalmaz. Érvényes karakterek: a-z, A-Z, 0-9 és .-_ !" - -#: ../templates/account/useredit.php:291 -#: ../templates/masscreate.php:545 -#: ../templates/massdetail.php:136 -msgid "Username in use. Selected next free username." -msgstr "Ez a felhasználónév már használatban van. A legközelebb álló, használatlan felhasználónevet választom." - -#: ../help/help.inc:140 -msgid "Username of the user who should be created. Valid characters are: a-z,0-9, .-_. Lam does not allow a number as first character because useradd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. If username is already used username will be expanded with a number. The next free number will be used. Warning: Older systems have problems with usernames longer than 8 characters. You can not log in to Windows if username is longer than 16 characters." -msgstr "A létrehozásra kerülő felhasználó felhasználói neve. Használható karakterek: a-z, 0-9, .-_. A Lam nem fogad el számot első karakterként, mert a useradd sem fogadja el. A Lam nem engedi a nagybetűk A-Z használatát, mert ez különböző problémák forrása lehet. Ha a felhasználónév már használatban van, számmal lesz megtoldva. A legközelebbi, használatlan szám lesz felhasználva. Figyelem: Régebbi rendszereken problémát jelenthetnek a 8-nál több karakterből álló felhasználónevek. Windows-ba nem fog tudni bejelentkezni, ha a felhasználónév 16 karakternél hosszabb." - -#: ../templates/main_header.php:73 -#: ../templates/main_header.php:78 -#: ../templates/ou_edit.php:339 -#: ../templates/confwiz/o_lists.php:112 -#: ../help/help.inc:69 -msgid "Users" -msgstr "Felhasználók" - -#: ../help/help.inc:285 -msgid "Users also being member of the current group." -msgstr "A jelenlegi csoportba tartozó további felhasználók." - -#: ../help/help.inc:182 -msgid "Users wich are also members of group." -msgstr "A csoportba tartozó további felhasználók." - -#: ../templates/confwiz/o_lang.php:145 -#: ../help/help.inc:77 -msgid "Valid users" -msgstr "Elfogadott felhasználók" - -#: ../templates/account/groupedit.php:619 -#: ../templates/account/hostedit.php:428 -#: ../templates/account/useredit.php:1013 -#: ../templates/account/useredit.php:1134 -msgid "Values with * are required" -msgstr "A *-al jelölt értékek kötelezőek." - -#: ../templates/masscreate.php:284 -msgid "Warnings" -msgstr "Figyelmeztetések" - -#: ../templates/masscreate.php:206 -#: ../templates/masscreate.php:236 -#, php-format -msgid "Was unable to create %s." -msgstr "Nem lehet létrehozni: %s." - -#: ../templates/confwiz/start.php:107 -msgid "Welcome to LAM Configuration wizard." -msgstr "Üdvözli Önt a LAM Beállításvarázsló." - -#: ../help/help.inc:49 -msgid "When using ldaps:// be sure to use exactly the same IP/domain name as in your certificate!" -msgstr "Ha az ldaps://-t használja, ügyeljen, hogy ugyanazt az IP/domain nevet használja, mint ami a bizonyítványában szerepel!" - -#: ../templates/confwiz/server.php:173 -msgid "Which Samba version do you use?" -msgstr "Melyik Samba verziót használja?" - -#: ../lib/pdf.inc:226 -msgid "Windows Domain" -msgstr "Windows tartomány" - -#: ../lib/pdf.inc:178 -msgid "Windows User Settings" -msgstr "Windows felhasználói beállítások" - -#: ../help/help.inc:184 -msgid "Windows clients will show display name as group description." -msgstr "A Windows kliensek a képernyőnevet mutatják majd csoport-leírásként." - -#: ../help/help.inc:270 -msgid "Windows domain" -msgstr "Windows tartomány" - -#: ../help/help.inc:271 -msgid "Windows domain of host." -msgstr "A gazdaállomás Windows tartománya." - -#: ../templates/confwiz/ldaptest.php:482 -msgid "Windows group name" -msgstr "Windows csoportnév" - -#: ../templates/account/groupedit.php:665 -#: ../templates/account/useredit.php:1282 -#: ../help/help.inc:278 -msgid "Windows groupname" -msgstr "Windows csoportnév" - -#: ../lib/pdf.inc:222 -msgid "Windows home directory" -msgstr "Windows home könyvtár" - -#: ../lib/pdf.inc:186 -#: ../lib/pdf.inc:192 -#: ../lib/pdf.inc:201 -msgid "Windows password" -msgstr "Windows jelszó" - -#: ../lib/pdf.inc:188 -msgid "Windows password disabled!" -msgstr "Windows jelszó letiltva!" - -#: ../lib/pdf.inc:194 -msgid "Windows password set to unix password." -msgstr "Windows jelszóként a Unix jelszó lett beállítva." - -#: ../help/help.inc:283 -msgid "Windows-Domain of group." -msgstr "A csoport Windows-tartománya." - -#: ../help/help.inc:223 -msgid "Windows-Domain of user." -msgstr "A felhasználó Windows-tartománya." - -#: ../templates/profedit/profileuser.php:335 -msgid "Workstations" -msgstr "Munkaállomások" - -#: ../templates/login.php:321 -#: ../templates/confwiz/server.php:70 -msgid "Wrong Password/Username combination. Try again." -msgstr "Rossz jelszó-felhasználónév kombináció. Próbálja újra." - -#: ../templates/profedit/profiledelete.php:73 -#: ../templates/profedit/profiledelete.php:130 -msgid "Wrong or missing type!" -msgstr "Rossz vagy hiányzó típus!" - -#: ../templates/profedit/profilecreate.php:171 -msgid "Wrong parameter for Samba option: Account does not expire!" -msgstr "Rossz paraméter a Samba beállításaként: az azonosító nem jár le!" - -#: ../templates/profedit/profilecreate.php:179 -msgid "Wrong parameter for Samba option: Account is disabled!" -msgstr "Rossz paraméter a Samba beállításaként: letiltott azonosító!" - -#: ../templates/profedit/profilecreate.php:155 -msgid "Wrong parameter for Samba option: Set Samba Password!" -msgstr "Rossz paraméter a Samba beállításaként: állítsa be a Samba jelszót!" - -#: ../templates/profedit/profilecreate.php:163 -msgid "Wrong parameter for Samba option: Set Unix Password for Samba!" -msgstr "Rossz paraméter a Samba beállításaként: állítsa be a Unix jelszót a Sambához!" - -#: ../templates/profedit/profilecreate.php:187 -msgid "Wrong parameter for Samba option: home drive!" -msgstr "Rossz paraméter a Samba beállításaként: home meghajtó!" - -#: ../templates/profedit/profilecreate.php:139 -msgid "Wrong parameter for Unix account activation!" -msgstr "Rossz paraméter a Unix azonosító aktiválásához!" - -#: ../templates/profedit/profilecreate.php:123 -msgid "Wrong parameter for Unix password expiry!" -msgstr "Rossz paraméter a Unix jelszó lejárásához!" - -#: ../templates/profedit/profilecreate.php:99 -msgid "Wrong parameter for Unix password warning!" -msgstr "Rossz paraméter a Unix jelszó figyelmeztetéshez!" - -#: ../templates/profedit/profilecreate.php:91 -msgid "Wrong parameter for login disable!" -msgstr "Rossz paraméter a belépés letiltásához!" - -#: ../templates/account/groupedit.php:436 -#: ../templates/account/hostedit.php:289 -#: ../templates/account/useredit.php:720 -msgid "Wrong profilename given." -msgstr "Rossz profilnevet adott meg." - -#: ../templates/account/groupedit.php:158 -#: ../templates/account/hostedit.php:120 -#: ../templates/account/useredit.php:224 -msgid "You are using a capital letters. This can cause problems because not all programs are case-sensitive." -msgstr "Nagy betűket használ. Ez problémákat jelenthet, mert nem minden program case-szenzitív." - -#: ../help/help.inc:186 -msgid "You can select a previous defined profile here. This will set all fields to the profile values." -msgstr "Itt választhat egy előzőleg beállított profilt. Ez minden mezőt a profil értékeire állít." - -#: ../templates/logout.php:62 -msgid "You have been logged off from LDAP Account Manager." -msgstr "Kijelentkezett az LDAP Account Manager alkalmazásból" - -#: ../templates/login.php:192 -msgid "Your Language" -msgstr "Nyelv" - -#: ../templates/delete.php:196 -msgid "deleted" -msgstr "törölve" - -#: ../templates/account/useredit.php:492 -#: ../templates/account/useredit.php:1514 -#: ../templates/masscreate.php:363 -#: ../templates/masscreate.php:571 -#: ../templates/massdetail.php:156 -#: ../templates/massdetail.php:268 -#: ../help/help.inc:264 -#: ../help/help.inc:265 -msgid "eMail address" -msgstr "E-Mail cím" - -#: ../lib/account.inc:276 -#: ../lib/account.inc:278 -msgid "hours" -msgstr "órák" - -#: ../help/help.inc:43 -msgid "ldap://localhost:389 connects to localhost using a standard LDAP connection on port 389" -msgstr "ldap://localhost:839 kapcsolódik localhost-hoz szokványos LDAP kapcsolattal a 389-es porton" - -#: ../help/help.inc:45 -msgid "ldaps://141.40.146.133 connects to 141.40.146.133 using an encrypted LDAP connection." -msgstr "ldaps://141.40.146.133 kapcsolódik a 141.40.146.133-hoz titkosított LDAP kapcsolatottal." - -#: ../templates/profedit/profileuser.php:144 -#: ../templates/profedit/profileuser.php:145 -#: ../templates/profedit/profileuser.php:220 -#: ../templates/profedit/profileuser.php:221 -#: ../templates/profedit/profileuser.php:239 -#: ../templates/profedit/profileuser.php:240 -#: ../templates/profedit/profileuser.php:249 -#: ../templates/profedit/profileuser.php:250 -#: ../templates/profedit/profileuser.php:259 -#: ../templates/profedit/profileuser.php:260 -#: ../templates/profedit/profileuser.php:269 -#: ../templates/profedit/profileuser.php:270 -msgid "no" -msgstr "nem" - -#: ../templates/masscreate.php:279 -msgid "not found!" -msgstr "nem található!" - -#: ../help/help.inc:55 -msgid "ou=People,dc=yourcompany,dc=com will read and store all accounts in this subtree." -msgstr "ou=emberek,dc=az_ön_cége,dc=com minden azonosítót ezen az al-fán olvas és tárol." - -#: ../templates/config/confmain.php:377 -msgid "required" -msgstr "szükséges" - -#: ../templates/config/confmain.php:378 -msgid "required for Samba 3 schema" -msgstr "a Samba 3 sémájához szükséges" - -#: ../templates/masscreate.php:283 -msgid "row" -msgstr "sor" - -#: ../lib/profiles.inc:466 -msgid "saveGroupProfile: account has wrong type!" -msgstr "Csoport profil mentése: az azonosító típusa hibás!" - -#: ../lib/profiles.inc:501 -msgid "saveHostProfile: account has wrong type!" -msgstr "Gazdaállomási profil mentése: az azonosító típusa hibás!" - -#: ../lib/profiles.inc:393 -msgid "saveUserProfile: account has wrong type!" -msgstr "Felhasználói profil mentése: az azonosító típusa hibás!" - -#: ../templates/profedit/profileuser.php:144 -#: ../templates/profedit/profileuser.php:145 -#: ../templates/profedit/profileuser.php:220 -#: ../templates/profedit/profileuser.php:221 -#: ../templates/profedit/profileuser.php:239 -#: ../templates/profedit/profileuser.php:240 -#: ../templates/profedit/profileuser.php:249 -#: ../templates/profedit/profileuser.php:250 -#: ../templates/profedit/profileuser.php:259 -#: ../templates/profedit/profileuser.php:260 -#: ../templates/profedit/profileuser.php:269 -#: ../templates/profedit/profileuser.php:270 -msgid "yes" -msgstr "igen" - diff --git a/lam/locale/ja_JP/LC_MESSAGES/messages.mo b/lam/locale/ja_JP/LC_MESSAGES/messages.mo deleted file mode 100644 index 03875fb6..00000000 Binary files a/lam/locale/ja_JP/LC_MESSAGES/messages.mo and /dev/null differ diff --git a/lam/locale/ja_JP/LC_MESSAGES/messages.po b/lam/locale/ja_JP/LC_MESSAGES/messages.po deleted file mode 100644 index 7a50d518..00000000 --- a/lam/locale/ja_JP/LC_MESSAGES/messages.po +++ /dev/null @@ -1,4201 +0,0 @@ -# $Id: messages.po,v 1.1 2004/10/01 12:31:19 gruberroland Exp $ -# -# -# LDAP Account Manager -# -msgid "" -msgstr "" -"Project-Id-Version: LAM 0.4.6\n" -"Report-Msgid-Bugs-To: post@rolandgruber.de \n" -"POT-Creation-Date: 2004-01-14 17:45+0200\n" -"PO-Revision-Date: 2004-12-11 09:17+0900\n" -"Last-Translator: Yasuhiro Magara \n" -"Language-Team: Japanese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../templates/lists/listdomains.php:138 -#: ../templates/lists/listdomains.php:188 -#, php-format -msgid "%s Samba domain(s) found" -msgstr "%s個のSambaドメインが見つかりました" - -#: ../templates/lists/listgroups.php:206 -#: ../templates/lists/listgroups.php:282 -#, php-format -msgid "%s group(s) found" -msgstr "%s個のグループが見つかりました" - -#: ../templates/lists/listhosts.php:206 -#: ../templates/lists/listhosts.php:266 -#, php-format -msgid "%s host(s) found" -msgstr "%s個のSamba ホストが見つかりました" - -#: ../templates/lists/listusers.php:245 -#: ../templates/lists/listusers.php:316 -#, php-format -msgid "%s user(s) found" -msgstr "%s名のユーザが見つかりました" - -#: ../lib/modules/posixAccount.inc:196 -msgid "/home/smiller" -msgstr "" - -#: ../templates/massBuildAccounts.php:113 -msgid "A required column is missing in your CSV file." -msgstr "CSVファイル中の必須カラムが不足しています。" - -#: ../templates/ou_edit.php:95 -#: ../templates/ou_edit.php:160 -#: ../templates/ou_edit.php:225 -#: ../templates/ou_edit.php:290 -#: ../templates/config/confmodules.php:499 -#: ../templates/config/confmain.php:422 -#: ../templates/pdfedit/pdfdelete.php:82 -#: ../templates/pdfedit/pdfpage.php:834 -#: ../templates/pdfedit/pdfmain.php:144 -#: ../templates/profedit/profiledelete.php:86 -#: ../templates/profedit/profiledelete.php:98 -#: ../templates/profedit/profiledelete.php:110 -#: ../templates/profedit/profilepage.php:140 -#: ../templates/profedit/profilemain.php:262 -msgid "Abort" -msgstr "中止" - -#: ../lib/modules/account.inc:35 -msgid "Account" -msgstr "アカウント" - -#: ../templates/massBuildAccounts.php:164 -#: ../lib/modules/ieee802device.inc:84 -#: ../lib/modules/posixGroup.inc:407 -#: ../lib/modules/posixGroup.inc:411 -#: ../lib/modules/posixGroup.inc:412 -#: ../lib/modules/sambaAccount.inc:48 -#: ../lib/modules/sambaAccount.inc:51 -#: ../lib/modules/sambaAccount.inc:54 -#: ../lib/modules/sambaAccount.inc:56 -#: ../lib/modules/sambaAccount.inc:58 -#: ../lib/modules/sambaAccount.inc:61 -#: ../lib/modules/sambaAccount.inc:64 -#: ../lib/modules/sambaAccount.inc:65 -#: ../lib/modules/sambaAccount.inc:66 -#: ../lib/modules/sambaAccount.inc:67 -#: ../lib/modules/sambaAccount.inc:68 -#: ../lib/modules/sambaAccount.inc:69 -#: ../lib/modules/sambaAccount.inc:70 -#: ../lib/modules/sambaAccount.inc:71 -#: ../lib/modules/sambaAccount.inc:72 -#: ../lib/modules/sambaAccount.inc:73 -#: ../lib/modules/sambaSamAccount.inc:46 -#: ../lib/modules/sambaSamAccount.inc:49 -#: ../lib/modules/sambaSamAccount.inc:52 -#: ../lib/modules/sambaSamAccount.inc:54 -#: ../lib/modules/sambaSamAccount.inc:57 -#: ../lib/modules/sambaSamAccount.inc:60 -#: ../lib/modules/sambaSamAccount.inc:61 -#: ../lib/modules/sambaSamAccount.inc:62 -#: ../lib/modules/sambaSamAccount.inc:63 -#: ../lib/modules/sambaSamAccount.inc:64 -#: ../lib/modules/sambaSamAccount.inc:65 -#: ../lib/modules/sambaSamAccount.inc:66 -#: ../lib/modules/sambaSamAccount.inc:67 -#: ../lib/modules/sambaSamAccount.inc:68 -#: ../lib/modules/sambaSamAccount.inc:69 -#: ../lib/modules/sambaSamAccount.inc:70 -#: ../lib/modules/sambaSamAccount.inc:71 -#: ../lib/modules/posixAccount.inc:66 -#: ../lib/modules/posixAccount.inc:70 -#: ../lib/modules/posixAccount.inc:74 -#: ../lib/modules/posixAccount.inc:82 -#: ../lib/modules/posixAccount.inc:83 -#: ../lib/modules/posixAccount.inc:84 -#: ../lib/modules/posixAccount.inc:85 -#: ../lib/modules/posixAccount.inc:86 -#: ../lib/modules/posixAccount.inc:87 -#: ../lib/modules/posixAccount.inc:88 -#: ../lib/modules/sambaGroupMapping.inc:341 -#: ../lib/modules/sambaGroupMapping.inc:342 -#: ../lib/modules/shadowAccount.inc:40 -#: ../lib/modules/shadowAccount.inc:42 -#: ../lib/modules/shadowAccount.inc:44 -#: ../lib/modules/shadowAccount.inc:46 -#: ../lib/modules/shadowAccount.inc:48 -#: ../lib/modules/shadowAccount.inc:49 -#: ../lib/modules/inetOrgPerson.inc:53 -#: ../lib/modules/inetOrgPerson.inc:55 -#: ../lib/modules/inetOrgPerson.inc:57 -#: ../lib/modules/inetOrgPerson.inc:59 -#: ../lib/modules/inetOrgPerson.inc:61 -#: ../lib/modules/inetOrgPerson.inc:63 -#: ../lib/modules/inetOrgPerson.inc:65 -#: ../lib/modules/inetOrgPerson.inc:67 -#: ../lib/modules/inetOrgPerson.inc:69 -#: ../lib/modules/inetOrgPerson.inc:71 -#: ../lib/modules/inetOrgPerson.inc:73 -#: ../lib/modules/inetOrgPerson.inc:74 -#, php-format -msgid "Account %s:" -msgstr "アカウント %s" - -#: ../templates/masscreate.php:78 -msgid "Account creation via file upload" -msgstr "ファイルアップロードによるアカウント作成" - -#: ../lib/modules/shadowAccount.inc:156 -msgid "Account expiration date. Format: DD-MM-YYYY" -msgstr "アカウント有効期限。形式は: DD-MM-YYYY" - -#: ../help/help.inc:171 -msgid "Account expire date. Format: DD-MM-YYYY" -msgstr "アカウント有効期限。形式は: DD-MM-YYYY" - -#: ../lib/modules/shadowAccount.inc:333 -msgid "Account inactive" -msgstr "アカウントが無効です" - -#: ../lib/modules/sambaAccount.inc:118 -#: ../lib/modules/sambaAccount.inc:227 -#: ../lib/modules/sambaAccount.inc:336 -#: ../lib/modules/sambaAccount.inc:339 -#: ../lib/modules/sambaAccount.inc:713 -#: ../lib/modules/sambaSamAccount.inc:150 -#: ../lib/modules/sambaSamAccount.inc:153 -#: ../lib/modules/sambaSamAccount.inc:242 -#: ../lib/modules/sambaSamAccount.inc:693 -#: ../lib/modules/sambaSamAccount.inc:846 -#: ../help/help.inc:196 -msgid "Account is deactivated" -msgstr "アカウントが無効化されました" - -#: ../templates/config/confmain.php:215 -#: ../help/help.inc:106 -msgid "Account modules" -msgstr "アカウントモジュール" - -#: ../templates/delete.php:88 -msgid "Account name:" -msgstr "アカウント名:" - -#: ../lib/modules.inc:767 -msgid "Account was created successfully." -msgstr "アカウントが作成されました。" - -#: ../lib/modules.inc:770 -msgid "Account was modified successfully." -msgstr "アカウントが変更されました。" - -#: ../templates/pdfedit/pdfpage.php:725 -#: ../lib/modules/ieee802device.inc:151 -msgid "Add" -msgstr "追加" - -#: ../templates/pdfedit/pdfpage.php:713 -msgid "Add after" -msgstr "後ろに追加" - -#: ../templates/config/profmanage.php:172 -#: ../help/help.inc:108 -msgid "Add profile" -msgstr "プロファイル追加" - -#: ../templates/pdfedit/pdfpage.php:699 -msgid "Add section or static text" -msgstr "セクションまた静的テキストを追加" - -#: ../lib/modules/posixAccount.inc:188 -#: ../lib/modules/posixAccount.inc:330 -#: ../lib/modules/posixAccount.inc:831 -#: ../lib/modules/posixAccount.inc:893 -#: ../lib/modules/posixAccount.inc:925 -#: ../lib/modules/posixAccount.inc:966 -#: ../help/help.inc:138 -msgid "Additional groups" -msgstr "追加のグループ" - -#: ../templates/massDoUpload.php:98 -msgid "Additional tasks for module:" -msgstr "モジュールに対する追加タスク:" - -#: ../lib/modules/sambaAccount.inc:568 -#: ../lib/modules/sambaAccount.inc:769 -#: ../lib/modules/sambaAccount.inc:772 -#: ../lib/modules/sambaSamAccount.inc:540 -#: ../lib/modules/sambaSamAccount.inc:751 -#: ../lib/modules/sambaSamAccount.inc:754 -msgid "Administrator" -msgstr "管理者" - -#: ../lib/modules/posixGroup.inc:303 -msgid "Administrators group" -msgstr "管理者グループ" - -#: ../templates/domain.php:146 -#: ../help/help.inc:252 -msgid "Algorithmic RID Base" -msgstr "アルゴリズム的なRIDベース" - -#: ../templates/domain.php:252 -msgid "Algorithmic RID base is not a number!" -msgstr "アルゴリズム的なRIDベースが数字でありません!" - -#: ../templates/initsuff.php:157 -msgid "All changes were successful." -msgstr "すべての変更が成功しました。" - -#: ../lib/lists.inc:181 -msgid "Allowed hosts" -msgstr "許可されたホスト" - -#: ../lib/modules/sambaAccount.inc:819 -#: ../lib/modules/sambaAccount.inc:820 -#: ../lib/modules/sambaSamAccount.inc:801 -#: ../lib/modules/sambaSamAccount.inc:802 -msgid "Allowed workstations" -msgstr "許可されたワークステーション" - -#: ../templates/lists/listusers.php:347 -msgid "Apply" -msgstr "適用" - -#: ../lib/cache.inc:101 -#: ../lib/cache.inc:160 -msgid "Attribute not defined in LDAP." -msgstr "属性がLDAPに定義されていません。" - -#: ../templates/config/confmain.php:292 -#: ../lib/config.inc:338 -msgid "Attributes in Group List" -msgstr "グループリスト中の属性" - -#: ../templates/config/confmain.php:298 -#: ../lib/config.inc:339 -msgid "Attributes in Host List" -msgstr "ホストリスト中の属性" - -#: ../templates/config/confmain.php:286 -#: ../lib/config.inc:337 -msgid "Attributes in User List" -msgstr "ユーザリスト中の属性" - -#: ../templates/pdfedit/pdfpage.php:852 -msgid "Available PDF fields" -msgstr "有効なPDFフィールド" - -#: ../templates/config/confmodules.php:319 -msgid "Available group modules" -msgstr "有効なグループモジュール" - -#: ../lib/modules/posixAccount.inc:899 -msgid "Available groups" -msgstr "有効なグループ" - -#: ../templates/config/confmodules.php:422 -msgid "Available host modules" -msgstr "有効なホストモジュール" - -#: ../templates/config/confmodules.php:216 -msgid "Available user modules" -msgstr "有効なユーザモジュール" - -#: ../lib/modules/posixGroup.inc:199 -msgid "Available users" -msgstr "有効なユーザ" - -#: ../lib/modules/sambaAccount.inc:825 -#: ../lib/modules/sambaSamAccount.inc:807 -msgid "Available workstations" -msgstr "有効なワークステーション" - -#: ../lib/modules/posixGroup.inc:203 -#: ../lib/modules/sambaAccount.inc:829 -#: ../lib/modules/sambaSamAccount.inc:811 -#: ../lib/modules/posixAccount.inc:903 -msgid "Back" -msgstr "戻る" - -#: ../templates/config/confsave.php:248 -#: ../templates/config/conflogin.php:147 -#: ../templates/logout.php:71 -msgid "Back to Login" -msgstr "ログインに戻る" - -#: ../templates/ou_edit.php:309 -#: ../templates/ou_edit.php:313 -msgid "Back to OU-Editor" -msgstr "OU-エディタに戻る" - -#: ../templates/pdfedit/pdfdelete.php:61 -#: ../templates/pdfedit/pdfdelete.php:69 -#: ../templates/pdfedit/pdfdelete.php:90 -msgid "Back to PDF Editor" -msgstr "PDFエディタに戻る" - -#: ../templates/profedit/profilecreate.php:115 -#: ../templates/profedit/profiledelete.php:63 -#: ../templates/profedit/profiledelete.php:71 -#: ../templates/profedit/profiledelete.php:119 -msgid "Back to Profile Editor" -msgstr "プロファイルエディタに戻る" - -#: ../lib/modules.inc:780 -msgid "Back to account list" -msgstr "アカウント一覧に戻る" - -#: ../templates/domain.php:290 -#: ../templates/domain.php:317 -msgid "Back to domain list" -msgstr "ドメイン一覧に戻る" - -#: ../templates/lists/userlink.php:65 -msgid "Back to group list" -msgstr "グループ一覧に戻る" - -#: ../templates/delete.php:238 -msgid "Back to list" -msgstr "一覧に戻る" - -#: ../templates/config/confsave.php:92 -#: ../templates/config/confsave.php:97 -#: ../templates/config/confsave.php:102 -#: ../templates/config/confsave.php:107 -#: ../templates/config/confsave.php:112 -#: ../templates/config/confsave.php:117 -#: ../templates/config/confsave.php:122 -#: ../templates/config/confsave.php:127 -#: ../templates/config/confsave.php:132 -#: ../templates/config/confsave.php:137 -#: ../templates/config/confsave.php:142 -#: ../templates/config/confsave.php:148 -#: ../templates/config/confsave.php:154 -#: ../templates/config/confsave.php:160 -#: ../templates/config/confsave.php:166 -#: ../templates/config/confsave.php:172 -#: ../templates/config/confsave.php:178 -#: ../templates/config/confsave.php:225 -msgid "Back to preferences..." -msgstr "プリファレンスに戻る..." - -#: ../templates/config/profmanage.php:382 -msgid "Back to profile login" -msgstr "プロファイルログインに戻る" - -#: ../templates/pdfedit/pdfpage.php:577 -msgid "Beginning" -msgstr "先頭" - -#: ../lib/modules/quota.inc:31 -msgid "Block hard quota" -msgstr "ブロック・ハードクオータ" - -#: ../lib/modules/quota.inc:31 -msgid "Block hard quota contains invalid characters. Only natural numbers are allowed." -msgstr "ブロック・ハードクォータに不正な文字が含まれています。自然数のみが有効です。" - -#: ../lib/modules/quota.inc:34 -msgid "Block quota" -msgstr "ブロック・クオータ" - -#: ../lib/modules/quota.inc:30 -msgid "Block soft quota" -msgstr "ブロック・ソフトクオータ" - -#: ../lib/modules/quota.inc:30 -msgid "Block soft quota contains invalid characters. Only natural numbers are allowed." -msgstr "ブロック・ソフトクオータに不正な文字が含まれています。自然数のみが有効です。" - -#: ../lib/modules/quota.inc:34 -msgid "Block soft quota must be smaller than block hard quota." -msgstr "ブロック・ソフトクオータはブロック・ハードクオータより小さくなくてはなりません。" - -#: ../templates/pdfedit/pdfpage.php:524 -msgid "Bottom" -msgstr "末尾" - -#: ../lib/modules/sambaGroupMapping.inc:55 -msgid "Builtin Group" -msgstr "既定のグループ" - -#: ../templates/masscreate.php:127 -msgid "CSV file:" -msgstr "CSVファイル:" - -#: ../templates/config/confmain.php:198 -#: ../lib/config.inc:332 -#: ../help/help.inc:102 -msgid "Cache timeout" -msgstr "キャッシュ有効時間" - -#: ../templates/config/confsave.php:96 -msgid "Cache timeout is invalid!" -msgstr "キャッシュ有効時間が正しくありません。" - -#: ../lib/modules/posixGroup.inc:334 -#: ../lib/modules/sambaAccount.inc:351 -#: ../lib/modules/sambaAccount.inc:355 -#: ../lib/modules/sambaAccount.inc:359 -#: ../lib/modules/sambaAccount.inc:363 -#: ../lib/modules/sambaAccount.inc:375 -#: ../lib/modules/sambaSamAccount.inc:165 -#: ../lib/modules/sambaSamAccount.inc:169 -#: ../lib/modules/sambaSamAccount.inc:173 -#: ../lib/modules/sambaSamAccount.inc:177 -#: ../lib/modules/posixAccount.inc:331 -#: ../lib/modules/sambaGroupMapping.inc:280 -#: ../lib/modules/shadowAccount.inc:140 -#: ../lib/modules/shadowAccount.inc:144 -#: ../lib/modules/shadowAccount.inc:148 -#: ../lib/modules/shadowAccount.inc:152 -#: ../help/help.inc:139 -#: ../help/help.inc:163 -#: ../help/help.inc:165 -#: ../help/help.inc:167 -#: ../help/help.inc:169 -#: ../help/help.inc:201 -#: ../help/help.inc:204 -#: ../help/help.inc:207 -#: ../help/help.inc:209 -#: ../help/help.inc:212 -#: ../help/help.inc:218 -#: ../help/help.inc:228 -#: ../help/help.inc:230 -#: ../help/help.inc:232 -msgid "Can be left empty." -msgstr "省略可" - -#: ../templates/domain.php:188 -#: ../templates/domain.php:219 -#: ../templates/delete.php:104 -#: ../templates/initsuff.php:194 -msgid "Cancel" -msgstr "中止" - -#: ../templates/login.php:321 -#: ../templates/login.php:326 -msgid "Cannot connect to specified LDAP-Server. Please try again." -msgstr "指定されたLDAPサーバに接続できません。再試行してください。" - -#: ../lib/config.inc:323 -#: ../lib/config.inc:895 -msgid "Cannot open config file!" -msgstr "configファイルをオープンできません!" - -#: ../templates/pdfedit/pdfpage.php:605 -#: ../templates/pdfedit/pdfpage.php:611 -msgid "Change" -msgstr "変更" - -#: ../lib/modules/posixGroup.inc:155 -msgid "Change GID number of users and hosts" -msgstr "ユーザとホストのGID番号を変更" - -#: ../templates/login.php:272 -msgid "Change Profile" -msgstr "プロファイルの変更" - -#: ../templates/lists/listhosts.php:285 -#: ../templates/lists/listgroups.php:301 -#: ../templates/lists/listdomains.php:207 -#: ../templates/lists/listusers.php:335 -msgid "Change Suffix" -msgstr "サフィックスの変更" - -#: ../templates/config/profmanage.php:319 -#: ../help/help.inc:116 -msgid "Change default profile" -msgstr "デフォルト・プロファイルの変更" - -#: ../templates/config/profmanage.php:339 -#: ../help/help.inc:118 -msgid "Change master password" -msgstr "マスタパスワードの変更" - -#: ../help/help.inc:100 -msgid "Change password" -msgstr "パスワードの変更" - -#: ../lib/baseModule.inc:524 -#, php-format -msgid "Changed value %s because only numeric values are allowed." -msgstr "数値だけが有効なため、%s の値を変更しました。" - -#: ../lib/baseModule.inc:541 -msgid "Changed value because only ASCII characters are allowed." -msgstr "ASCII文字だけが有効なため、%s の値を変更しました。" - -#: ../lib/config.inc:88 -msgid "Click here if you are not directed to the next page." -msgstr "自動的に次ページにジャンプしない場合はここをクリックしてください。" - -#: ../templates/masscreate.php:135 -msgid "Columns:" -msgstr "カラム:" - -#: ../lib/modules/sambaAccount.inc:363 -#: ../lib/modules/sambaSamAccount.inc:177 -msgid "Comma separated list of Samba workstations the user is allowed to login. Empty means every workstation." -msgstr "ユーザがログインできるSambaワークステーションのコンマ区切りリスト。空入力はすべてのワークステーションを意味します。" - -#: ../help/help.inc:228 -msgid "Comma separated list of unix workstations the user is allowed to login." -msgstr "ユーザがログインする事を許可されたunixワークステーショおカンマ区切りリスト。" - -#: ../lib/modules/inetOrgPerson.inc:115 -msgid "Common name" -msgstr "氏名(common name)" - -#: ../templates/login.php:119 -msgid "Configuration Login" -msgstr "構成設定ログイン" - -#: ../templates/login.php:255 -msgid "Configuration profile" -msgstr "構成プロファイル" - -#: ../help/help.inc:46 -#: ../help/help.inc:48 -#: ../help/help.inc:60 -#: ../help/help.inc:66 -#: ../help/help.inc:81 -#: ../help/help.inc:86 -#: ../help/help.inc:88 -#: ../help/help.inc:90 -#: ../help/help.inc:95 -#: ../help/help.inc:100 -#: ../help/help.inc:102 -#: ../help/help.inc:104 -#: ../help/help.inc:106 -msgid "Configuration wizard" -msgstr "構成設定ウィザード" - -#: ../templates/config/confmodules.php:257 -#: ../templates/config/confmodules.php:360 -#: ../templates/config/confmodules.php:463 -msgid "Conflicting module:" -msgstr "競合するモジュール" - -#: ../templates/config/profmanage.php:99 -msgid "Could not rename file!" -msgstr "ファイル名を変更できません!" - -#: ../templates/initsuff.php:193 -msgid "Create" -msgstr "作成" - -#: ../lib/modules.inc:760 -msgid "Create Account" -msgstr "アカウント作成" - -#: ../lib/modules.inc:778 -msgid "Create PDF file" -msgstr "PDFファイル作成" - -#: ../templates/lists/listgroups.php:319 -msgid "Create PDF for all groups" -msgstr "全グループのPDFファイル作成" - -#: ../templates/lists/listhosts.php:304 -msgid "Create PDF for all hosts" -msgstr "全ホストのPDFファイル作成" - -#: ../templates/lists/listusers.php:367 -msgid "Create PDF for all users" -msgstr "全ユーザのPDFファイル作成" - -#: ../templates/lists/listgroups.php:317 -msgid "Create PDF for selected group(s)" -msgstr "選択されたグループのPDFファイル作成" - -#: ../templates/lists/listhosts.php:302 -msgid "Create PDF for selected host(s)" -msgstr "選択されたホストのPDFファイル作成" - -#: ../templates/lists/listusers.php:365 -msgid "Create PDF for selected user(s)" -msgstr "選択されたユーザのPDFファイル作成" - -#: ../templates/pdfedit/pdfmain.php:109 -msgid "Create a new PDF structure for scope: " -msgstr "スコープに対する新しいPDF構成を作成:" - -#: ../templates/profedit/profilemain.php:140 -#: ../templates/profedit/profilemain.php:183 -#: ../templates/profedit/profilemain.php:226 -msgid "Create a new profile" -msgstr "新しいプロファイルの作成" - -#: ../lib/modules.inc:776 -msgid "Create another account" -msgstr "他のアカウントを作成" - -#: ../templates/masscreate.php:99 -msgid "Create group accounts" -msgstr "グループアカウントを作成" - -#: ../lib/modules/posixAccount.inc:838 -msgid "Create home directory" -msgstr "ホームディレクトリを作成" - -#: ../templates/masscreate.php:102 -msgid "Create host accounts" -msgstr "ホストアカウントを作成" - -#: ../lib/modules.inc:673 -msgid "Create new Account" -msgstr "新しいアカウントを作成" - -#: ../templates/masscreate.php:96 -msgid "Create user accounts" -msgstr "ユーザアカウントを作成" - -#: ../templates/config/profmanage.php:84 -msgid "Created new profile." -msgstr "新しいプロファイルが作成されました。" - -#: ../templates/tools.php:70 -msgid "Creates accounts by uploading a CSV formated file." -msgstr "CSVファイルをアップロードする事によってアカウントを作成します。" - -#: ../templates/delete.php:89 -#: ../lib/modules.inc:1509 -msgid "DN" -msgstr "" - -#: ../templates/masscreate.php:138 -msgid "DN settings" -msgstr "DN設定" - -#: ../templates/masscreate.php:142 -#: ../help/help.inc:129 -msgid "DN suffix" -msgstr "DNサフィックス" - -#: ../lib/modules/sambaGroupMapping.inc:253 -msgid "DOMAIN_ADMINS" -msgstr "" - -#: ../templates/massBuildAccounts.php:164 -msgid "Data field for RDN is empty!" -msgstr "RDNのデータフィールドが空です!" - -#: ../lib/modules/sambaAccount.inc:343 -#: ../lib/modules/sambaSamAccount.inc:157 -#: ../help/help.inc:193 -msgid "Date after the user is able to change his password. Format: DD-MM-YYYY" -msgstr "ユーザによるパスワード変更の禁止が解かれる日付。形式は: DD-MM-YYYY" - -#: ../lib/modules/sambaAccount.inc:345 -#: ../lib/modules/sambaSamAccount.inc:159 -#: ../help/help.inc:195 -msgid "Date after the user must change his password. Format: DD-MM-YYYY" -msgstr "ユーザがパスワードを変更しなければならなくなる日付。形式は: DD-MM-YYYY" - -#: ../lib/modules/shadowAccount.inc:140 -#: ../help/help.inc:163 -msgid "Days before password is to expire that user is warned of pending password expiration. If set value must be 0<." -msgstr "パスワードが期限切れになる前にユーザへパスワード期限切れの猶予期間である旨を警告する日数。もしもその値を設定するなら0より大きくなければならない。" - -#: ../templates/config/confmain.php:328 -#: ../lib/config.inc:341 -#: ../help/help.inc:88 -msgid "Default language" -msgstr "規定の言語" - -#: ../templates/masscreate.php:147 -#: ../templates/masscreate.php:302 -msgid "Default value" -msgstr "既定値" - -#: ../templates/domain.php:218 -#: ../templates/delete.php:103 -msgid "Delete" -msgstr "削除" - -#: ../templates/delete.php:74 -#: ../templates/delete.php:121 -msgid "Delete Account" -msgstr "アカウント削除" - -#: ../templates/lists/listdomains.php:214 -msgid "Delete Domain(s)" -msgstr "ドメインの削除" - -#: ../templates/lists/listgroups.php:308 -msgid "Delete Group(s)" -msgstr "グループの削除" - -#: ../templates/lists/listhosts.php:293 -msgid "Delete Host(s)" -msgstr "ホストの削除" - -#: ../templates/pdfedit/pdfdelete.php:48 -#: ../templates/pdfedit/pdfmain.php:133 -msgid "Delete PDF structure" -msgstr "PDF構成の削除" - -#: ../templates/profedit/profiledelete.php:52 -msgid "Delete User Profile" -msgstr "ユーザプロファイルの削除" - -#: ../templates/domain.php:209 -msgid "Delete domain(s)" -msgstr "ドメインを削除" - -#: ../lib/modules/posixAccount.inc:870 -msgid "Delete home directory" -msgstr "ホームディレクトリを削除" - -#: ../templates/pdfedit/pdfdelete.php:68 -#: ../templates/profedit/profiledelete.php:70 -msgid "Delete operation canceled." -msgstr "削除操作がキャンセルされました。" - -#: ../templates/ou_edit.php:357 -#: ../templates/ou_edit.php:390 -#: ../templates/ou_edit.php:423 -#: ../templates/ou_edit.php:456 -#: ../help/help.inc:238 -msgid "Delete organizational unit" -msgstr "organizational unitを削除" - -#: ../templates/config/profmanage.php:248 -#: ../templates/profedit/profilemain.php:164 -#: ../templates/profedit/profilemain.php:207 -#: ../templates/profedit/profilemain.php:250 -#: ../help/help.inc:112 -msgid "Delete profile" -msgstr "プロファイルを削除" - -#: ../templates/lists/listusers.php:356 -msgid "Delete user(s)" -msgstr "ユーザを削除" - -#: ../lib/modules/sambaGroupMapping.inc:56 -msgid "Deleted Account" -msgstr "削除されたアカウント" - -#: ../templates/delete.php:224 -#, php-format -msgid "Deleted DN: %s" -msgstr "削除されたDN: %s" - -#: ../templates/pdfedit/pdfdelete.php:59 -msgid "Deleted PDF structure:" -msgstr "削除したPDF構成:" - -#: ../templates/profedit/profiledelete.php:62 -msgid "Deleted profile:" -msgstr "削除したプロファイル:" - -#: ../templates/delete.php:128 -msgid "Deleting. Please stand by ..." -msgstr "削除中です。お待ちください ..." - -#: ../lib/modules/account.inc:71 -#: ../lib/modules/account.inc:155 -#: ../lib/modules/account.inc:172 -#: ../lib/modules/posixGroup.inc:131 -#: ../lib/modules/posixGroup.inc:329 -#: ../lib/modules/posixGroup.inc:371 -#: ../lib/modules/sambaAccount.inc:850 -#: ../lib/modules/sambaSamAccount.inc:923 -#: ../lib/modules/posixAccount.inc:267 -#: ../lib/modules/sambaGroupMapping.inc:301 -#: ../lib/modules/shadowAccount.inc:335 -#: ../lib/modules/inetOrgPerson.inc:135 -#: ../lib/modules/inetOrgPerson.inc:393 -#: ../lib/modules/inetOrgPerson.inc:461 -#: ../lib/lists.inc:187 -msgid "Description" -msgstr "説明" - -#: ../lib/modules/sambaAccount.inc:191 -#: ../lib/modules/sambaAccount.inc:312 -#: ../lib/modules/sambaAccount.inc:842 -#: ../lib/modules/sambaSamAccount.inc:126 -#: ../lib/modules/sambaSamAccount.inc:206 -#: ../lib/modules/sambaSamAccount.inc:915 -#: ../lib/modules/sambaGroupMapping.inc:159 -#: ../lib/modules/sambaGroupMapping.inc:267 -#: ../lib/modules/sambaGroupMapping.inc:299 -#: ../help/help.inc:174 -msgid "Display name" -msgstr "表示名" - -#: ../lib/modules.inc:471 -msgid "Displayed account numbers start at \"0\". Add 2 to get the row in your spreadsheet." -msgstr "表示されているアカウント番号は\"0\"から始まっています。表計算シート上の行番号を求めたい場合は、2を足してください。" - -#: ../templates/domain.php:210 -msgid "Do you really want to delete domain(s):" -msgstr "本当にドメインを削除しますか?" - -#: ../templates/ou_edit.php:87 -#: ../templates/ou_edit.php:152 -#: ../templates/ou_edit.php:217 -#: ../templates/ou_edit.php:282 -msgid "Do you really want to delete this OU?" -msgstr "本当にこのOUを削除しますか?" - -#: ../templates/pdfedit/pdfdelete.php:77 -msgid "Do you really want to delete this PDF structure?" -msgstr "本当にこのPDF構成を削除しますか?" - -#: ../templates/profedit/profiledelete.php:81 -#: ../templates/profedit/profiledelete.php:93 -#: ../templates/profedit/profiledelete.php:105 -msgid "Do you really want to delete this profile?" -msgstr "本当にこのプロファイルを削除しますか?" - -#: ../templates/delete.php:83 -msgid "Do you really want to remove the following accounts?" -msgstr "本当にこのアカウントを削除しますか?" - -#: ../lib/modules/sambaAccount.inc:157 -#: ../lib/modules/sambaAccount.inc:293 -#: ../lib/modules/sambaAccount.inc:303 -#: ../lib/modules/sambaAccount.inc:374 -#: ../lib/modules/sambaAccount.inc:784 -#: ../lib/modules/sambaAccount.inc:793 -#: ../lib/modules/sambaAccount.inc:849 -#: ../lib/modules/sambaSamAccount.inc:186 -#: ../lib/modules/sambaSamAccount.inc:199 -#: ../lib/modules/sambaSamAccount.inc:318 -#: ../lib/modules/sambaSamAccount.inc:766 -#: ../lib/modules/sambaSamAccount.inc:774 -#: ../lib/modules/sambaSamAccount.inc:889 -#: ../lib/modules/sambaSamAccount.inc:902 -#: ../lib/modules/sambaSamAccount.inc:922 -#: ../lib/modules/sambaGroupMapping.inc:53 -#: ../lib/modules/sambaGroupMapping.inc:187 -#: ../lib/modules/sambaGroupMapping.inc:279 -#: ../lib/modules/sambaGroupMapping.inc:321 -#: ../help/help.inc:211 -#: ../help/help.inc:229 -msgid "Domain" -msgstr "ドメイン" - -#: ../lib/modules/sambaAccount.inc:33 -#: ../lib/modules/sambaAccount.inc:288 -#: ../lib/modules/sambaSamAccount.inc:33 -#: ../lib/modules/sambaGroupMapping.inc:40 -msgid "Domain Admins" -msgstr "ドメイン管理者(Domain Admins)" - -#: ../lib/modules/sambaAccount.inc:35 -#: ../lib/modules/sambaSamAccount.inc:34 -#: ../lib/modules/sambaGroupMapping.inc:45 -msgid "Domain Certificate Admins" -msgstr "ドメイン証明書管理者(Domain Certificate Admins)" - -#: ../lib/modules/sambaAccount.inc:34 -#: ../lib/modules/sambaAccount.inc:529 -#: ../lib/modules/sambaSamAccount.inc:34 -#: ../lib/modules/sambaSamAccount.inc:501 -#: ../lib/modules/sambaGroupMapping.inc:43 -msgid "Domain Computers" -msgstr "ドメインコンピュータ(Domain Computers)" - -#: ../lib/modules/sambaAccount.inc:35 -#: ../lib/modules/sambaSamAccount.inc:34 -#: ../lib/modules/sambaGroupMapping.inc:44 -msgid "Domain Controllers" -msgstr "ドメインコントローラ(Domain Controllers)" - -#: ../lib/modules/sambaAccount.inc:36 -#: ../lib/modules/sambaSamAccount.inc:35 -#: ../lib/modules/sambaGroupMapping.inc:47 -msgid "Domain Enterprise Admins" -msgstr "ドメインエンタープライズ管理者(Domain Enterprise Admins)" - -#: ../lib/modules/sambaGroupMapping.inc:52 -#: ../lib/modules/sambaGroupMapping.inc:179 -msgid "Domain Group" -msgstr "ドメイングループ(Domain Group)" - -#: ../lib/modules/sambaAccount.inc:34 -#: ../lib/modules/sambaSamAccount.inc:33 -#: ../lib/modules/sambaGroupMapping.inc:42 -msgid "Domain Guests" -msgstr "ドメインゲスト(Domain Guests)" - -#: ../lib/modules/sambaAccount.inc:37 -#: ../lib/modules/sambaSamAccount.inc:35 -#: ../lib/modules/sambaGroupMapping.inc:48 -msgid "Domain Policy Admins" -msgstr "ドメインポリシー管理者(Domain Policy Admins)" - -#: ../templates/lists/listdomains.php:99 -#: ../templates/domain.php:104 -#: ../help/help.inc:244 -msgid "Domain SID" -msgstr "ドメインのSID" - -#: ../lib/modules/sambaAccount.inc:36 -#: ../lib/modules/sambaSamAccount.inc:35 -#: ../lib/modules/sambaGroupMapping.inc:46 -msgid "Domain Schema Admins" -msgstr "ドメインスキーマ管理者(Domain Schema Admins)" - -#: ../templates/domain.php:83 -msgid "Domain Settings" -msgstr "ドメインの設定" - -#: ../lib/modules/sambaAccount.inc:33 -#: ../lib/modules/sambaSamAccount.inc:33 -#: ../lib/modules/sambaGroupMapping.inc:41 -msgid "Domain Users" -msgstr "ドメインユーザ(Domain Users)" - -#: ../lib/modules/sambaGroupMapping.inc:247 -msgid "Domain administrators" -msgstr "ドメイン管理者(Domain administrator)" - -#: ../templates/domain.php:313 -msgid "Domain deleted successfully." -msgstr "ドメインの削除に成功しました。" - -#: ../templates/domain.php:269 -msgid "Domain has been modified." -msgstr "ドメインが変更されました。" - -#: ../templates/lists/listdomains.php:98 -#: ../templates/domain.php:88 -#: ../lib/modules/sambaAccount.inc:57 -#: ../help/help.inc:240 -msgid "Domain name" -msgstr "ドメイン名" - -#: ../lib/modules/sambaAccount.inc:57 -#: ../lib/modules/sambaAccount.inc:58 -msgid "Domain name contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and -." -msgstr "ドメイン名に不正な文字が含まれています。有効な文字は: a-z, A-Z, 0-9 と -です。" - -#: ../templates/domain.php:242 -msgid "Domain name is invalid!" -msgstr "ドメイン名が正しくありません!" - -#: ../templates/config/confmain.php:188 -#: ../lib/config.inc:336 -msgid "DomainSuffix" -msgstr "ドメインサフィックス" - -#: ../templates/config/confsave.php:121 -msgid "DomainSuffix is invalid!" -msgstr "ドメインサフィックスが正しくありません!" - -#: ../templates/ou_edit.php:438 -msgid "Domains" -msgstr "ドメイン" - -#: ../templates/pdfedit/pdfpage.php:581 -msgid "Down" -msgstr "下へ" - -#: ../templates/masscreate.php:261 -msgid "Download sample CSV file" -msgstr "サンプルCSVファイルをダウンロード" - -#: ../lib/modules/sambaAccount.inc:348 -#: ../lib/modules/sambaSamAccount.inc:162 -msgid "Drive letter assigned on windows workstations as homedirectory." -msgstr "Windows ワークステーションのホームディレクトリとして割り当てられたドライブ文字。" - -#: ../help/help.inc:199 -msgid "Driveletter assigned on windows workstations as homedirectory." -msgstr "Windowsワークステーションのホームディレクトリに割り当てられたドライブ文字。" - -#: ../lib/lists.inc:186 -msgid "E-Mail" -msgstr "電子メール" - -#: ../templates/lists/listhosts.php:233 -#: ../templates/lists/listgroups.php:233 -#: ../templates/lists/listdomains.php:168 -#: ../templates/lists/listusers.php:283 -msgid "Edit" -msgstr "編集" - -#: ../templates/pdfedit/pdfmain.php:121 -msgid "Edit PDF structure" -msgstr "PDF構成の編集" - -#: ../lib/modules/posixGroup.inc:135 -#: ../lib/modules/posixAccount.inc:832 -msgid "Edit groups" -msgstr "グループの編集" - -#: ../templates/config/confmain.php:223 -msgid "Edit modules" -msgstr "モジュールの編集" - -#: ../templates/profedit/profilemain.php:152 -#: ../templates/profedit/profilemain.php:195 -#: ../templates/profedit/profilemain.php:238 -msgid "Edit profile" -msgstr "プロファイルの編集" - -#: ../lib/modules/sambaAccount.inc:749 -#: ../lib/modules/sambaSamAccount.inc:729 -msgid "Edit workstations" -msgstr "ワークステーションの編集??" - -#: ../lib/modules/inetOrgPerson.inc:72 -#: ../lib/modules/inetOrgPerson.inc:99 -#: ../lib/modules/inetOrgPerson.inc:147 -#: ../lib/modules/inetOrgPerson.inc:231 -#: ../lib/modules/inetOrgPerson.inc:417 -#: ../lib/modules/inetOrgPerson.inc:466 -msgid "Employee type" -msgstr "雇用形態" - -#: ../lib/modules/inetOrgPerson.inc:232 -msgid "Employee type: Contractor, Employee, Intern, Temp, External, ..." -msgstr "雇用形態: 正社員、実習生、臨時雇用、派遣、..." - -#: ../templates/login.php:297 -msgid "Empty Password submitted. Try again." -msgstr "パスワードが空です。やり直してください。" - -#: ../templates/login.php:148 -msgid "Enter Username and Password for Account" -msgstr "アカウントに対するユーザ名とパスワードを入力" - -#: ../templates/delete.php:230 -#, php-format -msgid "Error while deleting DN: %s" -msgstr "DN: %s の削除中にエラーが発生しました。" - -#: ../help/help.inc:69 -#: ../help/help.inc:84 -msgid "Example" -msgstr "例" - -#: ../templates/masscreate.php:146 -#: ../templates/masscreate.php:159 -#: ../templates/masscreate.php:298 -msgid "Example value" -msgstr "例" - -#: ../help/help.inc:51 -#: ../help/help.inc:63 -msgid "Examples" -msgstr "例" - -#: ../help/help.inc:178 -msgid "Expand suffix with primary groupname" -msgstr "プライマリグループ名でサフィックスを補完" - -#: ../lib/modules/shadowAccount.inc:93 -#: ../lib/modules/shadowAccount.inc:155 -#: ../lib/modules/shadowAccount.inc:187 -#: ../lib/modules/shadowAccount.inc:310 -msgid "Expiration date" -msgstr "有効期限" - -#: ../help/help.inc:170 -msgid "Expire date" -msgstr "有効期限" - -#: ../templates/domain.php:287 -msgid "Failed to add domain!" -msgstr "ドメイン追加に失敗しました!" - -#: ../templates/initsuff.php:149 -msgid "Failed to create entry!" -msgstr "エントリ作成に失敗しました!" - -#: ../templates/domain.php:270 -msgid "Failed to modify domain!" -msgstr "ドメイン変更に失敗しました!" - -#: ../lib/modules/inetOrgPerson.inc:60 -#: ../lib/modules/inetOrgPerson.inc:183 -#: ../lib/modules/inetOrgPerson.inc:255 -#: ../lib/modules/inetOrgPerson.inc:256 -#: ../lib/modules/inetOrgPerson.inc:441 -#: ../lib/modules/inetOrgPerson.inc:472 -msgid "Fax number" -msgstr "ファクス番号" - -#: ../templates/tools.php:69 -msgid "File upload" -msgstr "ファイルのアップロード" - -#: ../lib/modules/sambaAccount.inc:359 -#: ../lib/modules/sambaSamAccount.inc:173 -#: ../help/help.inc:201 -#, php-format -msgid "Filename and -path relative to netlogon-share which should be executed on logon. $%s and $%s are replaced with user- and groupname." -msgstr "ログオンの時に実行される、ネットログオン共有への相対的なパスとファイル名。$%sと$%sはユーザとグループ名に置き換えられます。" - -#: ../lib/lists.inc:155 -msgid "Filter" -msgstr "フィルタ" - -#: ../lib/modules/inetOrgPerson.inc:52 -#: ../lib/modules/inetOrgPerson.inc:122 -#: ../lib/modules/inetOrgPerson.inc:223 -#: ../lib/modules/inetOrgPerson.inc:409 -#: ../lib/modules/inetOrgPerson.inc:464 -#: ../lib/lists.inc:182 -#: ../help/help.inc:184 -msgid "First name" -msgstr "(姓でない)名" - -#: ../lib/modules/inetOrgPerson.inc:52 -#: ../lib/modules/inetOrgPerson.inc:53 -msgid "First name contains invalid characters!" -msgstr "(姓でない)名前に不正な文字がある" - -#: ../lib/modules/inetOrgPerson.inc:224 -#: ../help/help.inc:185 -msgid "First name of user. Only letters, - and spaces are allowed." -msgstr "ユーザの(姓でない)名前。アルファベット, _- と空白のみ有効." - -#: ../lib/modules/posixGroup.inc:128 -#: ../lib/modules/posixGroup.inc:295 -#: ../lib/modules/posixGroup.inc:325 -#: ../lib/modules/posixGroup.inc:350 -#: ../lib/modules/posixGroup.inc:369 -#: ../lib/modules/posixGroup.inc:400 -#: ../lib/modules/posixAccount.inc:41 -#: ../lib/modules/posixAccount.inc:963 -#: ../lib/modules/sambaGroupMapping.inc:297 -#: ../lib/lists.inc:179 -#: ../lib/lists.inc:199 -#: ../lib/lists.inc:218 -#: ../help/help.inc:150 -msgid "GID number" -msgstr "GID番号" - -#: ../lib/modules/posixGroup.inc:400 -msgid "GID number has changed. Please select checkbox to change GID number of users and hosts." -msgstr "GID番号が変更されました。ユーザとホストのGID番号を変更する場合は、チェックボックスを選択してください。" - -#: ../lib/modules/posixAccount.inc:41 -#, php-format -msgid "GID number has changed. To keep file ownership you have to run the following command as root: 'find / -gid %s -uid %s -exec chgrp %s {} \\;'" -msgstr "GID番号が変更されました。ファイルの所有者属性を維持するために、root権限で以下のコマンドを実行しなければなりません: 'find / -gid %s -uid %s -exec chgrp %s {} \\\\;'" - -#: ../lib/modules/posixGroup.inc:407 -msgid "GID number has to be a numeric value!" -msgstr "GID番号は数値でなくてはなりません。" - -#: ../lib/modules/posixGroup.inc:251 -msgid "GID ranges for Unix groups" -msgstr "unixグループのGID範囲" - -#: ../lib/modules/account.inc:46 -#: ../lib/modules/posixAccount.inc:223 -#: ../lib/modules/posixAccount.inc:255 -#: ../lib/modules/posixAccount.inc:308 -#: ../lib/modules/posixAccount.inc:340 -#: ../lib/modules/posixAccount.inc:821 -#: ../lib/modules/posixAccount.inc:964 -#: ../lib/modules/inetOrgPerson.inc:215 -#: ../lib/modules/inetOrgPerson.inc:265 -#: ../help/help.inc:142 -#: ../help/help.inc:152 -#: ../help/help.inc:160 -msgid "Gecos" -msgstr "" - -#: ../lib/modules/posixGroup.inc:139 -#: ../lib/modules/posixAccount.inc:844 -msgid "Generate password" -msgstr "パスワードの作成" - -#: ../lib/modules/quota.inc:80 -#: ../lib/modules/quota.inc:295 -msgid "Grace block period" -msgstr "ブロック猶予期間" - -#: ../lib/modules/quota.inc:81 -msgid "Grace block period. Most filesystems use a fixed maximum value of 7 days." -msgstr "ブロッククオータの猶予期間。 ほとんどのファイルシステムは、最大値である7日間を固定値として使用します。" - -#: ../lib/modules/quota.inc:97 -msgid "Grace inode (files) period. Most filesystems use a fixed maximum value of 7 days." -msgstr "iノード(ファイル)クオータの猶予期間。 ほとんどのファイルシステムは、最大値である7日間を固定値として使用します。" - -#: ../lib/modules/quota.inc:96 -#: ../lib/modules/quota.inc:299 -msgid "Grace inode period" -msgstr "iノードクオータの猶予期間" - -#: ../lib/modules/posixGroup.inc:301 -#: ../lib/lists.inc:202 -msgid "Group description" -msgstr "グループの説明" - -#: ../lib/modules/posixGroup.inc:330 -#: ../help/help.inc:153 -msgid "Group description. If left empty group name will be used." -msgstr "グループの説明。もしも空ならば、グループ名が使われます。" - -#: ../lib/pdf.inc:452 -msgid "Group information page" -msgstr "グループ情報ページ" - -#: ../templates/config/confsave.php:131 -msgid "Group list attributes are invalid!" -msgstr "グループリストの属性が正しくありません!" - -#: ../lib/lists.inc:201 -msgid "Group member DNs" -msgstr "グループメンバのDN" - -#: ../lib/modules/posixGroup.inc:134 -#: ../lib/modules/posixGroup.inc:193 -#: ../lib/modules/posixGroup.inc:307 -#: ../lib/modules/posixGroup.inc:333 -#: ../lib/modules/posixGroup.inc:337 -#: ../lib/modules/posixGroup.inc:370 -#: ../lib/lists.inc:200 -#: ../help/help.inc:172 -#: ../help/help.inc:231 -msgid "Group members" -msgstr "グループメンバ" - -#: ../templates/config/confmodules.php:284 -#: ../templates/config/confmain.php:220 -#: ../lib/config.inc:346 -msgid "Group modules" -msgstr "グループモジュール" - -#: ../lib/modules/posixGroup.inc:287 -#: ../lib/lists.inc:198 -msgid "Group name" -msgstr "グループ名" - -#: ../lib/modules/posixGroup.inc:322 -#: ../help/help.inc:149 -msgid "Group name of the group which should be created. Valid characters are: a-z,0-9, .-_. Lam does not allow a number as first character because groupadd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. If groupname is already used groupname will be expanded with a number. The next free number will be used." -msgstr "" -"作成しようとしているグループのグループ名。有効な文字は: a-z,0-9, .-_ です。groupaddコマンドで許されていないため、先頭の文字として数字は使えません。大文字のA-Zは、いくつかの問題を引き起こす事があるため使えません。\n" -"もしもグループ名が既に使われていたならば、グループ名に番号が付加されます。この場合、次の空き番号が使われます。" - -#: ../lib/modules/posixGroup.inc:313 -#: ../lib/modules/posixGroup.inc:341 -msgid "Group password" -msgstr "グループパスワード" - -#: ../templates/profedit/profilemain.php:175 -msgid "Group profiles" -msgstr "グループのプロファイル" - -#: ../help/help.inc:180 -msgid "Group suffix" -msgstr "グループサフィックス" - -#: ../lib/modules/sambaGroupMapping.inc:184 -msgid "Group type" -msgstr "グループのタイプ" - -#: ../templates/config/confmain.php:176 -#: ../lib/config.inc:334 -msgid "GroupSuffix" -msgstr "グループサフィックス" - -#: ../templates/config/confsave.php:111 -msgid "GroupSuffix is invalid!" -msgstr "グループサフィックスが正しくありません!" - -#: ../lib/modules/posixGroup.inc:125 -#: ../lib/modules/posixGroup.inc:321 -#: ../lib/modules/posixGroup.inc:368 -#: ../lib/modules/posixGroup.inc:408 -#: ../lib/modules/posixGroup.inc:409 -#: ../lib/modules/posixGroup.inc:410 -#: ../help/help.inc:148 -msgid "Groupname" -msgstr "グループ名" - -#: ../lib/modules/posixGroup.inc:410 -#: ../lib/modules/posixGroup.inc:411 -msgid "Groupname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !" -msgstr "グループ名に不正な文字が含まれています。有効な文字は: a-z, A-Z, 0-9, .-_ です!" - -#: ../lib/modules/posixGroup.inc:409 -msgid "Groupname in use. Selected next free groupname." -msgstr "グループ名が既に使われています。次の未使用グループ名が選択されました。" - -#: ../templates/ou_edit.php:372 -#: ../templates/main_header.php:75 -#: ../help/help.inc:76 -msgid "Groups" -msgstr "グループ" - -#: ../lib/modules/sambaAccount.inc:574 -#: ../lib/modules/sambaAccount.inc:774 -#: ../lib/modules/sambaAccount.inc:777 -#: ../lib/modules/sambaSamAccount.inc:546 -#: ../lib/modules/sambaSamAccount.inc:756 -#: ../lib/modules/sambaSamAccount.inc:759 -msgid "Guest" -msgstr "ゲスト" - -#: ../lib/modules/quota.inc:400 -msgid "Hard block" -msgstr "ハードblock" - -#: ../lib/modules/quota.inc:76 -#: ../lib/modules/quota.inc:77 -#: ../lib/modules/quota.inc:294 -#: ../lib/modules/quota.inc:351 -msgid "Hard block limit" -msgstr "ハードブロック制限" - -#: ../lib/modules/quota.inc:400 -msgid "Hard inode" -msgstr "ハードinode" - -#: ../lib/modules/quota.inc:93 -msgid "Hard inode (files) limit" -msgstr "ハードinode(ファイル)制限" - -#: ../lib/modules/quota.inc:92 -#: ../lib/modules/quota.inc:298 -#: ../lib/modules/quota.inc:353 -msgid "Hard inode limit" -msgstr "ハードinode制限" - -#: ../templates/pdfedit/pdfpage.php:495 -msgid "Headline" -msgstr "見出し" - -#: ../templates/pdfedit/pdfpage.php:468 -msgid "Height" -msgstr "高さ" - -#: ../templates/ou_edit.php:352 -#: ../templates/ou_edit.php:365 -#: ../templates/ou_edit.php:385 -#: ../templates/ou_edit.php:398 -#: ../templates/ou_edit.php:418 -#: ../templates/ou_edit.php:431 -#: ../templates/ou_edit.php:451 -#: ../templates/ou_edit.php:464 -#: ../templates/domain.php:96 -#: ../templates/domain.php:112 -#: ../templates/domain.php:123 -#: ../templates/domain.php:131 -#: ../templates/domain.php:139 -#: ../templates/domain.php:151 -#: ../templates/domain.php:169 -#: ../templates/masscreate.php:149 -#: ../templates/masscreate.php:161 -#: ../templates/masscreate.php:306 -#: ../templates/config/profmanage.php:180 -#: ../templates/config/profmanage.php:227 -#: ../templates/config/profmanage.php:252 -#: ../templates/config/profmanage.php:281 -#: ../templates/config/profmanage.php:324 -#: ../templates/config/profmanage.php:347 -#: ../templates/config/profmanage.php:375 -#: ../templates/config/confmain.php:162 -#: ../templates/config/confmain.php:172 -#: ../templates/config/confmain.php:178 -#: ../templates/config/confmain.php:184 -#: ../templates/config/confmain.php:190 -#: ../templates/config/confmain.php:208 -#: ../templates/config/confmain.php:224 -#: ../templates/config/confmain.php:288 -#: ../templates/config/confmain.php:294 -#: ../templates/config/confmain.php:300 -#: ../templates/config/confmain.php:317 -#: ../templates/config/confmain.php:358 -#: ../templates/config/confmain.php:373 -#: ../templates/config/confmain.php:378 -#: ../templates/config/confmain.php:392 -#: ../templates/config/confmain.php:402 -#: ../templates/config/confmain.php:468 -#: ../templates/config/conflogin.php:126 -#: ../templates/pdfedit/pdfpage.php:811 -#: ../templates/profedit/profilepage.php:90 -#: ../templates/profedit/profilepage.php:129 -#: ../templates/profedit/profilepage.php:166 -#: ../lib/modules.inc:883 -msgid "Help" -msgstr "ヘルプ" - -#: ../templates/masscreate.php:83 -msgid "Here you can create multiple accounts by providing a CSV file." -msgstr "ここでは、CSVファイルを与える事によって、複数のアカウントを作成できます。" - -#: ../lib/lists.inc:162 -msgid "Here you can input small filters (e.g. 'value' or 'v*')." -msgstr "ここには、簡単なフィルタ(例 'value'または'v*')を入力できます。" - -#: ../templates/tools.php:54 -msgid "Here you can manage your account profiles." -msgstr "ここで、あなたのアカウントのプロファイルを管理できます。" - -#: ../help/help.inc:107 -msgid "Here you can select which plugins you want to use for account management." -msgstr "ここでは、アカウント管理に使用するプラグインを選択できます。" - -#: ../lib/modules/posixAccount.inc:331 -#: ../help/help.inc:139 -msgid "Hold the CTRL-key to (de)select multiple groups." -msgstr "複数のグループを選択(解除)する場合は、CTRLキーを押しながら操作してください。" - -#: ../lib/modules/posixAccount.inc:36 -#: ../lib/modules/posixAccount.inc:64 -#: ../lib/modules/posixAccount.inc:65 -#: ../lib/modules/posixAccount.inc:194 -#: ../lib/modules/posixAccount.inc:316 -#: ../lib/modules/posixAccount.inc:711 -#: ../lib/modules/posixAccount.inc:834 -#: ../lib/modules/posixAccount.inc:930 -#: ../lib/modules/posixAccount.inc:967 -#: ../lib/lists.inc:184 -#: ../help/help.inc:140 -msgid "Home directory" -msgstr "ホームディレクトリ" - -#: ../lib/modules/posixAccount.inc:36 -#, php-format -msgid "Home directory changed. To keep home directory you have to run the following command as root: 'mv %s %s'" -msgstr "ホームディレクトリが変更されました。ホームディレクトリを維持するために、root権限で以下のコマンドを実行しなければなりません: 'mv %s %s'" - -#: ../lib/modules/sambaAccount.inc:126 -#: ../lib/modules/sambaAccount.inc:249 -#: ../lib/modules/sambaAccount.inc:347 -#: ../lib/modules/sambaAccount.inc:736 -#: ../lib/modules/sambaAccount.inc:845 -#: ../lib/modules/sambaSamAccount.inc:161 -#: ../lib/modules/sambaSamAccount.inc:264 -#: ../lib/modules/sambaSamAccount.inc:716 -#: ../lib/modules/sambaSamAccount.inc:854 -#: ../lib/modules/sambaSamAccount.inc:918 -#: ../help/help.inc:198 -msgid "Home drive" -msgstr "ホームドライブ" - -#: ../lib/modules/sambaAccount.inc:46 -#: ../lib/modules/sambaAccount.inc:47 -#: ../lib/modules/sambaAccount.inc:132 -#: ../lib/modules/sambaAccount.inc:255 -#: ../lib/modules/sambaAccount.inc:350 -#: ../lib/modules/sambaAccount.inc:739 -#: ../lib/modules/sambaAccount.inc:844 -#: ../lib/modules/sambaSamAccount.inc:44 -#: ../lib/modules/sambaSamAccount.inc:45 -#: ../lib/modules/sambaSamAccount.inc:164 -#: ../lib/modules/sambaSamAccount.inc:270 -#: ../lib/modules/sambaSamAccount.inc:719 -#: ../lib/modules/sambaSamAccount.inc:860 -#: ../lib/modules/sambaSamAccount.inc:917 -#: ../help/help.inc:208 -msgid "Home path" -msgstr "ホームパス" - -#: ../lib/modules/sambaAccount.inc:46 -#: ../lib/modules/sambaSamAccount.inc:44 -#: ../lib/modules/sambaSamAccount.inc:46 -msgid "Home path is invalid." -msgstr "ホームパスが正しくありません。" - -#: ../lib/modules/posixAccount.inc:64 -#: ../lib/modules/posixAccount.inc:66 -msgid "Homedirectory contains invalid characters." -msgstr "ホームディレクトリが不正な文字を含んでいます。" - -#: ../lib/lists.inc:216 -msgid "Host description" -msgstr "ホストの説明" - -#: ../lib/modules/account.inc:47 -#: ../lib/modules/posixAccount.inc:341 -#: ../lib/modules/inetOrgPerson.inc:266 -#: ../help/help.inc:161 -msgid "Host description. If left empty host name will be used." -msgstr "ホストの説明。もしも空ならば、ホスト名が使われます。" - -#: ../lib/modules/account.inc:56 -msgid "Host list" -msgstr "ホスト一覧" - -#: ../templates/config/confsave.php:136 -msgid "Host list attributes are invalid!" -msgstr "ホスト一覧の属性が正しくありません!" - -#: ../templates/config/confmodules.php:387 -#: ../templates/config/confmain.php:221 -#: ../lib/config.inc:347 -msgid "Host modules" -msgstr "ホストモジュール" - -#: ../lib/modules/posixAccount.inc:234 -#: ../lib/modules/posixAccount.inc:336 -#: ../lib/lists.inc:214 -#: ../help/help.inc:154 -msgid "Host name" -msgstr "ホスト名" - -#: ../lib/modules/posixAccount.inc:337 -#: ../help/help.inc:155 -msgid "Host name of the host which should be created. Valid characters are: a-z,0-9, .-_$. Lam does not allow a number as first character because useradd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. Hostnames are always ending with $. If last character is not $ it will be added. If hostname is already used hostname will be expanded with a number. The next free number will be used." -msgstr "" -"作成しようとしているホストのホスト名。有効な文字は: a-z, 0-9, .-_$ です。useraddコマンドで許されてしないため、先頭文字に数字は使えません。大文字のA-Zは、いくつかの問題を引き起こす事があるため使えません。ホスト名の末尾は必ず $ になります。もしも最後の文字が $ でなければ追加されます。\n" -"もしもホスト名がすでに使われていれば、ホスト名に番号が付加されます。この場合、次の空き番号が使われます。" - -#: ../templates/profedit/profilemain.php:218 -msgid "Host profiles" -msgstr "ホストプロファイル" - -#: ../lib/lists.inc:213 -msgid "Host username" -msgstr "ホストユーザ名" - -#: ../templates/config/confmain.php:182 -#: ../lib/config.inc:335 -msgid "HostSuffix" -msgstr "ホストサフィックス" - -#: ../templates/config/confsave.php:116 -msgid "HostSuffix is invalid!" -msgstr "ホストサフィックスが正しくありません!" - -#: ../lib/modules/posixAccount.inc:78 -#: ../lib/modules/posixAccount.inc:79 -#: ../lib/modules/posixAccount.inc:81 -msgid "Hostname" -msgstr "ホスト名" - -#: ../lib/modules/posixAccount.inc:83 -msgid "Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !" -msgstr "ホスト名に不正な文字が含まれています。有効な文字は: a-z, A-Z, 0-9, .-_ です。" - -#: ../lib/modules/posixAccount.inc:79 -msgid "Hostname contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ ! Hostname must end with $ !" -msgstr "ホスト名に不正な文字が含まれています。有効な文字は: a-z, A-Z, 0-9, .-_ です。ホスト名の末尾は$でなくてはなりません。" - -#: ../lib/modules/posixAccount.inc:81 -msgid "Hostname in use. Selected next free hostname." -msgstr "ホスト名がすでに使われています。次の未使用ホスト名が選択されました。" - -#: ../templates/main_header.php:77 -#: ../lib/modules/posixAccount.inc:59 -#: ../lib/modules/posixAccount.inc:60 -#: ../lib/modules/posixAccount.inc:62 -#: ../lib/modules/posixAccount.inc:132 -#: ../help/help.inc:79 -msgid "Hosts" -msgstr "ホスト" - -#: ../lib/modules/posixGroup.inc:403 -#: ../lib/modules/posixGroup.inc:534 -#: ../lib/modules/posixAccount.inc:69 -#: ../lib/modules/posixAccount.inc:657 -msgid "ID is already in use" -msgstr "ID はすでに使用されています" - -#: ../lib/modules/posixGroup.inc:401 -#: ../lib/modules/posixGroup.inc:402 -#: ../lib/modules/posixGroup.inc:403 -#: ../lib/modules/posixGroup.inc:530 -#: ../lib/modules/posixGroup.inc:534 -#: ../lib/modules/posixAccount.inc:67 -#: ../lib/modules/posixAccount.inc:68 -#: ../lib/modules/posixAccount.inc:69 -#: ../lib/modules/posixAccount.inc:653 -#: ../lib/modules/posixAccount.inc:657 -msgid "ID-Number" -msgstr "ID番号" - -#: ../templates/masscreate.php:145 -#: ../templates/masscreate.php:157 -#: ../templates/masscreate.php:290 -msgid "Identifier" -msgstr "識別子" - -#: ../help/help.inc:181 -msgid "If a not yet existing group is defined in csv-file, a new group in the selected group suffix will be created." -msgstr "もしも、csvファイル中に定義されているグループがまだ存在していなければ、選択されたグループサフィックス中に新しいグループが作成されます。" - -#: ../help/help.inc:216 -msgid "If a not yet existing group is defined in csv-file, a new group with the selected group profile will be created." -msgstr "もしも、csvファイル中に定義されているグループがまだ存在されていなければ、選択されたグループプロファイルで新しいグループが作成されます。" - -#: ../lib/modules/sambaAccount.inc:319 -#: ../lib/modules/sambaSamAccount.inc:133 -msgid "If checked Unix password will also be used as Samba password." -msgstr "チェックした場合、unixパスワードがSambaパスワードとしても使われます。" - -#: ../lib/modules/sambaAccount.inc:337 -#: ../lib/modules/sambaSamAccount.inc:151 -#: ../help/help.inc:197 -msgid "If checked account will be deactivated. (Setting D-Flag)" -msgstr "チェックした場合、(D-フラグをセットすることで)アカウントは無効化されます。" - -#: ../lib/modules/posixGroup.inc:346 -#: ../lib/modules/sambaAccount.inc:325 -#: ../lib/modules/sambaSamAccount.inc:139 -#: ../lib/modules/posixAccount.inc:322 -#: ../help/help.inc:187 -msgid "If checked no password will be used." -msgstr "チェックした場合、パスワードは使われません。" - -#: ../lib/modules/sambaAccount.inc:331 -#: ../lib/modules/sambaSamAccount.inc:145 -#: ../help/help.inc:191 -msgid "If checked password does not expire. (Setting X-Flag)" -msgstr "チェックした場合、パスワードは無期限になります。(X-フラグをセット)" - -#: ../help/help.inc:189 -msgid "If checked unix password will also be used as samba password." -msgstr "チェックした場合、unixパスワードがSambaパスワードとしても使われます。" - -#: ../lib/modules/posixGroup.inc:326 -#: ../help/help.inc:151 -msgid "If empty GID number will be generated automaticly depending on your configuration settings." -msgstr "未記入の場合、設定内容に従ってGID番号が自動的に生成されます。" - -#: ../lib/modules/posixAccount.inc:300 -#: ../help/help.inc:137 -#: ../help/help.inc:157 -msgid "If empty UID number will be generated automaticly." -msgstr "未記入の場合、UID番号が自動的に生成されます。" - -#: ../help/help.inc:179 -msgid "If selected users will be added with OUs expanded with their primary group. E.g. if a user is in group admin the user suffix will be ou=admin,+user suffix." -msgstr "選択した場合、ユーザはそのプライマリグループで拡張されたOUをもって追加されます。例えば、ユーザが group admin に所属している場合、ユーザのサフィックスは ou=admin,+ユーザのサフィックスになります。" - -#: ../lib/modules/sambaAccount.inc:322 -#: ../lib/modules/sambaSamAccount.inc:136 -msgid "If set to \"true\" Unix password will also be used as Samba password." -msgstr "\"true\"にセットした場合、unixパスワードがSambaパスワードとしても使われます。" - -#: ../lib/modules/sambaAccount.inc:340 -#: ../lib/modules/sambaSamAccount.inc:154 -msgid "If set to \"true\" account will be deactivated. (Setting D-Flag)" -msgstr "\"true\"にセットした場合、アカウントは無効になります。(D-フラグをセット)" - -#: ../lib/modules/sambaAccount.inc:328 -#: ../lib/modules/sambaSamAccount.inc:142 -msgid "If set to \"true\" no password will be used." -msgstr "\"true\"にセットした場合、パスワードは使われません。" - -#: ../lib/modules/sambaAccount.inc:334 -#: ../lib/modules/sambaSamAccount.inc:148 -msgid "If set to \"true\" password does not expire. (Setting X-Flag)" -msgstr "\"true\"にセットした場合、パスワードは無期限になります。(X-フラグをセット)" - -#: ../help/help.inc:101 -msgid "If you want to change the current preferences password, please enter it here." -msgstr "現在のプリファレンスのパスワードを変更したい場合は、ここに入力してください。" - -#: ../help/help.inc:119 -msgid "If you want to change your master configuration password, please enter it here." -msgstr "マスタ構成パスワードを変更したい場合は、ここに入力してください。" - -#: ../lib/modules/sambaAccount.inc:372 -msgid "If you want to create domain administrators or other special users use this option." -msgstr "ドメイン管理者やその他の特殊アカウントを作成したい場合は、このオプションを使用してください。" - -#: ../lib/modules/sambaAccount.inc:366 -#: ../lib/modules/sambaGroupMapping.inc:272 -#: ../help/help.inc:226 -msgid "If you want to use a well known RID you can selcet a well known group." -msgstr "もしも、よく知られているRID(well known RID)を使いたいのであれば、よく知られたグループを選択できます。" - -#: ../lib/modules/quota.inc:33 -msgid "Inode hard quota" -msgstr "Inode ハードquota" - -#: ../lib/modules/quota.inc:33 -msgid "Inode hard quota contains invalid characters. Only natural numbers are allowed." -msgstr "Inodeハードクオータに不正な文字が含まれています。自然数のみが有効です。" - -#: ../lib/modules/quota.inc:35 -msgid "Inode quota" -msgstr "Inodeクオータ" - -#: ../lib/modules/quota.inc:32 -msgid "Inode soft quota" -msgstr "Inodeソフトquota" - -#: ../lib/modules/quota.inc:32 -msgid "Inode soft quota contains invalid characters. Only natural numbers are allowed." -msgstr "Inode ソフトクオータに不正な文字が含まれています。自然数のみ有効です。" - -#: ../lib/modules/quota.inc:35 -msgid "Inode soft quota must be smaller than inode hard quota." -msgstr "iノード・ソフトクオータはiノード・ハードクオータ<より小さくなくてはなりません。" - -#: ../lib/modules/sambaAccount.inc:47 -#: ../lib/modules/sambaAccount.inc:48 -#: ../lib/modules/sambaSamAccount.inc:45 -msgid "Inserted user- or groupname in HomePath." -msgstr "ホームパス名にユーザ又はグループ名を挿入しました。" - -#: ../lib/modules/sambaAccount.inc:53 -msgid "Inserted user- or groupname in logon script." -msgstr "ログオンスクリプトパスにユーザ又はグループ名を挿入しました。" - -#: ../lib/modules/sambaAccount.inc:50 -#: ../lib/modules/sambaAccount.inc:51 -#: ../lib/modules/sambaSamAccount.inc:48 -msgid "Inserted user- or groupname in profilepath." -msgstr "プロファイルパスにユーザ又はグループ名を挿入しました。" - -#: ../lib/modules/sambaSamAccount.inc:51 -msgid "Inserted user- or groupname in scriptpath." -msgstr "スクリプトパスにユーザ又はグループ名を挿入しました。" - -#: ../lib/modules/posixGroup.inc:148 -#: ../lib/modules/posixAccount.inc:853 -msgid "Invalid password" -msgstr "無効なパスワードです" - -#: ../lib/status.inc:61 -msgid "Invalid/Missing Message type" -msgstr "不正な/間違ったメッセージタイプ" - -#: ../lib/modules/posixGroup.inc:401 -#: ../lib/modules/posixAccount.inc:68 -msgid "It is possible that this ID-number is reused. This can cause several problems because files with old permissions might still exist. To avoid this warning set maxUID to a higher value." -msgstr "ID番号を再利用することは可能です。古いパーミッションを持ったファイルがまだ存在するかも知れないため、これはいくつかの問題を引き起こすかもしれません。この警告を防ぐには、maxUIDをより大きな値に設定してください。" - -#: ../lib/modules/sambaGroupMapping.inc:57 -msgid "Ivalid Account" -msgstr "無効なアカウントです" - -#: ../lib/modules/inetOrgPerson.inc:70 -#: ../lib/modules/inetOrgPerson.inc:95 -#: ../lib/modules/inetOrgPerson.inc:141 -#: ../lib/modules/inetOrgPerson.inc:219 -#: ../lib/modules/inetOrgPerson.inc:405 -#: ../lib/modules/inetOrgPerson.inc:463 -msgid "Job title" -msgstr "役職" - -#: ../lib/modules/inetOrgPerson.inc:220 -msgid "Job title of user: President, department manager, ..." -msgstr "ユーザの役職: 社長、部長、..." - -#: ../lib/status.inc:60 -msgid "LAM Internal Error" -msgstr "LAM 内部エラー" - -#: ../templates/massBuildAccounts.php:188 -msgid "LAM has checked your input and is now ready to create the accounts." -msgstr "LAMは入力内容をチェックしました。アカウントを作成する準備ができました。" - -#: ../lib/modules/posixGroup.inc:355 -#: ../lib/modules/posixAccount.inc:296 -msgid "LAM supports CRYPT, SHA, SSHA, MD5 and SMD5 to generate the hash value of passwords. SSHA and CRYPT are the most common but CRYPT does not support passwords greater than 8 letters. We do not recommend to use plain text passwords." -msgstr "LAMはユーザのパスワードのハッシュ値を生成するために、CRYPT、SHA、SSHA、MD5とSMD5をサポートしています。SSHAとCRYPTが最も一般的ですが、CRYPTは8文字より長いパスワードをサポートしません。平文のパスワードを使うことは推奨いたしません。" - -#: ../templates/massDoUpload.php:82 -#, php-format -msgid "LAM was unable to create account %s! An LDAP error occured." -msgstr "LAMはアカウント %s を作成できませんでした! LDAPエラーが発生しました。" - -#: ../lib/modules/sambaGroupMapping.inc:341 -msgid "LAM was unable to find a Samba 3 domain with this name!" -msgstr "LAMは、この名前のSamba 3ドメインを見つけられませんでした。" - -#: ../lib/modules/sambaSamAccount.inc:69 -msgid "LAM was unable to find a domain with this name!" -msgstr "LAMは、この名前のドメインを見つけられませんでした。" - -#: ../lib/modules/posixAccount.inc:84 -msgid "LAM was unable to find a group with this name!" -msgstr "LAMは、この名前のグループを見つけられませんでした。" - -#: ../lib/modules/posixAccount.inc:1243 -#, php-format -msgid "LAM was unable to modify group memberships for group: %s" -msgstr "LAMはグループ %s のグループメンバーシップを変更できませんでした。" - -#: ../templates/config/confmodules.php:67 -#: ../templates/config/confsave.php:74 -#: ../templates/config/confmain.php:145 -msgid "LDAP Account Manager Configuration" -msgstr "LDAP アカウントマネージャ構成" - -#: ../templates/config/confmain.php:281 -msgid "LDAP List settings" -msgstr "LDAP リスト設定" - -#: ../templates/lists/listhosts.php:193 -#: ../templates/lists/listgroups.php:193 -#: ../templates/lists/listdomains.php:125 -#: ../templates/lists/listusers.php:232 -msgid "LDAP Search failed! Please check your preferences." -msgstr "LDAP検索に失敗しました! プリファレンスを確認してください。" - -#: ../templates/login.php:336 -msgid "LDAP error, server says:" -msgstr "LDAP エラー、サーバからのメッセージ:" - -#: ../lib/modules.inc:772 -msgid "LDAP operation successful." -msgstr "LDAP操作が完了しました。" - -#: ../templates/login.php:247 -msgid "LDAP server" -msgstr "LDAPサーバ" - -#: ../templates/lists/listhosts.php:179 -#: ../templates/lists/listgroups.php:179 -#: ../templates/lists/listdomains.php:114 -#: ../templates/lists/listusers.php:217 -msgid "LDAP sizelimit exceeded, not all entries are shown." -msgstr "LDAPのサイズ制限を越えました。一部のエントリのみを表示します。" - -#: ../templates/profedit/profilepage.php:85 -#: ../templates/profedit/profilepage.php:86 -msgid "LDAP suffix" -msgstr "LDAPサフィックス" - -#: ../templates/massDoUpload.php:117 -msgid "LDAP upload has finished" -msgstr "LDAPアップロードが完了しました。" - -#: ../templates/massDoUpload.php:66 -msgid "LDAP upload in progress. Please wait." -msgstr "LDAPアップロード中です。お待ちください。" - -#: ../templates/config/confsave.php:147 -msgid "Language is not defined!" -msgstr "言語が未定されていません!" - -#: ../templates/config/confmain.php:323 -msgid "Language settings" -msgstr "言語の設定" - -#: ../lib/modules/inetOrgPerson.inc:54 -#: ../lib/modules/inetOrgPerson.inc:128 -#: ../lib/modules/inetOrgPerson.inc:227 -#: ../lib/modules/inetOrgPerson.inc:413 -#: ../lib/modules/inetOrgPerson.inc:465 -#: ../lib/lists.inc:183 -#: ../help/help.inc:182 -msgid "Last name" -msgstr "姓" - -#: ../lib/modules/inetOrgPerson.inc:54 -#: ../lib/modules/inetOrgPerson.inc:55 -msgid "Last name contains invalid characters!" -msgstr "姓に不正な文字が含まれています!" - -#: ../lib/modules/inetOrgPerson.inc:228 -#: ../help/help.inc:183 -msgid "Last name of user. Only letters, - and spaces are allowed." -msgstr "ユーザの姓。アルファベット、_ - と空白のみが使用できます。" - -#: ../lib/modules/shadowAccount.inc:331 -msgid "Last password change" -msgstr "パスワード最終変更時刻" - -#: ../templates/pdfedit/pdfpage.php:535 -msgid "Left" -msgstr "左" - -#: ../help/help.inc:66 -msgid "List attributes" -msgstr "属性の一覧" - -#: ../help/help.inc:207 -msgid "List of Samba workstations the user is allowed to login. Empty means every workstation." -msgstr "ユーザがログインできるSambaワークステーションのリスト。未記入はすべてのワークステーションを意味します。" - -#: ../templates/config/confsave.php:101 -msgid "List of admin users is empty or invalid!" -msgstr "管理者(admin users)のリストが空または正しくありません!" - -#: ../templates/config/confmain.php:390 -#: ../lib/config.inc:344 -msgid "List of valid users" -msgstr "有効なユーザのリスト" - -#: ../lib/modules.inc:748 -#: ../help/help.inc:176 -msgid "Load profile" -msgstr "プロファイルのロード" - -#: ../lib/modules/sambaGroupMapping.inc:54 -msgid "Local Group" -msgstr "ローカルグループ" - -#: ../lib/modules/posixGroup.inc:151 -#: ../lib/modules/posixAccount.inc:215 -#: ../lib/modules/posixAccount.inc:856 -#: ../lib/modules/posixAccount.inc:942 -msgid "Lock password" -msgstr "パスワードのロック" - -#: ../templates/login.php:229 -#: ../templates/login.php:230 -#: ../templates/config/conflogin.php:68 -#: ../help/help.inc:46 -msgid "Login" -msgstr "ログイン" - -#: ../lib/modules/posixAccount.inc:201 -#: ../lib/modules/posixAccount.inc:326 -#: ../lib/modules/posixAccount.inc:860 -#: ../lib/modules/posixAccount.inc:934 -#: ../lib/modules/posixAccount.inc:969 -#: ../lib/lists.inc:185 -#: ../help/help.inc:144 -msgid "Login shell" -msgstr "ログインシェル" - -#: ../templates/pdfedit/pdfpage.php:434 -msgid "Logo" -msgstr "ロゴ" - -#: ../lib/modules/sambaSamAccount.inc:189 -#: ../lib/modules/sambaSamAccount.inc:308 -msgid "Logon hours" -msgstr "ログオン時間" - -#: ../lib/modules/sambaAccount.inc:52 -#: ../lib/modules/sambaAccount.inc:53 -#: ../lib/modules/sambaAccount.inc:144 -#: ../lib/modules/sambaAccount.inc:267 -#: ../lib/modules/sambaAccount.inc:358 -#: ../lib/modules/sambaAccount.inc:745 -#: ../lib/modules/sambaAccount.inc:846 -#: ../lib/modules/sambaSamAccount.inc:172 -#: ../lib/modules/sambaSamAccount.inc:282 -#: ../lib/modules/sambaSamAccount.inc:725 -#: ../lib/modules/sambaSamAccount.inc:872 -#: ../lib/modules/sambaSamAccount.inc:919 -msgid "Logon script" -msgstr "ログオンスクリプト" - -#: ../lib/modules/sambaAccount.inc:52 -#: ../lib/modules/sambaAccount.inc:54 -#: ../lib/modules/sambaSamAccount.inc:52 -msgid "Logon script is invalid!" -msgstr "ログオンスクリプトが正しくありません!" - -#: ../templates/main_header.php:63 -#: ../templates/logout.php:60 -msgid "Logout" -msgstr "ログアウト" - -#: ../lib/modules/ieee802device.inc:50 -#: ../lib/modules/ieee802device.inc:56 -#: ../lib/modules/ieee802device.inc:67 -#: ../lib/modules/ieee802device.inc:142 -msgid "MAC address" -msgstr "MACアドレス" - -#: ../lib/modules/ieee802device.inc:60 -#: ../lib/modules/ieee802device.inc:255 -msgid "MAC address list" -msgstr "MACアドレス一覧" - -#: ../lib/modules.inc:693 -#: ../lib/modules.inc:710 -msgid "Main" -msgstr "メイン" - -#: ../templates/config/conflogin.php:134 -msgid "Manage profiles" -msgstr "プロファイルの操作" - -#: ../templates/tools.php:77 -msgid "Manages OU objects in your LDAP tree." -msgstr "LDAPツリーのOUオブジェクトを管理します。" - -#: ../templates/tools.php:62 -msgid "Manages Samba 3 domain accounts." -msgstr "Samba 3アカウントを管理します。" - -#: ../templates/pdfedit/pdfpage.php:508 -msgid "Margin" -msgstr "余白" - -#: ../templates/config/profmanage.php:368 -msgid "Master Password:" -msgstr "マスタパスワード:" - -#: ../help/help.inc:120 -msgid "Master password" -msgstr "マスタパスワード" - -#: ../templates/config/profmanage.php:68 -msgid "Master password is wrong!" -msgstr "マスタパスワードが正しくありません!" - -#: ../templates/config/profmanage.php:128 -msgid "Master passwords are different or empty!" -msgstr "マスタパスワードが異なっているか、または空です!" - -#: ../templates/config/confsave.php:141 -msgid "Max list entries is invalid!" -msgstr "リストエントリの最大数が正しくありません!" - -#: ../templates/pdfedit/pdfpage.php:479 -msgid "Maximize with correct ratio" -msgstr "縦横比を維持したまま最大化" - -#: ../lib/modules/posixGroup.inc:237 -#: ../lib/modules/posixGroup.inc:405 -#: ../lib/modules/posixGroup.inc:406 -msgid "Maximum GID number" -msgstr "GID番号の最大値" - -#: ../lib/modules/posixGroup.inc:254 -msgid "Maximum GID number for Unix groups" -msgstr "unixグループに対するGID番号の最大値" - -#: ../lib/modules/posixGroup.inc:405 -msgid "Maximum GID number is invalid or empty!" -msgstr "GID番号の最大値が不正または未入力です!" - -#: ../lib/modules/posixGroup.inc:406 -msgid "Maximum GID number must be greater than minimum GID number!" -msgstr "GID番号の最大値は最小値よりも大きくなくてはなりません。" - -#: ../lib/modules/posixAccount.inc:58 -#: ../lib/modules/posixAccount.inc:60 -#: ../lib/modules/posixAccount.inc:61 -#: ../lib/modules/posixAccount.inc:62 -#: ../lib/modules/posixAccount.inc:126 -#: ../lib/modules/posixAccount.inc:135 -msgid "Maximum UID number" -msgstr "UID番号の最大値" - -#: ../lib/modules/posixAccount.inc:156 -msgid "Maximum UID number for Unix accounts (hosts)" -msgstr "ホストnounixアカウントに対するUID番号の最大値。" - -#: ../lib/modules/posixAccount.inc:154 -msgid "Maximum UID number for Unix accounts (users)" -msgstr "ユーザのunixアカウントに対するUID番号の最大値。" - -#: ../lib/modules/posixAccount.inc:58 -#: ../lib/modules/posixAccount.inc:60 -msgid "Maximum UID number is invalid!" -msgstr "UID番号の最大値が不正です!" - -#: ../lib/modules/posixAccount.inc:61 -#: ../lib/modules/posixAccount.inc:62 -msgid "Maximum UID number must be greater than minimum UID number!" -msgstr "UID番号の最大値は最小値よりも大きくなくてはなりません!" - -#: ../templates/config/confmain.php:307 -#: ../lib/config.inc:340 -#: ../help/help.inc:86 -msgid "Maximum list entries" -msgstr "リストエントリの最大数" - -#: ../lib/modules/shadowAccount.inc:88 -#: ../lib/modules/shadowAccount.inc:151 -#: ../lib/modules/shadowAccount.inc:181 -#: ../lib/modules/shadowAccount.inc:303 -#: ../help/help.inc:166 -msgid "Maximum password age" -msgstr "パスワード期限(age)の最大値" - -#: ../lib/modules/inetOrgPerson.inc:130 -msgid "Miller" -msgstr "ミラー" - -#: ../lib/modules/posixGroup.inc:234 -#: ../lib/modules/posixGroup.inc:404 -msgid "Minimum GID number" -msgstr "GID番号の最小値" - -#: ../lib/modules/posixGroup.inc:253 -msgid "Minimum GID number for Unix groups" -msgstr "unixグループに対するGID番号の最小値" - -#: ../lib/modules/posixGroup.inc:404 -msgid "Minimum GID number is invalid or empty!" -msgstr "GID番号の最小値が不正または空です!" - -#: ../lib/modules/posixAccount.inc:57 -#: ../lib/modules/posixAccount.inc:59 -#: ../lib/modules/posixAccount.inc:123 -#: ../lib/modules/posixAccount.inc:132 -msgid "Minimum UID number" -msgstr "UID番号の最小値" - -#: ../lib/modules/posixAccount.inc:155 -msgid "Minimum UID number for Unix accounts (hosts)" -msgstr "unixアカウント(ホスト)に対するUID番号の最小値" - -#: ../lib/modules/posixAccount.inc:153 -msgid "Minimum UID number for Unix accounts (users)" -msgstr "unixアカウント(ユーザ)に対するUID番号の最小値" - -#: ../lib/modules/posixAccount.inc:57 -#: ../lib/modules/posixAccount.inc:59 -msgid "Minimum UID number is invalid!" -msgstr "UID番号の最小値が不正です!" - -#: ../lib/modules/shadowAccount.inc:83 -#: ../lib/modules/shadowAccount.inc:147 -#: ../lib/modules/shadowAccount.inc:175 -#: ../lib/modules/shadowAccount.inc:300 -#: ../help/help.inc:168 -msgid "Minimum password age" -msgstr "パスワード期限(age)の最小値" - -#: ../lib/modules/inetOrgPerson.inc:58 -#: ../lib/modules/inetOrgPerson.inc:177 -#: ../lib/modules/inetOrgPerson.inc:251 -#: ../lib/modules/inetOrgPerson.inc:252 -#: ../lib/modules/inetOrgPerson.inc:437 -#: ../lib/modules/inetOrgPerson.inc:471 -msgid "Mobile number" -msgstr "携帯電話番号" - -#: ../lib/modules.inc:672 -#: ../lib/modules.inc:759 -msgid "Modify Account" -msgstr "アカウント変更" - -#: ../templates/config/confmodules.php:75 -msgid "Module selection" -msgstr "モジュール選択" - -#: ../lib/config.inc:348 -msgid "Module settings" -msgstr "モジュール設定" - -#: ../lib/modules/quota.inc:64 -#: ../lib/modules/quota.inc:291 -#: ../lib/modules/quota.inc:349 -#: ../lib/modules/quota.inc:400 -msgid "Mountpoint" -msgstr "マウントポイント" - -#: ../lib/modules/quota.inc:65 -msgid "Mountpoint of device with enabled quotas." -msgstr "quotaが有効になったデバイスのマウントポイント。" - -#: ../lib/modules/inetOrgPerson.inc:167 -msgid "Mycity" -msgstr "おらが市" - -#: ../lib/modules/inetOrgPerson.inc:155 -msgid "Mystreetname 42" -msgstr "おらが町42番地" - -#: ../templates/pdfedit/pdfdelete.php:56 -#: ../templates/pdfedit/pdfdelete.php:59 -#: ../templates/pdfedit/pdfdelete.php:78 -msgid "Name" -msgstr "名前" - -#: ../help/help.inc:128 -msgid "Name under which the profile will be saved. If a profile with the same name exists, it will be overwritten." -msgstr "プロファイルがセーブされる名前。もしも同じ名前のプロファイルがある場合は上書きされます。" - -#: ../templates/lists/listdomains.php:213 -msgid "New Domain" -msgstr "新しいドメイン" - -#: ../templates/lists/listgroups.php:306 -msgid "New Group" -msgstr "新しいグループ" - -#: ../templates/lists/listhosts.php:291 -msgid "New Host" -msgstr "新しいホスト" - -#: ../lib/modules/ieee802device.inc:149 -msgid "New MAC address" -msgstr "新しいMACアドレス" - -#: ../templates/ou_edit.php:52 -#: ../templates/ou_edit.php:117 -#: ../templates/ou_edit.php:182 -#: ../templates/ou_edit.php:247 -msgid "New OU created successfully." -msgstr "新しい OU が作成されました。" - -#: ../templates/config/confmain.php:399 -msgid "New Password" -msgstr "新しいパスワード" - -#: ../templates/config/profmanage.php:135 -msgid "New default profile set successfully." -msgstr "新しいプロファイル既定値が正しく設定されました。" - -#: ../templates/config/profmanage.php:343 -msgid "New master password" -msgstr "新しいマスタパスワード" - -#: ../templates/config/profmanage.php:126 -msgid "New master password set successfully." -msgstr "新しいマスタパスワードが正しく設定されました。" - -#: ../templates/ou_edit.php:344 -#: ../templates/ou_edit.php:377 -#: ../templates/ou_edit.php:410 -#: ../templates/ou_edit.php:443 -#: ../help/help.inc:236 -msgid "New organizational unit" -msgstr "新しい organizational unit" - -#: ../templates/config/profmanage.php:116 -msgid "New password set successfully." -msgstr "新しいパスワードが正しく設定されました。" - -#: ../lib/modules.inc:617 -msgid "New profile created." -msgstr "新しいプロファイルが作成されました。" - -#: ../templates/lists/listusers.php:354 -msgid "New user" -msgstr "新しいユーザ" - -#: ../templates/domain.php:135 -#: ../help/help.inc:250 -msgid "Next Group RID" -msgstr "次のグループRID" - -#: ../templates/domain.php:119 -#: ../help/help.inc:246 -msgid "Next RID" -msgstr "次のRID" - -#: ../templates/domain.php:249 -msgid "Next RID is not a number!" -msgstr "次のRIDが数字ではありません!" - -#: ../help/help.inc:247 -msgid "Next RID to use when creating accounts." -msgstr "アカウント作成時に使われる次のRID。" - -#: ../help/help.inc:251 -msgid "Next RID to use when creating groups." -msgstr "グループ作成時に使われる次のRID。" - -#: ../help/help.inc:249 -msgid "Next RID to use when creating user accounts." -msgstr "ユーザアカウントを作成するときに使われる次のRID。" - -#: ../templates/domain.php:127 -#: ../help/help.inc:248 -msgid "Next User RID" -msgstr "次のユーザRID" - -#: ../templates/domain.php:251 -msgid "Next group RID is not a number!" -msgstr "次のグループRIDが番号ではありあせん!" - -#: ../templates/domain.php:250 -msgid "Next user RID is not a number!" -msgstr "次のユーザRIDが番号ではありません!" - -#: ../templates/lists/listgroups.php:184 -#: ../templates/lists/listgroups.php:193 -#: ../templates/lists/listgroups.php:197 -msgid "No Groups found!" -msgstr "グループが見つかりません!" - -#: ../templates/lists/listdomains.php:119 -#: ../templates/lists/listdomains.php:125 -#: ../templates/lists/listdomains.php:129 -msgid "No Samba Domains found!" -msgstr "Sambaドメインが見つかりません!" - -#: ../templates/lists/listhosts.php:184 -#: ../templates/lists/listhosts.php:193 -#: ../templates/lists/listhosts.php:197 -msgid "No Samba Hosts found!" -msgstr "Sambaホストが見つかりません!" - -#: ../templates/lists/listusers.php:222 -#: ../templates/lists/listusers.php:233 -msgid "No Users found!" -msgstr "ユーザが見つかりません!" - -#: ../templates/config/confmodules.php:274 -#: ../templates/config/confmodules.php:377 -#: ../templates/config/confmodules.php:480 -msgid "No base module selected!" -msgstr "ベースモジュールが選択されていません!" - -#: ../templates/initsuff.php:165 -msgid "No changes were made." -msgstr "変更されませんでした。" - -#: ../templates/config/conflogin.php:93 -msgid "No configuration profiles found. Please create one." -msgstr "設定プロファイルがありません。一丁作成してください。" - -#: ../lib/modules/posixGroup.inc:402 -#: ../lib/modules/posixAccount.inc:67 -msgid "No free ID-Number!" -msgstr "空いているID番号がありません!" - -#: ../lib/modules/posixAccount.inc:359 -msgid "No groups found in ldap." -msgstr "LDAPにグループが見つかりません。" - -#: ../templates/pdfedit/pdfpage.php:409 -msgid "No logo" -msgstr "ロゴがありません" - -#: ../templates/config/confmain.php:96 -msgid "No password was entered!" -msgstr "パスワードが入力されていません!" - -#: ../lib/modules.inc:614 -msgid "No profilename given." -msgstr "プロファイル名が与えられていません。" - -#: ../templates/pdfedit/pdfpage.php:73 -msgid "No section text specified" -msgstr "セクションテキストが指定されていません!" - -#: ../templates/pdfedit/pdfpage.php:77 -msgid "No static text specified" -msgstr "静的テキストが指定されていません!" - -#: ../help/help.inc:57 -msgid "Note" -msgstr "注" - -#: ../lib/modules/shadowAccount.inc:144 -#: ../help/help.inc:165 -msgid "Number of days a user can login even his password has expired. -1=always." -msgstr "パスワードが期限切れになってもユーザがログインできる日数。-1は無期限。" - -#: ../lib/modules/shadowAccount.inc:148 -#: ../help/help.inc:169 -msgid "Number of days a user has to wait until he\\'s allowed to change his password again. If set value must be 0<." -msgstr "再度パスワードを変更できるまで待たなければならない日数。設定するならば0より大きくなければならない。" - -#: ../lib/modules/shadowAccount.inc:152 -#: ../help/help.inc:167 -msgid "Number of days after a user has to change his password again. If set value must be 0<." -msgstr "再度パスワードを変更しなければならなくなる日数。設定するならば0より大きくなければならない。" - -#: ../templates/ou_edit.php:58 -#: ../templates/ou_edit.php:123 -#: ../templates/ou_edit.php:188 -#: ../templates/ou_edit.php:253 -msgid "OU already exists!" -msgstr "OU はすでに存在しています!" - -#: ../templates/ou_edit.php:69 -#: ../templates/ou_edit.php:134 -#: ../templates/ou_edit.php:199 -#: ../templates/ou_edit.php:264 -msgid "OU deleted successfully." -msgstr "OU は正しく削除されました。" - -#: ../templates/tools.php:76 -msgid "OU editor" -msgstr "OUエディタ" - -#: ../templates/ou_edit.php:62 -#: ../templates/ou_edit.php:127 -#: ../templates/ou_edit.php:192 -#: ../templates/ou_edit.php:257 -msgid "OU is invalid!" -msgstr "OU が正しくありません!" - -#: ../templates/ou_edit.php:99 -#: ../templates/ou_edit.php:164 -#: ../templates/ou_edit.php:229 -#: ../templates/ou_edit.php:294 -msgid "OU is not empty or invalid!" -msgstr "OU が空白でないか不正!" - -#: ../help/help.inc:236 -#: ../help/help.inc:238 -msgid "OU-Editor" -msgstr "OUエディタ" - -#: ../lib/cache.inc:79 -#: ../lib/modules.inc:913 -#: ../lib/modules.inc:951 -#: ../lib/modules.inc:1050 -#, php-format -msgid "ObjectClass %s required but not defined in LDAP." -msgstr "必須オブジェクトクラス %s がLDAPに定義されていません。" - -#: ../templates/config/conflogin.php:123 -#: ../templates/config/conflogin.php:124 -msgid "Ok" -msgstr "" - -#: ../templates/tools.php:83 -msgid "PDF editor" -msgstr "PDFエディタ" - -#: ../templates/lists/listhosts.php:296 -#: ../templates/lists/listgroups.php:311 -#: ../templates/lists/listusers.php:359 -#: ../templates/pdfedit/pdfpage.php:573 -msgid "PDF structure" -msgstr "PDF構成" - -#: ../templates/pdfedit/pdfmain.php:101 -msgid "PDF structures" -msgstr "PDF構成" - -#: ../templates/pdfedit/pdfpage.php:61 -msgid "PDF-structure name not valid" -msgstr "PDF構成名が正しくありません" - -#: ../templates/pdfedit/pdfpage.php:429 -msgid "Page settings" -msgstr "ページ設定" - -#: ../templates/login.php:178 -#: ../lib/modules/posixGroup.inc:137 -#: ../lib/modules/posixGroup.inc:397 -#: ../lib/modules/posixGroup.inc:398 -#: ../lib/modules/posixGroup.inc:399 -#: ../lib/modules/sambaAccount.inc:59 -#: ../lib/modules/sambaAccount.inc:60 -#: ../lib/modules/sambaAccount.inc:197 -#: ../lib/modules/sambaSamAccount.inc:55 -#: ../lib/modules/sambaSamAccount.inc:56 -#: ../lib/modules/sambaSamAccount.inc:212 -#: ../lib/modules/posixAccount.inc:71 -#: ../lib/modules/posixAccount.inc:72 -#: ../lib/modules/posixAccount.inc:73 -#: ../lib/modules/posixAccount.inc:209 -#: ../lib/modules/posixAccount.inc:842 -#: ../lib/modules/posixAccount.inc:968 -msgid "Password" -msgstr "パスワード" - -#: ../templates/config/confsave.php:240 -msgid "Password changed!" -msgstr "パスワードが変更されました!" - -#: ../lib/modules/posixGroup.inc:398 -#: ../lib/modules/sambaAccount.inc:60 -#: ../lib/modules/sambaAccount.inc:61 -#: ../lib/modules/sambaSamAccount.inc:56 -#: ../lib/modules/sambaSamAccount.inc:57 -#: ../lib/modules/posixAccount.inc:72 -#: ../lib/modules/posixAccount.inc:74 -msgid "Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !" -msgstr "パスワードに不正な文字が含まれています。有効な文字は: a-z, A-Z, 0-9, #*,.;:_-+!$%&/|?{[()]}= ! です。" - -#: ../lib/modules/sambaAccount.inc:112 -#: ../lib/modules/sambaAccount.inc:219 -#: ../lib/modules/sambaAccount.inc:330 -#: ../lib/modules/sambaAccount.inc:333 -#: ../lib/modules/sambaAccount.inc:708 -#: ../lib/modules/sambaSamAccount.inc:144 -#: ../lib/modules/sambaSamAccount.inc:147 -#: ../lib/modules/sambaSamAccount.inc:234 -#: ../lib/modules/sambaSamAccount.inc:688 -#: ../lib/modules/sambaSamAccount.inc:840 -#: ../help/help.inc:190 -msgid "Password does not expire" -msgstr "パスワードが無期限になります" - -#: ../lib/modules/shadowAccount.inc:43 -#: ../lib/modules/shadowAccount.inc:78 -#: ../lib/modules/shadowAccount.inc:143 -#: ../lib/modules/shadowAccount.inc:169 -#: ../lib/modules/shadowAccount.inc:297 -#: ../lib/modules/shadowAccount.inc:334 -msgid "Password expiration" -msgstr "パスワード有効期限" - -#: ../lib/modules/shadowAccount.inc:43 -#: ../lib/modules/shadowAccount.inc:44 -msgid "Password expiration must be are natural number or -1." -msgstr "パスワード有効期限は自然数または-1でなければなりません。" - -#: ../help/help.inc:164 -msgid "Password expire" -msgstr "パスワード有効期限" - -#: ../lib/modules/posixGroup.inc:241 -#: ../lib/modules/posixGroup.inc:354 -#: ../lib/modules/posixAccount.inc:141 -#: ../lib/modules/posixAccount.inc:295 -msgid "Password hash type" -msgstr "パスワードハッシュ形式" - -#: ../lib/modules/posixAccount.inc:157 -msgid "Password hash type for Unix accounts" -msgstr "unixアカウントに対するパスワードハッシュ形式" - -#: ../lib/modules/posixGroup.inc:255 -msgid "Password hash type for Unix groups" -msgstr "unixグループに対するパスワードハッシュ形式" - -#: ../lib/modules/shadowAccount.inc:41 -#: ../lib/modules/shadowAccount.inc:47 -msgid "Password maxage" -msgstr "パスワード寿命の最大値" - -#: ../lib/modules/shadowAccount.inc:41 -#: ../lib/modules/shadowAccount.inc:42 -msgid "Password maximum age must be are natural number." -msgstr "パスワード寿命の最大値は自然数でなければなりません。" - -#: ../lib/modules/shadowAccount.inc:47 -#: ../lib/modules/shadowAccount.inc:48 -msgid "Password maximum age must be bigger as password minimum age." -msgstr "パスワード寿命の最大値は最小値より大きくなければなりません。" - -#: ../lib/modules/shadowAccount.inc:39 -msgid "Password minage" -msgstr "パスワード寿命の最小値" - -#: ../lib/modules/shadowAccount.inc:39 -#: ../lib/modules/shadowAccount.inc:40 -msgid "Password minimum age must be are natural number." -msgstr "パスワード寿命の最小値は自然数でなければなりません。" - -#: ../help/help.inc:162 -msgid "Password warn" -msgstr "パスワード警告" - -#: ../lib/modules/shadowAccount.inc:45 -#: ../lib/modules/shadowAccount.inc:73 -#: ../lib/modules/shadowAccount.inc:139 -#: ../lib/modules/shadowAccount.inc:163 -#: ../lib/modules/shadowAccount.inc:294 -#: ../lib/modules/shadowAccount.inc:332 -msgid "Password warning" -msgstr "パスワード警告" - -#: ../lib/modules/shadowAccount.inc:45 -#: ../lib/modules/shadowAccount.inc:46 -msgid "Password warning must be are natural number." -msgstr "パスワード警告期限は自然数でなければなりません。" - -#: ../templates/config/confsave.php:234 -msgid "Passwords are different!" -msgstr "パスワードが異なっています!" - -#: ../lib/modules/sambaAccount.inc:355 -#: ../lib/modules/sambaSamAccount.inc:169 -#: ../help/help.inc:204 -#, php-format -msgid "Path of the user profile. Can be a local absolute path or a UNC-path (\\\\server\\share). $%s and $%s are replaced with user- and groupname." -msgstr "ユーザプロファイルのパス。ローカル絶対パス、または、UNCパス(\\\\サーバ\\共有)。 $%s と $%s はユーザとグループに置き換えられます。" - -#: ../templates/config/confmain.php:375 -#: ../lib/config.inc:342 -msgid "Path to external script" -msgstr "外部スクリプトのパス" - -#: ../lib/modules/inetOrgPerson.inc:87 -msgid "Personal" -msgstr "" - -#: ../templates/delete.php:80 -msgid "Please confirm:" -msgstr "確認してください:" - -#: ../lib/modules/sambaSamAccount.inc:60 -msgid "Please enter a RID number or the name of a special account!" -msgstr "特殊アカウントのRID番号または名前を入力してください。" - -#: ../lib/modules/sambaAccount.inc:55 -#: ../lib/modules/sambaAccount.inc:56 -#: ../lib/modules/sambaSamAccount.inc:53 -#: ../lib/modules/sambaSamAccount.inc:54 -msgid "Please enter a comma separated list of host names!" -msgstr "カンマで区切られたホスト名を入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:74 -msgid "Please enter a valid common name!" -msgstr "正しい氏名を入力してください!" - -#: ../lib/modules/sambaAccount.inc:69 -#: ../lib/modules/sambaAccount.inc:70 -#: ../lib/modules/sambaSamAccount.inc:66 -#: ../lib/modules/sambaSamAccount.inc:67 -msgid "Please enter a valid date in format DD-MM-YYYY." -msgstr "正しい日付をDD-MM-YYYYの形式で入力してください!" - -#: ../lib/modules/sambaAccount.inc:64 -#: ../lib/modules/sambaSamAccount.inc:61 -msgid "Please enter a valid display name!" -msgstr "正しい表示名(display name)を入力してください!" - -#: ../lib/modules/sambaAccount.inc:71 -#: ../lib/modules/sambaSamAccount.inc:68 -msgid "Please enter a valid drive letter." -msgstr "正しいドライブ文字を入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:62 -#: ../lib/modules/inetOrgPerson.inc:63 -msgid "Please enter a valid eMail address!" -msgstr "正しい電子メールアドレスを入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:72 -#: ../lib/modules/inetOrgPerson.inc:73 -msgid "Please enter a valid employee type!" -msgstr "正しい雇用形態を入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:60 -#: ../lib/modules/inetOrgPerson.inc:61 -msgid "Please enter a valid fax number!" -msgstr "正しいファクス番号を入力してください!" - -#: ../lib/modules/sambaAccount.inc:72 -msgid "Please enter a valid group RID." -msgstr "正しいグループRIDを入力してください!" - -#: ../lib/modules/sambaSamAccount.inc:71 -msgid "Please enter a valid group name!" -msgstr "正しいグループ名を入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:70 -#: ../lib/modules/inetOrgPerson.inc:71 -msgid "Please enter a valid job title!" -msgstr "正しい役職を入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:58 -#: ../lib/modules/inetOrgPerson.inc:59 -msgid "Please enter a valid mobile number!" -msgstr "正しい携帯電話番号を入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:66 -#: ../lib/modules/inetOrgPerson.inc:67 -msgid "Please enter a valid postal address!" -msgstr "正しい住所を入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:68 -#: ../lib/modules/inetOrgPerson.inc:69 -msgid "Please enter a valid postal code!" -msgstr "正しい郵便番号を入力してください!" - -#: ../lib/modules/sambaAccount.inc:73 -msgid "Please enter a valid special user name." -msgstr "正しい特殊ユーザ名(special user name)を入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:64 -#: ../lib/modules/inetOrgPerson.inc:65 -msgid "Please enter a valid street name!" -msgstr "正しい町名(street name)を入力してください!" - -#: ../lib/modules/inetOrgPerson.inc:56 -#: ../lib/modules/inetOrgPerson.inc:57 -msgid "Please enter a valid telephone number!" -msgstr "正しい電話番号を入力してください!" - -#: ../lib/modules/posixGroup.inc:530 -#: ../lib/modules/posixAccount.inc:653 -#, php-format -msgid "Please enter a value between %s and %s!" -msgstr "%s と %s の間の値を入力してください!" - -#: ../templates/config/conflogin.php:87 -msgid "Please enter password to change preferences:" -msgstr "プリファレンスを変更するためのパスワードを入力してください:" - -#: ../help/help.inc:47 -msgid "Please enter the configuration password. This is NOT your LDAP password. It is stored in your .conf-file. If this is the first time you log in, enter \"lam\"." -msgstr "構成パスワードを入力。これはLDAPパスワードとは異なります。これは .confファイルに記録されます。もしもこれが最初のログインならば、\"lam\" と入力してください。" - -#: ../help/help.inc:121 -msgid "Please enter the master configuration password. This is NOT your LDAP password. It is stored in your config.cfg file. If this is the first time you log in, enter \"lam\"." -msgstr "マスタ構成パスワードを入力してください。これはLDAPパスワードではありません。これはconfig.cfgファイルに保存されます。もしもこれが最初のログインならば、 \"lam\" と入力してください。" - -#: ../help/help.inc:109 -msgid "Please enter the name of the new profile and the password to change its settings. Profile names may contain letters, numbers and -/_." -msgstr "その設定を変更するための新しいプロファイル名とパスワードを入力。プロファイル名にはアルファベット、数字と -/_ が使用できます。" - -#: ../help/help.inc:111 -msgid "Please enter the new name of the profile. The name may contain letters, numbers and -/_." -msgstr "新しいプロファイル名を入力。名前にはアルファベット、数字と -/_ が使用できます。" - -#: ../lib/modules/posixGroup.inc:397 -#: ../lib/modules/sambaAccount.inc:59 -#: ../lib/modules/sambaSamAccount.inc:55 -#: ../lib/modules/posixAccount.inc:71 -msgid "Please enter the same password in both password-fields." -msgstr "2つのパスワードフィールドに同じパスワードを入力してください。" - -#: ../templates/masscreate.php:120 -msgid "Please provide a CSV formated file with your account data. The cells in the first row must be filled with the column identifiers. The following rows represent one account for each row." -msgstr "アカウント情報のCSV形式ファイルを与えてください。先頭行のセルには、カラム識別子が記入されていなくてはなりません。後に続く行は、各々の行が一つのアカウントになります。" - -#: ../lib/status.inc:62 -msgid "Please report this error to the Bug-Tracker at {link=http://lam.sf.net}LDAP Account Manager Development Team{endlink}. The error number is {bold}0001:Invalid/Missing Message type.{endbold} Thank you." -msgstr "このエラーをバグトラッカー {link=http://lam.sf.net}LDAP Account Manager 開発チーム{endlink}にレポートしてください。エラー番号は {bold}0001: Invalid/Missing Message type.{endbold} です。ご協力に感謝します。" - -#: ../lib/modules.inc:688 -msgid "Please select page:" -msgstr "ページを選択:" - -#: ../templates/masscreate.php:89 -msgid "Please select your account type:" -msgstr "アカウントタイプを選択してください:" - -#: ../lib/modules.inc:728 -#, php-format -msgid "Please set up all required attributes on page: %s" -msgstr "ページ %s の必須属性を全て設定してください。" - -#: ../templates/config/profmanage.php:148 -msgid "Please set up your master configuration file (config/config.cfg) first!" -msgstr "最初に、マスター設定ファイル(config/config.cfg)を設定してください!" - -#: ../templates/pdfedit/pdfpage.php:708 -msgid "Position" -msgstr "位置" - -#: ../help/help.inc:222 -msgid "Position in ldap-tree where the group should be created." -msgstr "グループを作成すべきLDAPツリーの位置。" - -#: ../help/help.inc:224 -msgid "Position in ldap-tree where the host should be created." -msgstr "ホストを作成すべきLDAPツリーの位置。" - -#: ../help/help.inc:220 -msgid "Position in ldap-tree where the user should be created." -msgstr "ユーザを作成すべきLDAPツリーの位置。" - -#: ../templates/masscreate.php:158 -#: ../templates/masscreate.php:294 -#: ../lib/modules/sambaGroupMapping.inc:342 -msgid "Possible values" -msgstr "候補となる値" - -#: ../lib/modules/inetOrgPerson.inc:66 -#: ../lib/modules/inetOrgPerson.inc:165 -#: ../lib/modules/inetOrgPerson.inc:243 -#: ../lib/modules/inetOrgPerson.inc:429 -#: ../lib/modules/inetOrgPerson.inc:469 -msgid "Postal address" -msgstr "住所" - -#: ../lib/modules/inetOrgPerson.inc:244 -msgid "Postal address, city" -msgstr "住所、区市町村" - -#: ../lib/modules/inetOrgPerson.inc:68 -#: ../lib/modules/inetOrgPerson.inc:159 -#: ../lib/modules/inetOrgPerson.inc:239 -#: ../lib/modules/inetOrgPerson.inc:240 -#: ../lib/modules/inetOrgPerson.inc:425 -#: ../lib/modules/inetOrgPerson.inc:468 -msgid "Postal code" -msgstr "郵便番号" - -#: ../help/help.inc:71 -msgid "Predefined values" -msgstr "あらかじめ定義された値" - -#: ../lib/modules/inetOrgPerson.inc:143 -msgid "President" -msgstr "社長" - -#: ../lib/modules/posixGroup.inc:115 -#: ../lib/modules/posixAccount.inc:181 -#: ../lib/modules/posixAccount.inc:248 -#: ../lib/modules/posixAccount.inc:312 -#: ../lib/modules/posixAccount.inc:344 -#: ../lib/modules/posixAccount.inc:825 -#: ../lib/modules/posixAccount.inc:921 -#: ../lib/modules/posixAccount.inc:949 -#: ../lib/modules/posixAccount.inc:965 -#: ../help/help.inc:146 -#: ../help/help.inc:158 -msgid "Primary group" -msgstr "プライマリグループ" - -#: ../templates/config/profmanage.php:106 -msgid "Profile deleted." -msgstr "プロファイルが削除されました。" - -#: ../templates/tools.php:53 -msgid "Profile editor" -msgstr "プロファイルエディタ" - -#: ../templates/config/profmanage.php:50 -#: ../templates/config/profmanage.php:161 -#: ../help/help.inc:108 -#: ../help/help.inc:110 -#: ../help/help.inc:112 -#: ../help/help.inc:114 -#: ../help/help.inc:116 -#: ../help/help.inc:118 -#: ../help/help.inc:120 -msgid "Profile management" -msgstr "プロファイル管理" - -#: ../templates/config/profmanage.php:176 -#: ../templates/config/profmanage.php:223 -#: ../templates/profedit/profilepage.php:126 -#: ../help/help.inc:127 -msgid "Profile name" -msgstr "プロファイル名" - -#: ../templates/config/profmanage.php:90 -#: ../templates/config/profmanage.php:101 -msgid "Profile name is invalid!" -msgstr "プロファイル名が正しくありません!" - -#: ../templates/config/profmanage.php:187 -#: ../templates/config/profmanage.php:277 -msgid "Profile password" -msgstr "プロファイルパスワード" - -#: ../templates/config/profmanage.php:88 -#: ../templates/config/profmanage.php:118 -msgid "Profile passwords are different or empty!" -msgstr "プロファイルパスワードが異なるか、または未入力です!" - -#: ../lib/modules/sambaAccount.inc:49 -#: ../lib/modules/sambaAccount.inc:50 -#: ../lib/modules/sambaAccount.inc:138 -#: ../lib/modules/sambaAccount.inc:261 -#: ../lib/modules/sambaAccount.inc:354 -#: ../lib/modules/sambaAccount.inc:742 -#: ../lib/modules/sambaAccount.inc:847 -#: ../lib/modules/sambaSamAccount.inc:47 -#: ../lib/modules/sambaSamAccount.inc:48 -#: ../lib/modules/sambaSamAccount.inc:168 -#: ../lib/modules/sambaSamAccount.inc:276 -#: ../lib/modules/sambaSamAccount.inc:722 -#: ../lib/modules/sambaSamAccount.inc:866 -#: ../lib/modules/sambaSamAccount.inc:920 -#: ../help/help.inc:203 -msgid "Profile path" -msgstr "プロファイルパス" - -#: ../lib/modules/sambaAccount.inc:49 -#: ../lib/modules/sambaSamAccount.inc:47 -#: ../lib/modules/sambaSamAccount.inc:49 -msgid "Profile path is invalid!" -msgstr "プロファイルパスが正しくありません!" - -#: ../templates/profedit/profilecreate.php:112 -msgid "Profile was saved." -msgstr "プロファイルがセーブされました。" - -#: ../lib/modules/quota.inc:48 -msgid "Quota" -msgstr "クオータ" - -#: ../templates/masscreate.php:154 -#: ../help/help.inc:125 -msgid "RDN identifier" -msgstr "RDN識別子" - -#: ../lib/lists.inc:215 -msgid "RID (Windows UID)" -msgstr "RID (Windows UID)" - -#: ../templates/config/confmain.php:405 -msgid "Reenter Password" -msgstr "パスワード再入力" - -#: ../templates/config/profmanage.php:354 -msgid "Reenter new master password" -msgstr "新しいマスタパスワードを再入力" - -#: ../templates/config/profmanage.php:196 -#: ../templates/config/profmanage.php:288 -msgid "Reenter profile password" -msgstr "プロファイルパスワードを再入力" - -#: ../lib/lists.inc:95 -msgid "Refresh" -msgstr "リフレッシュ" - -#: ../templates/pdfedit/pdfpage.php:581 -#: ../lib/modules/ieee802device.inc:144 -msgid "Remove" -msgstr "削除" - -#: ../templates/config/profmanage.php:219 -#: ../help/help.inc:110 -msgid "Rename profile" -msgstr "プロファイル名変更" - -#: ../templates/config/profmanage.php:97 -msgid "Renamed profile." -msgstr "プロファイル名が変更されました。" - -#: ../lib/modules/posixGroup.inc:142 -#: ../lib/modules/sambaAccount.inc:693 -#: ../lib/modules/sambaSamAccount.inc:673 -#: ../lib/modules/posixAccount.inc:847 -msgid "Repeat password" -msgstr "パスワード再入力" - -#: ../lib/modules/posixAccount.inc:65 -#: ../lib/modules/posixAccount.inc:711 -msgid "Replaced $user or $group in homedir." -msgstr "$user または $group をホームディレクトリに置き換えました。" - -#: ../templates/domain.php:187 -#: ../templates/config/confmain.php:420 -#: ../templates/profedit/profilepage.php:138 -msgid "Reset" -msgstr "リセット" - -#: ../lib/modules.inc:705 -msgid "Reset changes" -msgstr "変更をリセット" - -#: ../lib/modules/sambaAccount.inc:789 -#: ../lib/modules/sambaSamAccount.inc:771 -msgid "Reset password" -msgstr "パスワードをリセット" - -#: ../lib/modules/sambaAccount.inc:93 -msgid "Samba 2" -msgstr "Samba 2" - -#: ../lib/modules/sambaSamAccount.inc:90 -#: ../lib/modules/sambaGroupMapping.inc:218 -msgid "Samba 3" -msgstr "Samba 3" - -#: ../templates/domain.php:244 -msgid "Samba 3 domain SID is invalid!" -msgstr "Samba 3 ドメインのSIDが不正です!" - -#: ../templates/tools.php:61 -msgid "Samba 3 domains" -msgstr "Samba 3 ドメイン" - -#: ../templates/ou_edit.php:405 -msgid "Samba Hosts" -msgstr "Samba ホスト" - -#: ../lib/modules/sambaSamAccount.inc:182 -#: ../lib/modules/sambaSamAccount.inc:301 -#: ../lib/modules/sambaSamAccount.inc:324 -msgid "Samba RID" -msgstr "Samba RID" - -#: ../lib/modules/sambaGroupMapping.inc:251 -#: ../lib/modules/sambaGroupMapping.inc:275 -msgid "Samba RID number" -msgstr "Samba RID番号" - -#: ../lib/modules/sambaGroupMapping.inc:245 -msgid "Samba display name" -msgstr "Samba表示名" - -#: ../lib/modules/sambaGroupMapping.inc:237 -msgid "Samba domain name" -msgstr "Sambaドメイン名" - -#: ../lib/modules/sambaGroupMapping.inc:257 -#: ../lib/modules/sambaGroupMapping.inc:283 -#: ../lib/modules/sambaGroupMapping.inc:300 -msgid "Samba group type" -msgstr "Sambaグループタイプ" - -#: ../lib/modules/sambaAccount.inc:315 -#: ../lib/modules/sambaAccount.inc:691 -#: ../lib/modules/sambaSamAccount.inc:129 -#: ../lib/modules/sambaSamAccount.inc:671 -msgid "Samba password" -msgstr "Sambaパスワード" - -#: ../lib/modules/sambaAccount.inc:55 -#: ../lib/modules/sambaAccount.inc:150 -#: ../lib/modules/sambaAccount.inc:273 -#: ../lib/modules/sambaAccount.inc:362 -#: ../lib/modules/sambaAccount.inc:748 -#: ../lib/modules/sambaAccount.inc:848 -#: ../lib/modules/sambaSamAccount.inc:53 -#: ../lib/modules/sambaSamAccount.inc:176 -#: ../lib/modules/sambaSamAccount.inc:288 -#: ../lib/modules/sambaSamAccount.inc:728 -#: ../lib/modules/sambaSamAccount.inc:878 -#: ../lib/modules/sambaSamAccount.inc:921 -#: ../help/help.inc:206 -msgid "Samba workstations" -msgstr "Samba ワークステーション" - -#: ../lib/pdf.inc:455 -msgid "Samba-Host information page" -msgstr "Sambaホスト情報ページ" - -#: ../templates/pdfedit/pdfpage.php:831 -#: ../templates/profedit/profilepage.php:136 -msgid "Save" -msgstr "保存" - -#: ../lib/modules.inc:614 -#: ../lib/modules.inc:617 -#: ../lib/modules.inc:618 -#: ../lib/modules.inc:752 -#: ../lib/modules.inc:757 -#: ../help/help.inc:213 -msgid "Save profile" -msgstr "プロファイルを保存" - -#: ../templates/config/confsave.php:171 -msgid "Saving group modules failed!" -msgstr "グループモジュールの保存に失敗しました!" - -#: ../templates/config/confsave.php:177 -msgid "Saving host modules failed!" -msgstr "ホストモジュールの保存に失敗しました!" - -#: ../templates/config/confsave.php:165 -msgid "Saving user modules failed!" -msgstr "ユーザモジュールの保存に失敗しました!" - -#: ../templates/pdfedit/pdfdelete.php:56 -#: ../templates/pdfedit/pdfdelete.php:59 -#: ../templates/pdfedit/pdfdelete.php:78 -msgid "Scope" -msgstr "スコープ" - -#: ../lib/modules/sambaSamAccount.inc:50 -#: ../lib/modules/sambaSamAccount.inc:51 -#: ../help/help.inc:90 -#: ../help/help.inc:200 -msgid "Script path" -msgstr "スクリプトパス" - -#: ../templates/config/confsave.php:153 -#: ../lib/modules/sambaSamAccount.inc:50 -msgid "Script path is invalid!" -msgstr "スクリプトパスが正しくありません!" - -#: ../help/help.inc:95 -msgid "Script server" -msgstr "スクリプトサーバ" - -#: ../templates/config/confsave.php:159 -msgid "Script server is invalid!" -msgstr "スクリプトサーバが正しくありません!" - -#: ../templates/config/confmain.php:366 -msgid "Script settings" -msgstr "スクリプト設定" - -#: ../templates/pdfedit/pdfpage.php:740 -msgid "Section" -msgstr "セクション" - -#: ../templates/config/confmain.php:386 -msgid "Security settings" -msgstr "セキュリティ設定" - -#: ../templates/lists/listhosts.php:179 -#: ../templates/lists/listgroups.php:179 -#: ../templates/lists/listdomains.php:114 -#: ../templates/lists/listusers.php:217 -msgid "See README.openldap.txt to solve this problem." -msgstr "この問題を解決するには、README.openldap.txtを参照してください。" - -#: ../templates/help.php:112 -msgid "See also" -msgstr "参照" - -#: ../templates/lists/listhosts.php:257 -#: ../templates/lists/listgroups.php:274 -#: ../templates/lists/listusers.php:308 -msgid "Select all" -msgstr "すべてを選択" - -#: ../help/help.inc:215 -msgid "Select group profile" -msgstr "グループプロファイルの選択" - -#: ../templates/config/confmodules.php:291 -msgid "Selected group modules" -msgstr "選択されたグループモジュール" - -#: ../lib/modules/posixAccount.inc:894 -msgid "Selected groups" -msgstr "選択されたグループ" - -#: ../templates/config/confmodules.php:394 -msgid "Selected host modules" -msgstr "選択されたホストモジュール" - -#: ../templates/config/confmodules.php:188 -msgid "Selected user modules" -msgstr "選択されたユーザモジュール" - -#: ../lib/modules/posixGroup.inc:194 -msgid "Selected users" -msgstr "選択されたユーザ" - -#: ../templates/config/confsave.php:91 -msgid "Server Address is empty!" -msgstr "サーバアドレスが未入力です!" - -#: ../templates/config/confmain.php:158 -#: ../lib/config.inc:331 -#: ../help/help.inc:48 -msgid "Server address" -msgstr "サーバアドレス" - -#: ../templates/config/confmain.php:370 -#: ../lib/config.inc:343 -msgid "Server of external script" -msgstr "外部スクリプトのサーバ" - -#: ../templates/config/confmain.php:155 -msgid "Server settings" -msgstr "サーバ設定" - -#: ../lib/modules/posixGroup.inc:145 -#: ../lib/modules/posixAccount.inc:850 -#: ../lib/modules/posixAccount.inc:938 -msgid "Set no password" -msgstr "パスワードなし" - -#: ../templates/config/profmanage.php:273 -#: ../help/help.inc:114 -msgid "Set profile password" -msgstr "プロファイルパスワード設定" - -#: ../lib/modules/posixGroup.inc:342 -msgid "Sets the group password." -msgstr "グループパスワードを設定" - -#: ../lib/modules/shadowAccount.inc:62 -msgid "Shadow" -msgstr "" - -#: ../templates/massBuildAccounts.php:196 -msgid "Show LDIF file" -msgstr "LDIFファイルを表示" - -#: ../templates/pdfedit/pdfpage.php:455 -msgid "Size" -msgstr "サイズ" - -#: ../lib/modules/quota.inc:400 -msgid "Soft block" -msgstr "ソフトブロック" - -#: ../lib/modules/quota.inc:72 -#: ../lib/modules/quota.inc:293 -#: ../lib/modules/quota.inc:350 -msgid "Soft block limit" -msgstr "ソフトブロック制限" - -#: ../lib/modules/quota.inc:73 -msgid "Soft block limit." -msgstr "ソフトブロック制限" - -#: ../lib/modules/quota.inc:400 -msgid "Soft inode" -msgstr "ソフトinode" - -#: ../lib/modules/quota.inc:89 -msgid "Soft inode (files) limit." -msgstr "ソフトinode(ファイル)制限。" - -#: ../lib/modules/quota.inc:88 -#: ../lib/modules/quota.inc:297 -#: ../lib/modules/quota.inc:352 -msgid "Soft inode limit" -msgstr "ソフトinode制限" - -#: ../lib/modules.inc:727 -msgid "Some required information is missing" -msgstr "必須項目が満たされていません。" - -#: ../templates/help.php:144 -#, php-format -msgid "Sorry this help id ({bold}%s{endbold}) is not available for this module ({bold}%s{endbold})." -msgstr "このヘルプID({bold}%s{endbold})は、このモジュール({bold}%s{endbold})では無効です。" - -#: ../templates/help.php:157 -#, php-format -msgid "Sorry this help number ({bold}%d{endbold}) is not available." -msgstr "このヘルプ番号({bold}%d{endbold})は無効です。" - -#: ../lib/modules/sambaGroupMapping.inc:340 -msgid "Special Group" -msgstr "特殊グループ" - -#: ../lib/modules/sambaAccount.inc:62 -#: ../lib/modules/sambaAccount.inc:63 -#: ../lib/modules/sambaAccount.inc:286 -#: ../lib/modules/sambaAccount.inc:371 -#: ../lib/modules/sambaAccount.inc:780 -#: ../lib/modules/sambaSamAccount.inc:58 -#: ../lib/modules/sambaSamAccount.inc:59 -#: ../lib/modules/sambaSamAccount.inc:762 -msgid "Special user" -msgstr "特殊ユーザ" - -#: ../templates/pdfedit/pdfpage.php:645 -#: ../templates/pdfedit/pdfpage.php:651 -#: ../templates/pdfedit/pdfpage.php:777 -msgid "Static text" -msgstr "静的テキスト" - -#: ../lib/modules/inetOrgPerson.inc:124 -msgid "Steve" -msgstr "スティーブ" - -#: ../lib/modules/sambaAccount.inc:193 -#: ../lib/modules/sambaSamAccount.inc:208 -#: ../lib/modules/inetOrgPerson.inc:117 -msgid "Steve Miller" -msgstr "スティーブ ミラー" - -#: ../lib/modules/posixAccount.inc:225 -msgid "Steve Miller,Room 2.14,123-123-1234,123-123-1234" -msgstr "" - -#: ../lib/modules/inetOrgPerson.inc:64 -#: ../lib/modules/inetOrgPerson.inc:153 -#: ../lib/modules/inetOrgPerson.inc:235 -#: ../lib/modules/inetOrgPerson.inc:236 -#: ../lib/modules/inetOrgPerson.inc:421 -#: ../lib/modules/inetOrgPerson.inc:467 -msgid "Street" -msgstr "町名" - -#: ../templates/pdfedit/pdfpage.php:805 -msgid "Structure name" -msgstr "構成名" - -#: ../templates/ou_edit.php:94 -#: ../templates/ou_edit.php:159 -#: ../templates/ou_edit.php:224 -#: ../templates/ou_edit.php:289 -#: ../templates/ou_edit.php:470 -#: ../templates/domain.php:186 -#: ../templates/config/profmanage.php:373 -#: ../templates/config/confmodules.php:496 -#: ../templates/config/confmain.php:418 -#: ../templates/pdfedit/pdfdelete.php:81 -#: ../templates/pdfedit/pdfpage.php:797 -#: ../templates/pdfedit/pdfmain.php:143 -#: ../templates/profedit/profiledelete.php:85 -#: ../templates/profedit/profiledelete.php:97 -#: ../templates/profedit/profiledelete.php:109 -#: ../templates/profedit/profilemain.php:261 -msgid "Submit" -msgstr "更新(Submit)" - -#: ../templates/pdfedit/pdfpage.php:445 -#: ../templates/pdfedit/pdfpage.php:490 -msgid "Submit page settings" -msgstr "ページ設定を更新" - -#: ../templates/lists/listhosts.php:278 -#: ../templates/lists/listgroups.php:294 -#: ../templates/lists/listdomains.php:200 -#: ../templates/lists/listusers.php:328 -#: ../templates/domain.php:159 -#: ../lib/modules.inc:740 -#: ../help/help.inc:219 -#: ../help/help.inc:221 -#: ../help/help.inc:223 -#: ../help/help.inc:242 -msgid "Suffix" -msgstr "サフィックス" - -#: ../lib/modules/inetOrgPerson.inc:56 -#: ../lib/modules/inetOrgPerson.inc:171 -#: ../lib/modules/inetOrgPerson.inc:247 -#: ../lib/modules/inetOrgPerson.inc:248 -#: ../lib/modules/inetOrgPerson.inc:433 -#: ../lib/modules/inetOrgPerson.inc:470 -msgid "Telephone number" -msgstr "電話番号" - -#: ../lib/modules/inetOrgPerson.inc:149 -msgid "Temp" -msgstr "臨時雇用" - -#: ../lib/modules/inetOrgPerson.inc:137 -msgid "Temp, contract until december" -msgstr "臨時雇用、12月までの契約" - -#: ../help/help.inc:104 -msgid "Text for user PDF" -msgstr "ユーザPDFのためのテキスト" - -#: ../lib/modules/posixAccount.inc:313 -#: ../help/help.inc:147 -msgid "The Primary Group the user should be member of." -msgstr "ユーザがメンバでなければならないプライマリグループ。" - -#: ../lib/modules/posixAccount.inc:345 -#: ../help/help.inc:159 -msgid "The Primary group the host should be member of." -msgstr "ホストがメンバでなければならないプライマリグループ。" - -#: ../help/help.inc:245 -msgid "The SID of your Samba server. Get it with \"net getlocalsid\"." -msgstr "SambaサーバのSID。 \"net getlocalsid\" で取得してください。" - -#: ../lib/modules/posixAccount.inc:63 -msgid "The UID ranges for users and hosts overlap! This is a problem because LAM uses the highest UID in use + 1 for new accounts. Please set the minimum UID to equal values or use independent ranges." -msgstr "ユーザとホストのUID範囲が重複しています! LAMは使用済みUIDの最大値 +1 を割り当てるため、これは問題です。UIDの最小値を適切に変更するか、独立した範囲を指定してください。" - -#: ../help/help.inc:243 -msgid "The domain entry will be saved under this suffix." -msgstr "このサフィックス下でドメインエントリが保存されました。" - -#: ../lib/modules/shadowAccount.inc:49 -msgid "The expiration date is invalid." -msgstr "有効期限が正しくありません。" - -#: ../templates/config/confsave.php:246 -msgid "The following settings were saved to profile:" -msgstr "以下の設定はプロファイルに保存されます:" - -#: ../templates/initsuff.php:184 -msgid "The following suffix(es) are missing in LDAP. LAM can create them for you." -msgstr "以下のサフィックスはLDAPにありません。LAM はこれらを作成できます。" - -#: ../lib/modules/sambaSamAccount.inc:70 -msgid "The format of the logon hours field is invalid!" -msgstr "ログオン時間フィールドの形式が正しくありません!" - -#: ../templates/pdfedit/pdfpage.php:73 -msgid "The headline for a new section must contain at least one character." -msgstr "新しいセクションの見出しは、少なくとも一文字以上でなくてはなりません。" - -#: ../templates/pdfedit/pdfpage.php:61 -msgid "The name for that PDF-structure you submitted is not valid. A valid name must constist at least of one of the following characters 'a-z','A-Z','0-9','_','-','.'." -msgstr "指定されたPDF構成の名前が正しくありません。正しい名前は一文字以上の長さで、使用可能な文字は 'a-z', 'A-Z', '0-9' '_', '-', '.' です。" - -#: ../help/help.inc:241 -msgid "The name of your Windows domain or workgroup." -msgstr "Windowsのドメイン又はワークグループ名。" - -#: ../help/help.inc:130 -msgid "The new account will be saved under this LDAP suffix." -msgstr "新しいアカウントはLDAPサフィックスの下に作成されます。" - -#: ../templates/config/confmain.php:109 -msgid "The password is invalid! Please try again." -msgstr "パスワードが正しくありません! やり直してください。" - -#: ../templates/pdfedit/pdfpage.php:77 -msgid "The static text must contain at least one character." -msgstr "静的テキストは少なくとも一文字以上でなければななりません。" - -#: ../lib/modules/posixGroup.inc:115 -msgid "There are still users who have this group as their primary group." -msgstr "このグループをプライマリグループとするユーザがまだ存在します。" - -#: ../lib/modules/sambaAccount.inc:62 -#: ../lib/modules/sambaSamAccount.inc:58 -msgid "There can be only one administrator per domain." -msgstr "管理者は、ドメイン毎に一つだけ存在可能です。" - -#: ../lib/modules/sambaGroupMapping.inc:340 -#, php-format -msgid "There can be only one group %s." -msgstr "グループ %s を一つだけ指定できます。" - -#: ../lib/modules/sambaAccount.inc:63 -#: ../lib/modules/sambaSamAccount.inc:59 -msgid "There can be only one guest per domain." -msgstr "ドメイン毎にゲストアカウントを一個だけ指定できます。" - -#: ../templates/massDoUpload.php:119 -msgid "There were errors while uploading:" -msgstr "アップロードの際にエラーが発生しました。" - -#: ../lib/modules/posixGroup.inc:351 -msgid "These are the minimum and maximum numbers to use for group IDs when creating new group accounts. New group accounts will always get the highest number in use plus one." -msgstr "新しいグループアカウントを作成する際に使われるグループIDの最小値と最大値。新しいグループアカウントには、使用中の番号の最大値+1が常に割り当てられます。" - -#: ../lib/modules/posixAccount.inc:292 -msgid "These are the minimum and maximum numbers to use for machine IDs when creating new accounts for Samba hosts. The range should be different from that of users. New host accounts will always get the highest number in use plus one." -msgstr "新しいSambaホストアカウントを作成する際に使われるマシンIDの最小値と最大値。範囲はユーザアカウントのものと異なるようにしなくてはなりません。新しいホストアカウントには、使用中の番号の最大値+1が常に割り当てられます。" - -#: ../lib/modules/posixAccount.inc:288 -msgid "These are the minimum and maximum numbers to use for user IDs when creating new user accounts. The range should be different from that of machines. New user accounts will always get the highest number in use plus one." -msgstr "新しいユーザアカウントを作成する際に使われるユーザIDの最小値と最大値。範囲はマシンアカウントのものとは異なるようにしなくてはなりません。新しいユーザアカウントには、使用中の番号の最大値+1が常に割りあてられます。" - -#: ../lib/modules/posixAccount.inc:85 -msgid "This GID number is invalid! Please provide either a number or a group name." -msgstr "このGID番号は正しくありません。別な番号を指定するか、グループ名を記入してください。" - -#: ../templates/domain.php:247 -msgid "This Samba 3 domain is already present!" -msgstr "このSamba 3 ドメインはすでに存在しています!" - -#: ../help/help.inc:115 -msgid "This changes the password of the selected profile." -msgstr "選択されたプロファイルのパスワードを変更します。" - -#: ../help/help.inc:117 -msgid "This changes the profile which is selected by default at login." -msgstr "ログイン時にデフォルトで選択されるプロファイルを変更します。" - -#: ../templates/massBuildAccounts.php:148 -msgid "This column is defined to include unique entries but duplicates were found:" -msgstr "ユニークなエントリを含むものとして定義されているカラムで重複がみつかりました:" - -#: ../help/help.inc:89 -msgid "This defines the language of the login window and sets this language as the default language. Users can change the language at login." -msgstr "ログインウィンドウの言語を定義し、この言語を既定値の言語として設定します。ユーザはログイン時に言語を変更できます。" - -#: ../lib/pdf.inc:511 -msgid "This document was automatically created by LDAP Account Manager" -msgstr "この文書はLDAP Account Managerによって自動的に生成されました。" - -#: ../lib/modules/posixAccount.inc:86 -msgid "This gecos value is invalid!" -msgstr "gecosの値が正しくありません!" - -#: ../lib/modules/ieee802device.inc:61 -msgid "This is a comma separated list of MAC addresses." -msgstr "カンマで区切られたMACアドレスのリスト。" - -#: ../help/help.inc:82 -msgid "This is a list of valid DN entries of all users that are allowed to login to LDAP Account Manager. The user names have to be separated by semicolons." -msgstr "LDAP Account Manager にログイン可能なすべてのユーザの有効なDNエントリの一覧です。ユーザ名はセミコロンによって区切る必要があります。" - -#: ../templates/masscreate.php:209 -msgid "This is an example how it would look in your spreadsheet program before you convert to CSV:" -msgstr "CSVに変換する前に、あなたの表計算プログラムでどのように見えるかの例です。" - -#: ../lib/modules/sambaGroupMapping.inc:342 -msgid "This is not a valid Samba 3 group type!" -msgstr "不正なSamba 3グループタイプです!" - -#: ../lib/modules/ieee802device.inc:57 -msgid "This is the MAC address of the network card of the device (e.g. 00:01:02:DE:EF:18)." -msgstr "ネットワークカードデバイスのMACアドレスです(例 0:01:02:DE:EF:18)。" - -#: ../lib/modules/sambaAccount.inc:369 -msgid "This is the RID of the user's primary Windows group." -msgstr "ユーザのプライマリWindowsグループのRIDです。" - -#: ../lib/modules/sambaSamAccount.inc:180 -msgid "This is the SID of the user's primary Windows group." -msgstr "ユーザのプライマリWindowsグループのSIDです。" - -#: ../help/help.inc:91 -msgid "This is the absolute path to an external script for setting quotas and creating home directories." -msgstr "ホームディレクトリを作成し、quotaを設定するための外部スクリプトの絶対パスです。" - -#: ../lib/modules/sambaAccount.inc:316 -#: ../lib/modules/sambaSamAccount.inc:130 -msgid "This is the account's Windows password." -msgstr "アカウントのWindowsパスワードです。" - -#: ../lib/modules/sambaAccount.inc:313 -#: ../lib/modules/sambaSamAccount.inc:127 -msgid "This is the account's full name on Windows systems." -msgstr "アカウントのWindowsシステム上のフルネームです。" - -#: ../lib/modules/sambaGroupMapping.inc:268 -msgid "This is the group name which will be shown in Windows." -msgstr "Windows上で表示されるグループ名です。" - -#: ../help/help.inc:126 -msgid "This is the identifier for the relative DN value. It must be one of the given allowed LDAP attributes (e.g. user accounts usually use \"uid\" while groups use \"cn\")." -msgstr "相対DN(RDN)に対する識別子です。有効なLDAP属性として与えられたものの一つでなくてはなりません(例えば、ユーザアカウントでは通常\"uid\"を使用し、グループでは\"cn\"を使用します)。" - -#: ../help/help.inc:67 -msgid "This is the list of attributes to show in the user/group/host list. The entries can either be predefined values, \"#attribute\", or individual ones, \"attribute:description\". Several entries are seperated by semicolons." -msgstr "これは、ユーザ/グループ/ホスト一覧に表示する属性のリストです。エントリは既定の定義値、\"#属性\" 、または特定の値、\"属性:説明\" のいずれかにできます。いくつかのエントリは、セミコロンによって区切られます。" - -#: ../help/help.inc:87 -msgid "This is the number of rows to show in the user/group/host list. If more entries are found the list will be split into several pages." -msgstr "ユーザ/グループ/ホスト一覧に表示する行数です。もしもより多くのエントリがあるならば、リストは複数のページに分割されます。" - -#: ../lib/modules/sambaGroupMapping.inc:276 -msgid "This is the relative ID (similar to UID on Unix) for Windows accounts. If you leave this empty LAM will calculate the RID from the UID. This can be either a number or the name of a special group:" -msgstr "Windowsアカウントに対する相対ID(unixにおけるUIDのようなもの)です。未入力の場合、LAMはUIDからRIDを算出します。数値または特殊グループ名のどちらかを指定できます。" - -#: ../lib/modules/sambaSamAccount.inc:183 -#, php-format -msgid "This is the relative ID number for your Windows account. You can either enter a number or one of these special accounts: %s. If you leave this empty LAM will use: uidNumber*2 + sambaAlgorithmicRidBase." -msgstr "あなたのWindowsアカウントに対する相対ID番号です。数字または特殊アカウント %s のどれか一つを指定できます。未入力の場合、LAMは uidNumber*2 + sambaAlgorithmicRidBase を使用します。" - -#: ../help/help.inc:49 -msgid "This is the server address of your LDAP server. Use ldap:// for standard LDAP connections and ldaps:// for encrypted (require server certificates) connections. The port value is optional." -msgstr "これはLDAPサーバのアドレスです。ldap:// を標準的なLDAP接続に、ldaps:// を暗号化された(サーバ認証が必要)接続に使用してください。ポート番号は省略できます。" - -#: ../help/help.inc:96 -msgid "This is the server where the lamdaemon script is stored. LDAP Account Manager will make a SSH connection to this server with username and password provided at login." -msgstr "これはldapdaemonスクリプトが格納されるサーバです。LDAP Account Managerは、ログイン時に提供されるユーザ名とパスワードでサーバにSSH接続を行ないます。" - -#: ../help/help.inc:61 -msgid "This is the suffix of the LDAP tree from where to search for user/group/host entries. Only entries in these subtrees will be displayed in the user/group/host list. When creating a new accont this will be the DN where it is saved." -msgstr "これは、ユーザ/グループ/ホストエントリを検索する際の始点となるLDAPツリーのサフィックスです。このサブツリー中のエントリのみが、ユーザ/グループ/ホスト一覧に表示されます。新しいアカウントを作成するときは、このDNが保存先となります。" - -#: ../help/help.inc:103 -msgid "This is the time in minutes which LAM caches its LDAP searches. Shorter times will stress LDAP more but decrease the possibility that changes are not identified." -msgstr "これは、LAMがLDAP検索結果をキャッシュしておく時間を分で表したものです。時間を短かくすると、LDAPに負荷をかける代わりに、変更が認識できなくなる可能性を減らします。" - -#: ../lib/modules/posixAccount.inc:87 -msgid "This login shell is invalid!" -msgstr "ログインシェルが正しくありません!" - -#: ../lib/modules/sambaSamAccount.inc:190 -msgid "This option defines the allowed logon hours for this account. The format is the same as for the LDAP attribute. The 24*7 hours are represented as 168 bit which are saved as 21 hex (21*8 = 168) values. The first bit represents Sunday 0:00 - 0:59 in GMT." -msgstr "このオプションはログオン許可時間を定義します。書式はLDAP属性と同じです。24*7時間が168ビットに写影され、21桁の16進数(21*8=168)の値として保存されます。先頭の1ビットはグリニッジ標準時で日曜の0:00 - 0:59を意味します。" - -#: ../help/help.inc:105 -msgid "This text will appear on top of every user PDF file." -msgstr "このテキストは、各ユーザのPDFファイルの先頭に表示されます。" - -#: ../templates/tools.php:84 -msgid "This tool allows you to customize the PDF pages." -msgstr "このツールで、あなたのPDFページをカスタマイズする事ができます。" - -#: ../templates/lists/userlink.php:63 -msgid "This user was not found!" -msgstr "ユーザが見つかりません!" - -#: ../lib/modules/sambaAccount.inc:65 -#: ../lib/modules/sambaAccount.inc:66 -#: ../lib/modules/sambaAccount.inc:67 -#: ../lib/modules/sambaAccount.inc:68 -#: ../lib/modules/sambaSamAccount.inc:62 -#: ../lib/modules/sambaSamAccount.inc:63 -#: ../lib/modules/sambaSamAccount.inc:64 -#: ../lib/modules/sambaSamAccount.inc:65 -msgid "This value can only be \\\"true\\\" or \\\"false\\\"!" -msgstr "この値は、\"true\"または\"false\"のいずれかでなくてはなりません。" - -#: ../lib/modules/posixAccount.inc:88 -msgid "This value can only be \\\"true\\\" or \\\"false\\\"." -msgstr "この値は、\"true\"または\"false\"のいずれかでなくてはなりません。" - -#: ../lib/modules/posixGroup.inc:412 -msgid "This value must be a list of user names separated by semicolons." -msgstr "この値はセミコロンで区切られたユーザ名でなくてはなりません。" - -#: ../help/help.inc:237 -msgid "This will create a new organizational unit under the selected one." -msgstr "選択された位置の下に新しい organizational unit を作成します。" - -#: ../help/help.inc:239 -msgid "This will delete the selected organizational unit. The OU has to be empty." -msgstr "選択された organizational unitを削除します。OUは空でなくてはなりません。" - -#: ../help/help.inc:113 -msgid "This will delete the selected profile." -msgstr "選択されたプロファイルを削除します。" - -#: ../help/help.inc:214 -msgid "This will make a profile of the current account. The saved values are the same as in the profile editor. Profile names may contain the letters a-z, 0-9 and -_." -msgstr "現在のアカウントのプロファイルを作成します。保存された値は、プロファイルエディタのものと同様になります。プロファイル名は a-z, 0-9 と -_ を含むことができます。" - -#: ../lib/modules/posixAccount.inc:327 -#: ../help/help.inc:145 -msgid "To disable login use /bin/false. List of shells is read from lam/config/shells" -msgstr "ログインを禁止するためには/bin/falseを使ってください。シェルの一覧は lam/config/shells から読み込まれます。" - -#: ../templates/main_header.php:56 -msgid "Tools" -msgstr "ツール" - -#: ../templates/pdfedit/pdfpage.php:513 -msgid "Top" -msgstr "先頭" - -#: ../templates/lists/listusers.php:342 -msgid "Translate GID number to group name" -msgstr "GID番号をグループ名に変換" - -#: ../lib/modules/posixAccount.inc:75 -msgid "UID" -msgstr "UID" - -#: ../lib/modules/posixAccount.inc:75 -msgid "UID has changed. Do you want to change home directory?" -msgstr "UIDが変更されました。ホームディレクトリを変更しますか?" - -#: ../lib/modules/posixAccount.inc:70 -msgid "UID must be a number. It has to be inside the UID range which is defined in your configuration profile." -msgstr "UIDは数値で、設定ファイルで定義されたUIDの範囲内でなくてはなりません。" - -#: ../lib/modules/posixAccount.inc:46 -#: ../lib/modules/posixAccount.inc:175 -#: ../lib/modules/posixAccount.inc:242 -#: ../lib/modules/posixAccount.inc:287 -#: ../lib/modules/posixAccount.inc:291 -#: ../lib/modules/posixAccount.inc:299 -#: ../lib/modules/posixAccount.inc:817 -#: ../lib/modules/posixAccount.inc:962 -#: ../lib/lists.inc:178 -#: ../lib/lists.inc:217 -#: ../help/help.inc:136 -#: ../help/help.inc:156 -msgid "UID number" -msgstr "UID番号" - -#: ../lib/modules/posixAccount.inc:46 -#, php-format -msgid "UID number has changed. To keep file ownership you have to run the following command as root: 'find / -uid %s -exec chown %s {} \\;'" -msgstr "UID番号が変更されました。存在するファイルの所有者属性を維持するために、以下のコマンドをroot権限で実行す必要があります: 'find / -uid %s -exec chown %s {} \\;'" - -#: ../lib/modules/posixAccount.inc:63 -#: ../lib/modules/posixAccount.inc:151 -msgid "UID ranges for Unix accounts" -msgstr "unixアカウントに対するUIDの範囲" - -#: ../lib/modules/sambaAccount.inc:351 -#: ../lib/modules/sambaSamAccount.inc:165 -#: ../help/help.inc:209 -#, php-format -msgid "UNC-path (\\\\server\\share) of homedirectory. $%s and $%s are replaced with user- and groupname." -msgstr "ホームディレクトリのUNCパス (\\\\サーバ\\共有)。$%s と $%s はユーザ名とグループ名に置換されます。" - -#: ../templates/ou_edit.php:55 -#: ../templates/ou_edit.php:120 -#: ../templates/ou_edit.php:185 -#: ../templates/ou_edit.php:250 -msgid "Unable to create new OU!" -msgstr "新しいOUを作成できません!" - -#: ../templates/config/profmanage.php:86 -msgid "Unable to create new profile!" -msgstr "新しいプロファイルを作成できません!" - -#: ../templates/ou_edit.php:72 -#: ../templates/ou_edit.php:137 -#: ../templates/ou_edit.php:202 -#: ../templates/ou_edit.php:267 -msgid "Unable to delete OU!" -msgstr "OUを削除できません!" - -#: ../templates/pdfedit/pdfdelete.php:56 -msgid "Unable to delete PDF structure!" -msgstr "PDF構成を削除できません!" - -#: ../templates/domain.php:314 -msgid "Unable to delete domain!" -msgstr "ドメインを削除できません!" - -#: ../templates/config/profmanage.php:108 -#: ../templates/profedit/profiledelete.php:60 -msgid "Unable to delete profile!" -msgstr "プロファイルを削除できません!" - -#: ../lib/modules/posixAccount.inc:1260 -msgid "Unable to find group in LDAP." -msgstr "LDAP内にグループが見つかりません。" - -#: ../templates/login.php:100 -#: ../templates/config/confmain.php:355 -msgid "Unable to load available languages. Setting English as default language. For further instructions please contact the Admin of this site." -msgstr "有効な言語をロードできません。英語を既定値の言語とします。より詳しい説明は、このサイトの管理者に連絡してください。" - -#: ../lib/profiles.inc:91 -#: ../lib/profiles.inc:95 -msgid "Unable to load profile!" -msgstr "プロファイルをロードできません!" - -#: ../templates/profedit/profilecreate.php:114 -msgid "Unable to save profile!" -msgstr "プロファイルを保存できません!" - -#: ../lib/modules/posixGroup.inc:226 -#: ../lib/modules/posixAccount.inc:114 -msgid "Unix" -msgstr "unix" - -#: ../lib/modules/inetOrgPerson.inc:51 -#: ../lib/modules/inetOrgPerson.inc:400 -#: ../lib/modules/inetOrgPerson.inc:462 -#: ../help/help.inc:227 -msgid "Unix workstations" -msgstr "unixワークステーション" - -#: ../lib/modules/inetOrgPerson.inc:51 -msgid "Unix workstations is invalid." -msgstr "unixワークステーションが正しくありません。" - -#: ../templates/config/confmodules.php:245 -#: ../templates/config/confmodules.php:348 -#: ../templates/config/confmodules.php:451 -msgid "Unsolved dependency:" -msgstr "依存関係が解決できませんでした:" - -#: ../templates/pdfedit/pdfpage.php:581 -msgid "Up" -msgstr "上" - -#: ../templates/massBuildAccounts.php:193 -msgid "Upload accounts to LDAP" -msgstr "アカウントをLDAPにアップロード" - -#: ../templates/masscreate.php:128 -msgid "Upload file and create accounts" -msgstr "ファイルをアップロードして、アカウントを作成します。" - -#: ../lib/modules.inc:472 -#, php-format -msgid "Upload was stopped after errors in %s module!" -msgstr "%s モジュールでエラーが発生したため、アプロードを中止しました。" - -#: ../lib/modules/sambaAccount.inc:100 -#: ../lib/modules/sambaAccount.inc:203 -#: ../lib/modules/sambaAccount.inc:318 -#: ../lib/modules/sambaAccount.inc:321 -#: ../lib/modules/sambaSamAccount.inc:132 -#: ../lib/modules/sambaSamAccount.inc:135 -#: ../lib/modules/sambaSamAccount.inc:218 -msgid "Use Unix password" -msgstr "unixパスワードを使用" - -#: ../templates/pdfedit/pdfpage.php:442 -#: ../templates/pdfedit/pdfpage.php:487 -#: ../templates/pdfedit/pdfpage.php:501 -#: ../templates/pdfedit/pdfpage.php:519 -#: ../templates/pdfedit/pdfpage.php:530 -#: ../templates/pdfedit/pdfpage.php:541 -#: ../templates/pdfedit/pdfpage.php:552 -msgid "Use default" -msgstr "デフォルト値を使用" - -#: ../help/help.inc:93 -#: ../help/help.inc:98 -msgid "Use it at your own risk and read the documentation for lamdaemon before you use it!" -msgstr "使う前にlamdaemonのドキュメントを読み、あなたの責任で使うこと" - -#: ../lib/modules/posixGroup.inc:345 -#: ../lib/modules/sambaAccount.inc:106 -#: ../lib/modules/sambaAccount.inc:211 -#: ../lib/modules/sambaAccount.inc:324 -#: ../lib/modules/sambaAccount.inc:327 -#: ../lib/modules/sambaAccount.inc:703 -#: ../lib/modules/sambaSamAccount.inc:138 -#: ../lib/modules/sambaSamAccount.inc:141 -#: ../lib/modules/sambaSamAccount.inc:226 -#: ../lib/modules/sambaSamAccount.inc:683 -#: ../lib/modules/sambaSamAccount.inc:834 -#: ../lib/modules/posixAccount.inc:321 -#: ../help/help.inc:186 -msgid "Use no password" -msgstr "パスワードなし" - -#: ../lib/modules/sambaAccount.inc:697 -#: ../lib/modules/sambaSamAccount.inc:677 -#: ../lib/modules/sambaSamAccount.inc:828 -#: ../help/help.inc:188 -msgid "Use unix password" -msgstr "unixパスワードを使う" - -#: ../lib/modules/quota.inc:68 -#: ../lib/modules/quota.inc:292 -msgid "Used blocks" -msgstr "使用したブロック" - -#: ../lib/modules/quota.inc:69 -msgid "Used blocks. 1000 blocks are usually 1MB" -msgstr "使用したブロック。1000ブロックは通常1MB." - -#: ../help/help.inc:253 -msgid "Used for calculating RIDs from UID/GID. Do not change if unsure." -msgstr "RIDs を UID/GID から計算するために使用します。自信がないなら変更しないこと。" - -#: ../lib/modules/quota.inc:84 -#: ../lib/modules/quota.inc:296 -msgid "Used inodes" -msgstr "使用したinode" - -#: ../lib/modules/quota.inc:85 -msgid "Used inodes (files)" -msgstr "使用したinode(ファイル)" - -#: ../lib/modules/sambaGroupMapping.inc:51 -msgid "User" -msgstr "ユーザ" - -#: ../lib/lists.inc:177 -msgid "User ID" -msgstr "ユーザ ID" - -#: ../lib/modules/sambaAccount.inc:235 -#: ../lib/modules/sambaAccount.inc:342 -#: ../lib/modules/sambaAccount.inc:719 -#: ../lib/modules/sambaSamAccount.inc:156 -#: ../lib/modules/sambaSamAccount.inc:250 -#: ../lib/modules/sambaSamAccount.inc:699 -#: ../help/help.inc:192 -msgid "User can change password" -msgstr "ユーザはパスワードを変更可能" - -#: ../lib/modules/posixAccount.inc:309 -#: ../lib/modules/inetOrgPerson.inc:216 -#: ../help/help.inc:143 -msgid "User description. If left empty sur- and give name will be used." -msgstr "ユーザの説明。もしも空ならば、姓(surname)と名(given)が使われます。" - -#: ../lib/pdf.inc:449 -msgid "User information page" -msgstr "ユーザ情報ページ" - -#: ../templates/initsuff.php:152 -#: ../templates/initsuff.php:159 -#: ../templates/initsuff.php:167 -msgid "User list" -msgstr "ユーザ一覧" - -#: ../templates/config/confsave.php:126 -msgid "User list attributes are invalid!" -msgstr "ユーザ一覧属性が正しくありません!" - -#: ../templates/config/confmodules.php:181 -#: ../templates/config/confmain.php:219 -#: ../lib/config.inc:345 -msgid "User modules" -msgstr "ユーザモジュール" - -#: ../lib/modules/sambaAccount.inc:242 -#: ../lib/modules/sambaAccount.inc:344 -#: ../lib/modules/sambaAccount.inc:727 -#: ../lib/modules/sambaSamAccount.inc:158 -#: ../lib/modules/sambaSamAccount.inc:257 -#: ../lib/modules/sambaSamAccount.inc:707 -#: ../help/help.inc:194 -msgid "User must change password" -msgstr "ユーザはパスワード変更が必要" - -#: ../lib/modules/account.inc:64 -#: ../lib/modules/posixAccount.inc:167 -msgid "User name" -msgstr "ユーザ名" - -#: ../templates/profedit/profilemain.php:132 -msgid "User profiles" -msgstr "ユーザ プロファイル" - -#: ../lib/modules/quota.inc:400 -msgid "User quota" -msgstr "ユーザ クオータ" - -#: ../help/help.inc:60 -msgid "User/Group/Host suffix" -msgstr "ユーザ/グループ/ホスト サフィックス" - -#: ../templates/config/confmain.php:170 -#: ../lib/config.inc:333 -msgid "UserSuffix" -msgstr "ユーザ サフィックス" - -#: ../templates/config/confsave.php:106 -msgid "UserSuffix is invalid!" -msgstr "ユーザサフィックスが正しくありません!" - -#: ../templates/login.php:157 -#: ../lib/modules/sambaAccount.inc:843 -#: ../lib/modules/sambaSamAccount.inc:916 -#: ../lib/modules/posixAccount.inc:76 -#: ../lib/modules/posixAccount.inc:77 -#: ../lib/modules/posixAccount.inc:80 -#: ../lib/modules/posixAccount.inc:304 -#: ../lib/modules/posixAccount.inc:814 -#: ../lib/modules/posixAccount.inc:961 -#: ../lib/lists.inc:180 -#: ../help/help.inc:134 -msgid "Username" -msgstr "ユーザ名" - -#: ../lib/modules/posixAccount.inc:77 -#: ../lib/modules/posixAccount.inc:82 -msgid "Username contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and .-_ !" -msgstr "ユーザ名に不正な文字が含まれています。有効な文字は: a-z, A-Z, 0-9, .-_ です!" - -#: ../lib/modules/posixAccount.inc:80 -msgid "Username in use. Selected next free username." -msgstr "使用中のユーザ名です。次の空きユーザ名が選択されました。" - -#: ../lib/modules/posixAccount.inc:305 -#: ../help/help.inc:135 -msgid "Username of the user who should be created. Valid characters are: a-z,0-9, .-_. Lam does not allow a number as first character because useradd also does not allow it. Lam does not allow capital letters A-Z because it can cause several problems. If username is already used username will be expanded with a number. The next free number will be used. Warning: Older systems have problems with usernames longer than 8 characters. You can not log in to Windows if username is longer than 16 characters." -msgstr "作成しようとしているユーザのユーザ名。有効な文字は: a-z, 0-9 と .-_です。useraddコマンドで許されていないため、先頭文字に数字は使用できません。大文字 A-Zは、いくつかの問題を引き起こす可能性があるため使用できません。ユーザ名が既に使われていたならば、ユーザ名に番号が付加されます。この場合、次の空き番号が使われます。警告: 古いシステムでは、8文字より長いユーザ名で問題が発生します。16文字より長いユーザ名ではWindowsにはログオンできません。" - -#: ../templates/ou_edit.php:339 -#: ../templates/main_header.php:74 -#: ../lib/modules/posixAccount.inc:57 -#: ../lib/modules/posixAccount.inc:58 -#: ../lib/modules/posixAccount.inc:61 -#: ../lib/modules/posixAccount.inc:123 -#: ../help/help.inc:73 -msgid "Users" -msgstr "ユーザ" - -#: ../help/help.inc:232 -msgid "Users also being member of the current group." -msgstr "このグループのメンバーとなっているユーザ。" - -#: ../lib/modules/posixGroup.inc:334 -msgid "Users who are member of the current group." -msgstr "このグループに属するユーザ。" - -#: ../lib/modules/posixGroup.inc:338 -msgid "Users who will become member of the current group. User names are separated by semicolons." -msgstr "このグループのメンバーとなるユーザ。ユーザ名はセミコロンによって区切られます。" - -#: ../help/help.inc:173 -msgid "Users wich are also members of group." -msgstr "グループのメンバーとなっている他のユーザ。" - -#: ../help/help.inc:81 -msgid "Valid users" -msgstr "有効なユーザ" - -#: ../templates/delete.php:184 -#: ../lib/modules.inc:1406 -#, php-format -msgid "Was unable to add attribtues to DN: %s." -msgstr "DN %s に属性を追加できませんでした。" - -#: ../lib/modules.inc:1371 -#: ../lib/modules.inc:1380 -#, php-format -msgid "Was unable to create DN: %s." -msgstr "DN %s を作成できませんでした。" - -#: ../lib/modules.inc:1364 -#, php-format -msgid "Was unable to delete DN: %s." -msgstr "DN %s を削除できませんでした。" - -#: ../templates/delete.php:174 -#: ../lib/modules.inc:1396 -#, php-format -msgid "Was unable to modify attribtues from DN: %s." -msgstr "DN %s の属性を変更できませんでした。" - -#: ../templates/delete.php:194 -#: ../templates/delete.php:218 -#: ../lib/modules.inc:1416 -#, php-format -msgid "Was unable to remove attribtues from DN: %s." -msgstr "DN %s の属性を削除できませんでした。" - -#: ../help/help.inc:59 -msgid "When using ldaps:// be sure to use exactly the same IP/domain name as in your certificate!" -msgstr "ldaps:// を使う時は、証明書のIP/ドメイン名と正確に一致するものを使用してください。" - -#: ../templates/pdfedit/pdfpage.php:460 -msgid "Width" -msgstr "幅" - -#: ../help/help.inc:175 -msgid "Windows clients will show display name as group description." -msgstr "Windowsクライアントはグループの説明として名前を表示します。" - -#: ../help/help.inc:217 -msgid "Windows domain" -msgstr "Windowsドメイン" - -#: ../lib/modules/sambaAccount.inc:375 -#: ../lib/modules/sambaSamAccount.inc:187 -msgid "Windows domain name of account." -msgstr "アカウントのWindowsドメイン名" - -#: ../help/help.inc:218 -msgid "Windows domain of host." -msgstr "ホストのWindowsドメイン" - -#: ../lib/modules/sambaAccount.inc:279 -#: ../lib/modules/sambaAccount.inc:763 -#: ../lib/modules/sambaSamAccount.inc:294 -#: ../lib/modules/sambaSamAccount.inc:743 -#: ../lib/modules/sambaSamAccount.inc:924 -#: ../lib/modules/sambaGroupMapping.inc:174 -#: ../lib/modules/sambaGroupMapping.inc:298 -msgid "Windows group" -msgstr "Windowsグループ" - -#: ../lib/modules/sambaAccount.inc:368 -msgid "Windows group RID" -msgstr "WindowsグループRID" - -#: ../lib/modules/sambaAccount.inc:365 -#: ../help/help.inc:225 -msgid "Windows group name" -msgstr "Windowsグループ名" - -#: ../lib/modules/sambaGroupMapping.inc:284 -msgid "Windows group type." -msgstr "Windowsグループタイプ" - -#: ../lib/modules/sambaGroupMapping.inc:271 -msgid "Windows groupname" -msgstr "Windowsグループ名" - -#: ../lib/modules/sambaSamAccount.inc:179 -msgid "Windows primary group SID" -msgstr "WindowsプライマリグループSID" - -#: ../lib/modules/sambaGroupMapping.inc:280 -msgid "Windows-Domain name of group." -msgstr "グループのWindowsドメイン名。" - -#: ../help/help.inc:230 -msgid "Windows-Domain of group." -msgstr "グループのWindowsドメイン。" - -#: ../help/help.inc:212 -msgid "Windows-Domain of user." -msgstr "ユーザのWindowsドメイン。" - -#: ../templates/login.php:331 -msgid "Wrong Password/Username combination. Try again." -msgstr "誤ったパスワード/ユーザ名の組み合わせです。やり直してください。" - -#: ../templates/pdfedit/pdfdelete.php:89 -#: ../templates/profedit/profiledelete.php:118 -msgid "Wrong or missing type!" -msgstr "タイプが間違っているか、または抜けています!" - -#: ../lib/modules.inc:618 -msgid "Wrong profilename given." -msgstr "間違ったプロファイル名が与えられました。" - -#: ../lib/modules/posixGroup.inc:408 -#: ../lib/modules/posixAccount.inc:76 -#: ../lib/modules/posixAccount.inc:78 -msgid "You are using a capital letters. This can cause problems because windows isn't case-sensitive." -msgstr "大文字が使われています。Windowsは大文字と小文字を区別しないため、これが原因で問題が発生する場合があります。" - -#: ../help/help.inc:177 -msgid "You can select a previous defined profile here. This will set all fields to the profile values." -msgstr "ここで、以前に定義したプロファイルを選択できます。これはすべてのフィールドをプロファイルの値に設定します。" - -#: ../lib/modules/posixGroup.inc:399 -#: ../lib/modules/posixAccount.inc:73 -msgid "You cannot use this password options at the same time." -msgstr "このパスワードオプションは同時に指定できません。" - -#: ../templates/logout.php:70 -msgid "You have been logged off from LDAP Account Manager." -msgstr "LDAP Account Managerからログオフしました。" - -#: ../templates/login.php:201 -msgid "Your Language" -msgstr "言語" - -#: ../lib/modules/sambaAccount.inc:257 -#: ../lib/modules/sambaSamAccount.inc:272 -msgid "\\\\server\\homes\\smiller" -msgstr "" - -#: ../lib/modules/sambaAccount.inc:263 -#: ../lib/modules/sambaSamAccount.inc:278 -msgid "\\\\server\\profiles\\smiller" -msgstr "" - -#: ../lib/modules/posixGroup.inc:289 -msgid "adminstrators" -msgstr "" - -#: ../templates/config/confmodules.php:194 -#: ../templates/config/confmodules.php:222 -#: ../templates/config/confmodules.php:297 -#: ../templates/config/confmodules.php:325 -#: ../templates/config/confmodules.php:400 -#: ../templates/config/confmodules.php:428 -msgid "base module" -msgstr "ベースモジュール" - -#: ../lib/modules/inetOrgPerson.inc:62 -#: ../lib/modules/inetOrgPerson.inc:189 -#: ../lib/modules/inetOrgPerson.inc:259 -#: ../lib/modules/inetOrgPerson.inc:260 -#: ../lib/modules/inetOrgPerson.inc:445 -#: ../lib/modules/inetOrgPerson.inc:473 -msgid "eMail address" -msgstr "電子メールアドレス" - -#: ../lib/modules/posixAccount.inc:190 -msgid "group01,group02" -msgstr "" - -#: ../lib/modules/quota.inc:120 -#: ../lib/modules/quota.inc:122 -#: ../lib/modules/quota.inc:189 -#: ../lib/modules/quota.inc:191 -msgid "hours" -msgstr "時間" - -#: ../help/help.inc:53 -msgid "ldap://localhost:389 connects to localhost using a standard LDAP connection on port 389" -msgstr "ldaps://localhost:389 は、localhostのポート389へ標準的なLDAP接続を行ないます。" - -#: ../help/help.inc:55 -msgid "ldaps://141.40.146.133 connects to 141.40.146.133 using an encrypted LDAP connection." -msgstr "ldaps://141.40.146.133 は、141.40.146.133 へ暗号化されたLDAP接続を行ないます。" - -#: ../lib/modules/posixAccount.inc:250 -msgid "machines" -msgstr "マシン" - -#: ../lib/modules/sambaAccount.inc:295 -#: ../lib/modules/sambaAccount.inc:305 -#: ../lib/modules/sambaSamAccount.inc:202 -#: ../lib/modules/sambaSamAccount.inc:320 -msgid "mydomain" -msgstr "マイドメイン" - -#: ../lib/modules/sambaSamAccount.inc:296 -msgid "mygroup" -msgstr "マイグループ" - -#: ../help/help.inc:65 -msgid "ou=People,dc=yourcompany,dc=com will read and store all accounts in this subtree." -msgstr "ou=People,dc=yourcompany,dc=com は、このサブツリーのすべてのアカウントを読み書きします。" - -#: ../lib/modules/posixAccount.inc:236 -msgid "pc01$" -msgstr "" - -#: ../lib/modules/posixAccount.inc:257 -msgid "pc01,Room 2.34" -msgstr "" - -#: ../templates/config/confmain.php:431 -msgid "required" -msgstr "必須" - -#: ../templates/config/confmain.php:433 -msgid "required for Samba 3 accounts" -msgstr "Samba 3アカウントにおいて必須" - -#: ../templates/config/confmain.php:432 -msgid "required for Samba accounts" -msgstr "Sambaアカウントにおいて必須" - -#: ../templates/pdfedit/pdfpage.php:546 -msgid "right" -msgstr "右" - -#: ../lib/modules/posixGroup.inc:315 -#: ../lib/modules/sambaAccount.inc:199 -#: ../lib/modules/sambaSamAccount.inc:214 -#: ../lib/modules/posixAccount.inc:211 -msgid "secret" -msgstr "" - -#: ../lib/modules/posixAccount.inc:169 -msgid "smiller" -msgstr "" - -#: ../lib/modules/posixGroup.inc:309 -msgid "user01,user02,user03" -msgstr "" - -#: ../lib/modules/inetOrgPerson.inc:191 -msgid "user@company.com" -msgstr "" - -#: ../lib/modules/posixAccount.inc:183 -msgid "users" -msgstr "ユーザ" - diff --git a/lam/po/make_mo b/lam/po/make_mo deleted file mode 100755 index 9a9eda20..00000000 --- a/lam/po/make_mo +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# $Id$ -# -# Copyright (C) 2003 Roland Gruber -# This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - -# This script generates a messages.mo file from the translated messages.po file. - -rm -f messages.mo -msgfmt -v messages.po -o messages.mo diff --git a/lam/po/make_po b/lam/po/make_po deleted file mode 100755 index 2b592ac4..00000000 --- a/lam/po/make_po +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -# $Id$ -# -# Copyright (C) 2003 Roland Gruber -# This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - -# This script generates a messages.po file for translation from all .inc and .php files. - -cp messages.header messages.po -find ../ -name *.php -exec xgettext --keyword=_ -L PHP -j --omit-header -s {} \; -find ../ -name *.inc -exec xgettext --keyword=_ -L PHP -j --omit-header -s {} \; diff --git a/lam/po/make_po_de b/lam/po/make_po_de deleted file mode 100755 index 3d78ae9e..00000000 --- a/lam/po/make_po_de +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# $Id$ -# -# Copyright (C) 2003 Roland Gruber -# This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - -# This script is run after make_po to merge the existing German translations to messages.po - -./make_po -msgmerge -v ../locale/de_DE/LC_MESSAGES/messages.po messages.po -o messages.po \ No newline at end of file diff --git a/lam/po/make_po_es b/lam/po/make_po_es deleted file mode 100755 index ab55f7d6..00000000 --- a/lam/po/make_po_es +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# $Id$ -# -# Copyright (C) 2004 Roland Gruber -# This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - -# This script is run to update the existing Spanish translations in messages.po - -./make_po -msgmerge -v ../locale/es_ES/LC_MESSAGES/messages.po messages.po -o messages.po diff --git a/lam/po/make_po_fr b/lam/po/make_po_fr deleted file mode 100755 index 77cfbf6f..00000000 --- a/lam/po/make_po_fr +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# $Id$ -# -# Copyright (C) 2003 Roland Gruber -# This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - -# This script is run after make_po to merge the existing German translations to messages.po - -./make_po -msgmerge -v ../locale/fr_FR/LC_MESSAGES/messages.po messages.po -o messages.po diff --git a/lam/po/make_po_hu b/lam/po/make_po_hu deleted file mode 100755 index ae710928..00000000 --- a/lam/po/make_po_hu +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# $Id$ -# -# Copyright (C) 2004 Roland Gruber -# This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - -# This script is run after make_po to merge the existing Hungarian translations to messages.po - -./make_po -msgmerge -v ../locale/hu_HU/LC_MESSAGES/messages.po messages.po -o messages.po diff --git a/lam/po/make_po_jp b/lam/po/make_po_jp deleted file mode 100755 index bf60018f..00000000 --- a/lam/po/make_po_jp +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# $Id$ -# -# Copyright (C) 2004 Roland Gruber -# This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - -# This script is run after make_po to merge the existing Japanese translations to messages.po - -./make_po -msgmerge -v ../locale/ja_JP/LC_MESSAGES/messages.po messages.po -o messages.po diff --git a/lam/po/messages.header b/lam/po/messages.header deleted file mode 100644 index da4ac099..00000000 --- a/lam/po/messages.header +++ /dev/null @@ -1,16 +0,0 @@ -# -# LDAP Account Manager -# - -msgid "" -msgstr "" -"Project-Id-Version: LAM 0.5\n" -"Report-Msgid-Bugs-To: post@rolandgruber.de \n" -"POT-Creation-Date: 2004-01-14 17:45+0200\n" -"PO-Revision-Date: 2004-01-14 17:45+0200\n" -"Last-Translator: Roland Gruber \n" -"Language-Team: German \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - diff --git a/lam/sess/.htaccess b/lam/sess/.htaccess deleted file mode 100644 index 11c59d17..00000000 --- a/lam/sess/.htaccess +++ /dev/null @@ -1,4 +0,0 @@ - - Order allow,deny - Deny from all - diff --git a/lam/session-vars.txt b/lam/session-vars.txt deleted file mode 100644 index 28bb0684..00000000 --- a/lam/session-vars.txt +++ /dev/null @@ -1,118 +0,0 @@ -Alle: - -- config: Config-Objekt fr die Einstellungen -- ldap: LDAP-Objekt fr Funktionen rund um LDAP -- language: Sprache fr LAM -- header: String-Array mit Standard-HTML-Header -- lampath: String mit Pfad zum LAM-Verzeichnis - - -masscreate: -- mass_accounts: verschlsseltes, serialisiertes Array mit Accounts -- mass_dn: DN der Accounts -- mass_counter: aktuelle Position im Account-Array -- mass_errors: Fehlermeldungen beim Upload -- mass_csv: CSV-Datei als Vorlage fr Upload -- mass_failed: Liste der Accounts, die nicht erzeugt werden konnten -- mass_postActions: temporre Daten fr den Upload -- mass_data: Eingabedaten -- mass_ids: Tabelle Spaltenname => Spaltennummer -- mass_scope: Account-Typ - -main: -- domain_message: Wird auf der "neue Domain" Seite ausgegeben, wenn keine Domne gefunden wurde - - -listusers: -- trans_primary_hash: Tabelle mit GID - Gruppenname -- userlist: Useraccounts vom LDAP-Server -- usr_suffix: aktueller Suffix -- usr_units: Suffixliste fr Benutzer - - -listhosts: -- hst_info: Hostaccounts vom LDAP-Server -- hst_suffix: aktueller Suffix -- hst_units: Suffixliste fr Hosts - - -listgroups: -- grp_info: Gruppenaccounts vom LDAP-Server -- grp_suffix: aktueller Suffix -- grp_units: Suffixliste fr Gruppen - - -listdomains: -- dom_info: Domnen vom LDAP-Server -- dom_suffix: aktueller Suffix -- dom_units: Suffixliste fr Domnen - - -domain: -- domain_message: Wird auf der "neue Domain" Seite ausgegeben, wenn keine Domne gefunden wurde - - -convsave, confmain, conflogin: -- conf_passwd: Eingabe von confmain -- conf_passwd1: Eingabe von confmain -- conf_passwd2: Eingabe von confmain -- conf_serverurl: Eingabe von confmain -- conf_cachetimeout: Eingabe von confmain -- conf_admins: Eingabe von confmain -- conf_suffusers: Eingabe von confmain -- conf_suffgroups: Eingabe von confmain -- conf_suffhosts: Eingabe von confmain -- conf_suffdomains: Eingabe von confmain -- conf_usrlstattr: Eingabe von confmain -- conf_grplstattr: Eingabe von confmain -- conf_hstlstattr: Eingabe von confmain -- conf_maxlistentries: Eingabe von confmain -- conf_lang: Eingabe von confmain -- conf_scriptpath: Eingabe von confmain -- conf_scriptserver: Eingabe von confmain -- conf_filename: Dateiname des Profils -- config_types: Hash Array mit Typen (text, select, ...) der verarbeiteten Optionen -- config_scopes: Accounttypen fr Module - - -useredit: -- shellist: Array mit allen shells -- account_old: Object account. Hier wird beim laden eines Accounts alle alten Werte zwischengespeichert -- account: Object account. Hier wird der aktuelle Eintrag gespeichert -- final_changegids: boolean. Wenn gesetzt, werden die gids in ldap angepasst -- hostDN: Array mit allen hosts. - - -hostedit: -- account: s.o. -- account_old: -- final_changegids: -- shelllist: - - -groupedit: -- account: s.o. -- account_old: -- final_changeids: -- userDN: Array mit allen Benutzern -- Account: ??? Tipfehler - - -account.inc: -- userDN: array mit allen Benutzern -- groupDN: array mit allen Gruppen -- hostDN: array mit allen Gruppen -- account: s.o. -- final_changeids: s.o. - - -delete.php -- delete_dn : Liste der DNs, die gelscht werden sollen. - - -profilepage.php/profilecreate.php -- profile_types: Hash Array mit Typen (text, select, ...) der verarbeiteten Optionen - - - - diff --git a/lam/style/500_layout.css b/lam/style/500_layout.css deleted file mode 100644 index eb54eca3..00000000 --- a/lam/style/500_layout.css +++ /dev/null @@ -1,511 +0,0 @@ -/* -$Id$ - - This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) - Copyright (C) 2003 Leonhard Walchshusl - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more detaexils. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -*/ - -/* CSS layout for LAM */ - - -/** - * global page layout - * - */ - -h1,h2,h3,h4,p,ul,ol,li,div,td,th,address,blockquote,b,i { - font-family:Arial,Verdana,sans-serif; -} - -body { - background-color:#F5F5F5; -} - -/* links */ -a { -color:blue; -text-decoration:none; -} - -a:visited { -color:blue; -text-decoration:none; -} - -a:hover { -color:red; -text-decoration:none; -} - -a:active { -color:red; -text-decoration:none; -} - -form { } -input { -font-weight:bold; -background-color:#CCCCFF; -} - -fieldset { -background-color:#EEEEEE; -} - -legend { -color:#007a3b; -} - - -/** - * style for userlist.php - * - */ - -/* table preferences */ -table.userlist { - border-width:1px; - border-style:solid; - border-color:#9b8523; -} - -/* color of entry rows */ -tr.userlist { - background-color:#fffde2; -} - -/* color of head row */ -tr.userlist-head { - background-color:#fff2a3; - font-weight:bold; -} - -/* color of rows on mouseOver */ -tr.userlist-over { - background-color:#ccccff; -} - -/* color of checked rows */ -tr.userlist-checked { - background-color:#f27c71; -} - -/* color for active page digit */ -td.usernav-activepage { - color:red; -} - -/* style of navigation bar */ -td.usernav { - color:#AAAAAA; -} - -table.usernav { - background-color:#fff2a3; - border-width:1px; - border-style:solid; - border-color:#9b8523; -} - -td.usernav-text { - color:green; - font-family:Verdana,sans-serif; - font-size:12px; -} - -/* style of active column */ -th.userlist-sort { - background-color:#fffde2; -} - - -/** - * table style for grouplist.php - * - */ - -/* navigation bar */ -table.groupnav { - background-color:#a8c3ff; - border-width:1px; - border-style:solid; - border-color:#7167bf; -} - -/* text in navigation bar */ -td.groupnav-text { - color:green; - font-family:Verdana,sans-serif; - font-size:12px; -} - -/* color for active page digit */ -td.groupnav-activepage { - color:red; -} - -/* table preferences */ -table.grouplist { - border-width:1px; - border-style:solid; - border-color:#7167bf; -} - -/* color of entry rows */ -tr.grouplist { - background-color:#d6e3ff; -} - -/* color of head row */ -tr.grouplist-head { - background-color:#a8c3ff; -} - -/* color of sorted column in head row */ -th.grouplist-sort { - background-color:#d6e3ff; -} - -/* color of rows on mouseOver */ -tr.grouplist-over { - background-color:#C7E7C7; -} - -/* color of checked rows */ -tr.grouplist-checked { - background-color:#f27c71; -} - -/** - * table style for hostlist.php - * - */ - -/* */ -table.hostnav { - background-color:#ffc4ba; - border-width:1px; - border-style:solid; - border-color:#911a1a; -} - -/* text in navigation bar */ -td.hostnav-text { - color:green; - font-family:Verdana,sans-serif; - font-size:12px; -} - -/* color for active page digit */ -td.hostnav-activepage { - color:red; -} - -/* table preferences */ -table.hostlist { - border-width:1px; - border-style:solid; - border-color:#911a1a; -} - -/* color of entry rows */ -tr.hostlist { - background-color:#ffe2dd; -} - -/* color of head row */ -tr.hostlist-head { - background-color:#ffc4ba; -} - -/* color of sorted column in head row */ -th.hostlist-sort { - background-color:#ffe2dd; -} - -/* color of rows on mouseOver */ -tr.hostlist-over { - background-color:#ffe265; -} - -/* color of checked rows */ -tr.hostlist-checked { - background-color:#f27c71; -} - -/** - * table style for domainlist.php - * - */ - -/* */ -table.domainnav { - background-color:#a8ddbf; - border-width:1px; - border-style:solid; - border-color:#1d993e; -} - -/* text in navigation bar */ -td.domainnav-text { - color:green; - font-family:Verdana,sans-serif; - font-size:12px; -} - -/* color for active page digit */ -td.domainnav-activepage { - color:red; -} - -/* table preferences */ -table.domainlist { - border-width:1px; - border-style:solid; - border-color:#1d993e; -} - -/* color of entry rows */ -tr.domainlist { - background-color:#c9ddd2; -} - -/* color of head row */ -tr.domainlist-head { - background-color:#a8ddbf; -} - -/* color of sorted column in head row */ -th.domainlist-sort { - background-color:#c9ddd2; -} - -/* color of rows on mouseOver */ -tr.domainlist-over { - background-color:#ffe265; -} - -/* color of checked rows */ -tr.domainlist-checked { - background-color:#f27c71; -} - -/** - * style for domain.php - * - */ - -/* fieldset and legend */ - -fieldset.domedit { -background-color:#c9ddd2; -} - -legend.domedit { -color:blue; -} - - -/** - * table style for delete.php - * - */ - -/* table preferences */ -table.account { - border-width:0px; - border-style:solid; - border-color:#000000; -} - -/* color of entry rows */ -tr.account { - background-color:#FFFFEE; -} - - -/** - * Color and font definitions for templates/status.php - * - */ - -/* Background olor for the different Status Messages */ -div.statusInfo { - background-color:#5C7EC6; -} - -div.statusWarn { - background-color:#CE8037; -} - -div.statusError { - background-color:#C65146; -} - -/* H1 (MessageTyp) font size, family, color, and some more settings for the different Status Messages */ -h1.statusInfo { - font-size:16pt; - font-family:Arial,sans-serif; - color:#FFFFFF; - margin-left:20px; -} - -h1.statusWarn { - font-size:16pt; - font-family:Arial,sans-serif; - color:#FFFFFF; - margin-left:20px; -} - -h1.statusError { - font-size:16pt; - font-family:Arial,sans-serif; - color:#FFFFFF; - margin-left:20px; -} - -/* H2 (MessageHeadline) font size, family, color, and some more settings for the different Status Messages */ -h2.statusInfo { - font-size:13pt; - font-family:Arial,sans-serif; - color:#FFFFFF; - margin-left:25px; - margin-right:25px; -} - -h2.statusWarn { - font-size:13pt; - font-family:Arial,sans-serif; - color:#FFFFFF; - margin-left:25px; - margin-right:25px; -} - -h2.statusError { - font-size:13pt; - font-family:Arial,sans-serif; - color:#FFFFFF; - margin-left:25px; - margin-right:25px; -} - -/* P (MessageText) font size, family, color, and some more settings for the different Status Messages */ -p.statusInfo { - font-size:11pt; - font-family:Times,serif; - color:#FFFFFF; - margin-left:35px; - margin-right:35px; -} - -p.statusWarn { - font-size:11pt; - font-family:Times,serif; - color:#FFFFFF; - margin-left:35px; - margin-right:35px; -} - -p.statusError { - font-size:11pt; - font-family:Times,serif; - color:#FFFFFF; - margin-left:35px; - margin-right:35px; -} - -/** - * table style for groupedit.php - * - */ - -fieldset.groupedit-bright { - background-color:#d6e3ff; -} - -fieldset.groupedit-middle { - background-color:#C7E7C7; -} - -legend.groupedit-bright { - color:blue; -} - -fieldset.groupedit-dark { - background-color:#7167bf; -} - -legend.groupedit-dark { - color:blue; -} - -select.groupedit-bright { - background-color:#d6e3ff; -} - - -/** - * table style for hostedit.php - * - */ - -fieldset.hostedit-bright { - background-color:#ffe2dd; -} - -legend.hostedit-bright { - color:blue; -} - -fieldset.hostedit-dark { - background-color:#ffc4ba; -} - -legend.hostedit-dark { - color:blue; -} - -select.hostedit-bright { - background-color:#ffc4ba; -} - -/** - * table style for useredit.php - * - */ - -fieldset.useredit-bright { - background-color:#fff2a3; -} - -legend.useredit-bright { - color:blue; -} - -fieldset.useredit-dark { - background-color:#CCCCFF; -} - -legend.useredit-dark { - color:blue; -} - -select.useredit-bright { - background-color:#CCCCFF; -} - diff --git a/lam/templates/account/edit.php b/lam/templates/account/edit.php deleted file mode 100644 index 574695bb..00000000 --- a/lam/templates/account/edit.php +++ /dev/null @@ -1,45 +0,0 @@ -load_account($DN); - } -else if (count($_POST)==0) { - $type = str_replace("\'", '', $_GET['type']); - if ($_GET['type'] == $type) $type = str_replace("'", '',$_GET['type']); - $_SESSION['account'] = new accountContainer($type, 'account'); - $_SESSION['account']->new_account(); - } -$_SESSION['account']->continue_main($_POST); - -?> diff --git a/lam/templates/config/conflogin.php b/lam/templates/config/conflogin.php deleted file mode 100644 index 0a71ebb6..00000000 --- a/lam/templates/config/conflogin.php +++ /dev/null @@ -1,151 +0,0 @@ - - - - <?php - echo _("Login"); - ?> - - - - -

- LDAP Account Manager -

-


- -
- - - - - - - - - - -\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - } -?> - - - - - - - - - - - - - - -
 
" . $message . "
 
- 0) { - echo "\n"; - } - else echo "\n"; - if (sizeof($files) > 0) echo "\n"; - else echo "\n"; - if (sizeof($files) > 0) echo "\n"; - else echo "\n"; - ?> -
 
- -
-
- -






- - -

- -

- - - diff --git a/lam/templates/config/confmain.php b/lam/templates/config/confmain.php deleted file mode 100644 index 9797992c..00000000 --- a/lam/templates/config/confmain.php +++ /dev/null @@ -1,556 +0,0 @@ -get_Passwd()) == $passwd)) { - $message = _("The password is invalid! Please try again."); - /** go back to login if password is invalid */ - require('conflogin.php'); - exit; -} - -// check if user comes from modules page -if (isset($_GET["modulesback"])) { - // load config values from session - $conf->set_ServerURL($_SESSION['conf_serverurl']); - $conf->set_cacheTimeout($_SESSION['conf_cachetimeout']); - $conf->set_Adminstring($_SESSION['conf_admins']); - $conf->set_UserSuffix($_SESSION['conf_suffusers']); - $conf->set_GroupSuffix($_SESSION['conf_suffgroups']); - $conf->set_HostSuffix($_SESSION['conf_suffhosts']); - $conf->set_DomainSuffix($_SESSION['conf_suffdomains']); - $conf->set_userlistAttributes($_SESSION['conf_usrlstattr']); - $conf->set_grouplistAttributes($_SESSION['conf_grplstattr']); - $conf->set_hostlistAttributes($_SESSION['conf_hstlstattr']); - $conf->set_MaxListEntries($_SESSION['conf_maxlistentries']); - $conf->set_defaultLanguage($_SESSION['conf_lang']); - $conf->set_scriptpath($_SESSION['conf_scriptpath']); - $conf->set_scriptserver($_SESSION['conf_scriptserver']); - // check if modules were edited - if ($_GET["moduleschanged"] == "true") { - $conf->set_AccountModules($_SESSION['conf_usermodules'], 'user'); - $conf->set_AccountModules($_SESSION['conf_groupmodules'], 'group'); - $conf->set_AccountModules($_SESSION['conf_hostmodules'], 'host'); - } -} - -// index for tab order -$tabindex = 1; - -echo $_SESSION['header']; - -echo ("" . _("LDAP Account Manager Configuration") . "\n"); -echo ("\n"); -echo ("\n"); -echo ("\n"); -echo ("

". - "\"LDAP

\n
\n

\n"); - -// display formular -echo ("
\n"); - -echo ("
" . _("Server settings") . ""); -echo (""); -// serverURL -echo ("". - "\n"); -echo ("\n"); -$tabindex++; - -// new line -echo (""); - -// user suffix -echo ("". - "\n"); -echo ("\n"); -$tabindex++; -// group suffix -echo ("". - "\n"); -echo ("\n"); -$tabindex++; -// host suffix -echo ("". - "\n"); -echo ("\n"); -$tabindex++; -// domain suffix -echo ("". - "\n"); -echo ("\n"); -$tabindex++; - -// new line -echo (""); - -// LDAP cache timeout -echo ("". - "\n"); -$tabindex++; -echo ("\n"); - -echo ("
" . _("Server address") . " *: ". - "get_ServerURL() . "\">". - "" . _("Help") . "
 
". - _("UserSuffix") . " *: get_UserSuffix() . "\">" . _("Help") . "
". - _("GroupSuffix") . " *: get_GroupSuffix() . "\">" . _("Help") . "
". - _("HostSuffix") . " **: get_HostSuffix() . "\">" . _("Help") . "
". - _("DomainSuffix") . " ***: get_DomainSuffix() . "\">" . _("Help") . "
 
". - _("Cache timeout") . ": " . _("Help") . "
"); -echo ("
"); - -echo ("

"); - -echo ("
" . _("Account modules") . ""); -echo (""); - -// Account modules -echo "\n"; -echo "\n"; -echo "\n"; -echo "\n"; -echo "\n"; -$tabindex++; - -echo ("
" . _("User modules") . ": " . implode(", ", $conf->get_AccountModules('user')) . "
" . _("Group modules") . ": " . implode(", ", $conf->get_AccountModules('group')) . "
" . _("Host modules") . ": " . implode(", ", $conf->get_AccountModules('host')) . "
 
  " . - "" . _("Help") . "
"); -echo ("
"); - -echo ("

"); - - -// module settings - -// get list of scopes of modules -$scopes = array(); -$mods = $conf->get_AccountModules('user'); -for ($i = 0; $i < sizeof($mods); $i++) $scopes[$mods[$i]][] = 'user'; -$mods = $conf->get_AccountModules('group'); -for ($i = 0; $i < sizeof($mods); $i++) $scopes[$mods[$i]][] = 'group'; -$mods = $conf->get_AccountModules('host'); -for ($i = 0; $i < sizeof($mods); $i++) $scopes[$mods[$i]][] = 'host'; - -// get module options -$options = getConfigOptions($scopes); -// get current setting -$old_options = $conf->get_moduleSettings(); -// get module descriptions -$moduleDescriptions = getConfigDescriptions(); - -// save scopes -$_SESSION['config_scopes'] = $scopes; - -// display module boxes -$modules = array_keys($options); -for ($m = 0; $m < sizeof($modules); $m++) { - // ignore empty values - if (!is_array($options[$modules[$m]]) || (sizeof($options[$modules[$m]]) < 1)) continue; - echo "
\n"; - echo "" . $moduleDescriptions['legend'][$modules[$m]] . "\n"; - echo "\n"; - for ($l = 0; $l < sizeof($options[$modules[$m]]); $l++) { // option lines - echo "\n"; - for ($o = 0; $o < sizeof($options[$modules[$m]][$l]); $o++) { // line parts - echo ""; - print_option($options[$modules[$m]][$l][$o], $modules[$m], $old_options, $tabindex); - echo "\n"; - } - echo "\n"; - } - echo "
\n"; - echo "
\n"; - echo "
"; -} - - -echo ("
" . _("LDAP List settings") . "\n"); -echo ("\n"); - -// user list attributes -echo ("". - ""); -echo ("\n"); -$tabindex++; -// group list attributes -echo ("". - ""); -echo ("\n"); -$tabindex++; -// host list attributes -echo ("". - ""); -echo ("\n"); -$tabindex++; - -echo ("\n"); - -// maximum list entries -echo ("". - "\n"); -$tabindex++; -echo ("\n"); - -echo ("
". - _("Attributes in User List") . " *:get_userlistAttributes() . "\">" . _("Help") . "
". - _("Attributes in Group List") . " *:get_grouplistAttributes() . "\">" . _("Help") . "
". - _("Attributes in Host List") . " **:get_hostlistAttributes() . "\">" . _("Help") . "
 
". - _("Maximum list entries") . " : " . _("Help") . "
\n"); -echo ("
\n"); -echo ("

\n"); - -echo ("
" . _("Language settings") . "\n"); -echo ("\n"); - -// language -echo (""); -echo ("\n"); -echo ("\n"); - -echo ("
" . _("Default language") . ":\n"); -// read available languages -$languagefile = "../../config/language"; -if(is_file($languagefile)) -{ - $file = fopen($languagefile, "r"); - $i = 0; - while(!feof($file)) - { - $line = fgets($file, 1024); - if($line == "\n" || $line[0] == "#" || $line == "") continue; // ignore comment and empty lines - $languages[$i] = chop($line); - $i++; - } - fclose($file); -// generate language list -echo ("\n"); -$tabindex++; -} -else -{ - echo _("Unable to load available languages. Setting English as default language. For further instructions please contact the Admin of this site."); -} -echo ("" . _("Help") . "
\n"); -echo ("
\n"); - -echo ("

\n"); - -// script settings -echo ("
" . _("Script settings") . "\n"); -echo ("\n"); - -echo ("". - "\n"); -$tabindex++; -echo ("\n"); -echo ("". - "\n"); -$tabindex++; -echo ("\n"); - -echo ("
". - _("Server of external script") . ": get_scriptServer() . "\">" . _("Help") . "
". - _("Path to external script") . ": get_scriptPath() . "\">" . _("Help") . "
\n"); -echo ("
\n"); - -echo ("

\n"); - -// security setings -echo ("
" . _("Security settings") . "\n"); -echo ("\n"); -// admin list -echo ("". - "\n"); -echo ("\n"); -$tabindex++; - -echo ("\n"); - -// new password -echo ("". - "\n"); -$tabindex++; -echo ("\n"); -// reenter password -echo ("". - "\n"); -$tabindex++; -echo ("
". - _("List of valid users") . " *: get_Adminstring() . "\">" . _("Help") . "
 
". - _("New Password") . ": " . _("Help") . "
". - _("Reenter Password") . ":
\n"); -echo ("
\n"); -echo ("

\n"); - - -// buttons -echo ("\n"); - -echo ""; -echo "\n"); - -echo ("
";
-	echo "";
-	$tabindex++;
-	echo "";
-	$tabindex++;
-	echo "
\n"); - -echo ("

"); - -echo ("

* = ". _("required") . "

"); -echo ("

** = ". _("required for Samba accounts") . "

"); -echo ("

*** = ". _("required for Samba 3 accounts") . "

"); - -// password for configuration -echo ("

\n"); - -// config file -echo ("

\n"); - -// modules -echo ("

get_AccountModules('user')) . "\">

\n"); -echo ("

get_AccountModules('group')) . "\">

\n"); -echo ("

get_AccountModules('host')) . "\">

\n"); - -echo ("
\n"); -echo ("\n"); -echo ("\n"); - - - -/** -* prints out the row of a section table including the option name, values and help -* -* @param array $values an array formated as module option -* @param string $module_name the name of the module the options belong to -* @param array $old_options a hash array with the values from the loaded profile -* @param integer $tabindex current value for tabulator order -*/ -function print_option($values, $modulename, $old_options, &$tabindex) { - switch ($values['kind']) { - // text value - case 'text': - echo $values['text'] . "\n"; - break; - // help link - case 'help': - echo "" . _('Help') . "\n"; - break; - // input field - case 'input': - if (($values['type'] == 'text') || ($values['type'] == 'checkbox')) { - if ($values['type'] == 'text') { - $output = "\n"; - $_SESSION['config_types'][$values['name']] = "multiselect"; - } - else { - echo "\n"; - $tabindex++; - break; - // subtable - case 'table': - echo "\n"; - for ($l = 0; $l < sizeof($values['value']); $l++) { // option lines - echo "\n"; - for ($o = 0; $o < sizeof($values['value'][$l]); $o++) { // line parts - echo "\n"; - } - echo "\n"; - } - echo "
"; - print_option($values['value'][$l][$o], $values['value'], $old_options, $tabindex); - echo "
\n"; - break; - // print error message for invalid types - default: - echo "Unrecognized type" . ": " . $values['kind'] . "\n"; - break; - } -} - - -?> - diff --git a/lam/templates/config/confmodules.php b/lam/templates/config/confmodules.php deleted file mode 100644 index a392cb0d..00000000 --- a/lam/templates/config/confmodules.php +++ /dev/null @@ -1,510 +0,0 @@ -get_Passwd()) { - /** go back to login if password is invalid */ - require('conflogin.php'); - exit; -} - -// user pressed submit/abort button -if ($_POST['submit']) { - //selection ok, back to other settings - metarefresh('confmain.php?modulesback=true&moduleschanged=true'); -} -elseif ($_POST['abort']) { - // no changes - metarefresh('confmain.php?modulesback=true'); -} - -echo $_SESSION['header']; - -echo "" . _("LDAP Account Manager Configuration") . "\n"; -echo "\n"; -echo "\n"; - -echo ("

". - "\"LDAP



\n"); - -echo ("
\n"); -echo "

" . _("Module selection") . "

"; - - -// user modules -$selected_users_temp = $_SESSION['conf_usermodules']; -$available_users = array(); -$available_users = getAvailableModules('user'); -$selected_users = array(); -// only use available modules as selected -for ($i = 0; $i < sizeof($selected_users_temp); $i++) { - if (in_array($selected_users_temp[$i], $available_users)) $selected_users[] = $selected_users_temp[$i]; -} -$no_conflicts_user = true; -$no_depends_user = true; -$no_missing_basemodule_user = true; - -// remove modules from selection -if ($_POST['user_selected'] && ($_POST['user_remove'])) { - $new_selected_users = array(); - for ($i = 0; $i < sizeof($selected_users); $i++) { - if (! in_array($selected_users[$i], $_POST['user_selected'])) $new_selected_users[] = $selected_users[$i]; - } - $selected_users = $new_selected_users; - $_SESSION['conf_usermodules'] = $selected_users; -} - -// add modules to selection -elseif ($_POST['user_available'] && ($_POST['user_add'])) { - $new_selected_users = $selected_users; - for ($i = 0; $i < sizeof($_POST['user_available']); $i++) { - if (! in_array($_POST['user_available'][$i], $selected_users)) $new_selected_users[] = $_POST['user_available'][$i]; - } - $selected_users = $new_selected_users; - $_SESSION['conf_usermodules'] = $selected_users; -} - - -// group modules -$selected_groups_temp = $_SESSION['conf_groupmodules']; -$available_groups = array(); -$available_groups = getAvailableModules('group'); -$selected_groups = array(); -// only use available modules as selected -for ($i = 0; $i < sizeof($selected_groups_temp); $i++) { - if (in_array($selected_groups_temp[$i], $available_groups)) $selected_groups[] = $selected_groups_temp[$i]; -} -$no_conflicts_group = true; -$no_depends_group = true; -$no_missing_basemodule_group = true; - -// remove modules from selection -if ($_POST['group_selected'] && ($_POST['group_remove'])) { - $new_selected_groups = array(); - for ($i = 0; $i < sizeof($selected_groups); $i++) { - if (! in_array($selected_groups[$i], $_POST['group_selected'])) $new_selected_groups[] = $selected_groups[$i]; - } - $selected_groups = $new_selected_groups; - $_SESSION['conf_groupmodules'] = $selected_groups; -} - -// add modules to selection -elseif ($_POST['group_available'] && ($_POST['group_add'])) { - $new_selected_groups = $selected_groups; - for ($i = 0; $i < sizeof($_POST['group_available']); $i++) { - if (! in_array($_POST['group_available'][$i], $selected_groups)) $new_selected_groups[] = $_POST['group_available'][$i]; - } - $selected_groups = $new_selected_groups; - $_SESSION['conf_groupmodules'] = $selected_groups; -} - - -// host modules -$selected_hosts_temp = $_SESSION['conf_hostmodules']; -$available_hosts = array(); -$available_hosts = getAvailableModules('host'); -$selected_hosts = array(); -// only use available modules as selected -for ($i = 0; $i < sizeof($selected_hosts_temp); $i++) { - if (in_array($selected_hosts_temp[$i], $available_hosts)) $selected_hosts[] = $selected_hosts_temp[$i]; -} -$no_conflicts_host = true; -$no_depends_host = true; -$no_missing_basemodule_host = true; - -// remove modules from selection -if ($_POST['host_selected'] && ($_POST['host_remove'])) { - $new_selected_hosts = array(); - for ($i = 0; $i < sizeof($selected_hosts); $i++) { - if (! in_array($selected_hosts[$i], $_POST['host_selected'])) $new_selected_hosts[] = $selected_hosts[$i]; - } - $selected_hosts = $new_selected_hosts; - $_SESSION['conf_hostmodules'] = $selected_hosts; -} - -// add modules to selection -elseif ($_POST['host_available'] && ($_POST['host_add'])) { - $new_selected_hosts = $selected_hosts; - for ($i = 0; $i < sizeof($_POST['host_available']); $i++) { - if (! in_array($_POST['host_available'][$i], $selected_hosts)) $new_selected_hosts[] = $_POST['host_available'][$i]; - } - $selected_hosts = $new_selected_hosts; - $_SESSION['conf_hostmodules'] = $selected_hosts; -} - - -// show user modules -echo "
" . _("User modules") . "\n"; -echo "\n"; - // select boxes - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; -echo "
\n"; - echo "
\n"; - echo "" . _("Selected user modules") . "\n"; - echo "\n"; - echo "
\n"; - echo "
\n"; - echo "

"; - echo ""; - echo "
"; - echo ""; - echo "

\n"; - echo "
\n"; - echo "
\n"; - echo "" . _("Available user modules") . "\n"; - echo "\n"; - echo "
\n"; - echo "
\n"; - -// check dependencies -$user_depends = check_module_depends($selected_users, getModulesDependencies('user')); -if ($user_depends != false) { - $no_depends_user = false; - echo "

\n"; - for ($i = 0; $i < sizeof($user_depends); $i++) { - echo "" . _("Unsolved dependency:") . " " . $user_depends[$i][0] . " (" . - $user_depends[$i][1] . ")" . "
\n"; - } - echo "

\n"; -} - -// check conflicts -$user_conflicts = check_module_conflicts($selected_users, getModulesDependencies('user')); -if ($user_conflicts != false) { - $no_conflicts_user = false; - echo "

\n"; - for ($i = 0; $i < sizeof($user_conflicts); $i++) { - echo "" . _("Conflicting module:") . " " . $user_conflicts[$i][0] . " (" . - $user_conflicts[$i][1] . ")" . "
\n"; - } - echo "

\n"; -} - -// check for base module -$found = false; -for ($i = 0; $i < sizeof($selected_users); $i++) { - if (is_base_module($selected_users[$i], "user")) { - $found = true; - break; - } -} -if (! $found) { - $no_missing_basemodule_user = false; - echo "

\n"; - echo "" . _("No base module selected!") . "
\n"; - echo "

\n"; -} - -echo "

\n"; - -echo "

\n"; - - -// show group modules -echo "
" . _("Group modules") . "\n"; -echo "\n"; - // select boxes - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; -echo "
\n"; - echo "
\n"; - echo "" . _("Selected group modules") . "\n"; - echo "\n"; - echo "
\n"; - echo "
\n"; - echo "

"; - echo ""; - echo "
"; - echo ""; - echo "

\n"; - echo "
\n"; - echo "
\n"; - echo "" . _("Available group modules") . "\n"; - echo "\n"; - echo "
\n"; - echo "
\n"; - -// check dependencies -$group_depends = check_module_depends($selected_groups, getModulesDependencies('group')); -if ($group_depends != false) { - $no_depends_group = false; - echo "

\n"; - for ($i = 0; $i < sizeof($group_depends); $i++) { - echo "" . _("Unsolved dependency:") . " " . $group_depends[$i][0] . " (" . - $group_depends[$i][1] . ")" . "
\n"; - } - echo "

\n"; -} - -// check conflicts -$group_conflicts = check_module_conflicts($selected_groups, getModulesDependencies('group')); -if ($group_conflicts != false) { - $no_conflicts_group = false; - echo "

\n"; - for ($i = 0; $i < sizeof($group_conflicts); $i++) { - echo "" . _("Conflicting module:") . " " . $group_conflicts[$i][0] . " (" . - $group_conflicts[$i][1] . ")" . "
\n"; - } - echo "

\n"; -} - -// check for base module -$found = false; -for ($i = 0; $i < sizeof($selected_groups); $i++) { - if (is_base_module($selected_groups[$i], "group")) { - $found = true; - break; - } -} -if (! $found) { - $no_missing_basemodule_group = false; - echo "

\n"; - echo "" . _("No base module selected!") . "
\n"; - echo "

\n"; -} - -echo "

\n"; - -echo "

\n"; - - -// show host modules -echo "
" . _("Host modules") . "\n"; -echo "\n"; - // select boxes - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; -echo "
\n"; - echo "
\n"; - echo "" . _("Selected host modules") . "\n"; - echo "\n"; - echo "
\n"; - echo "
\n"; - echo "

"; - echo ""; - echo "
"; - echo ""; - echo "

\n"; - echo "
\n"; - echo "
\n"; - echo "" . _("Available host modules") . "\n"; - echo "\n"; - echo "
\n"; - echo "
\n"; - -// check dependencies -$host_depends = check_module_depends($selected_hosts, getModulesDependencies('host')); -if ($host_depends != false) { - $no_depends_host = false; - echo "

\n"; - for ($i = 0; $i < sizeof($host_depends); $i++) { - echo "" . _("Unsolved dependency:") . " " . $host_depends[$i][0] . " (" . - $host_depends[$i][1] . ")" . "
\n"; - } - echo "

\n"; -} - -// check conflicts -$host_conflicts = check_module_conflicts($selected_hosts, getModulesDependencies('host')); -if ($host_conflicts != false) { - $no_conflicts_host = false; - echo "

\n"; - for ($i = 0; $i < sizeof($host_conflicts); $i++) { - echo "" . _("Conflicting module:") . " " . $host_conflicts[$i][0] . " (" . - $host_conflicts[$i][1] . ")" . "
\n"; - } - echo "

\n"; -} - -// check for base module -$found = false; -for ($i = 0; $i < sizeof($selected_hosts); $i++) { - if (is_base_module($selected_hosts[$i], "host")) { - $found = true; - break; - } -} -if (! $found) { - $no_missing_basemodule_host = false; - echo "

\n"; - echo "" . _("No base module selected!") . "
\n"; - echo "

\n"; -} - -echo "

\n"; - - -// submit buttons -echo "

\n"; - // disable button if there are conflicts/depends - if ($no_conflicts_user && $no_depends_user && $no_missing_basemodule_user && - $no_conflicts_group && $no_depends_group && $no_missing_basemodule_group && - $no_conflicts_host && $no_depends_host && $no_missing_basemodule_host) { - echo "\n"; - } - else { - echo "\n"; - } - echo " "; - echo "\n"; -echo "

\n"; - -echo "
\n"; -echo "\n"; -echo "\n"; - -?> - - - - diff --git a/lam/templates/config/confsave.php b/lam/templates/config/confsave.php deleted file mode 100644 index f7cca6ff..00000000 --- a/lam/templates/config/confsave.php +++ /dev/null @@ -1,275 +0,0 @@ -get_Passwd()) { - /** go back to login if password is invalid */ - require('conflogin.php'); - exit; -} - -echo $_SESSION['header']; - -echo "" . _("LDAP Account Manager Configuration") . "\n"; -echo "\n"; -echo "\n"; - -echo ("

". - "\"LDAP




"); - -// remove double slashes if magic quotes are on -if (get_magic_quotes_gpc() == 1) { - $suffusers = stripslashes($suffusers); - $suffgroups = stripslashes($suffgroups); - $suffhosts = stripslashes($suffhosts); - $suffdomains = stripslashes($suffdomains); -} - -// check new preferences -if (!$conf->set_ServerURL($serverurl)) { - echo ("" . _("Server Address is empty!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_cacheTimeout($cachetimeout)) { - echo ("" . _("Cache timeout is invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_Adminstring($admins)) { - echo ("" . _("List of admin users is empty or invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_UserSuffix($suffusers)) { - echo ("" . _("UserSuffix is invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_GroupSuffix($suffgroups)) { - echo ("" . _("GroupSuffix is invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_HostSuffix($suffhosts)) { - echo ("" . _("HostSuffix is invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_DomainSuffix($suffdomains)) { - echo ("" . _("DomainSuffix is invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_userlistAttributes($usrlstattr)) { - echo ("" . _("User list attributes are invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_grouplistAttributes($grplstattr)) { - echo ("" . _("Group list attributes are invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_hostlistAttributes($hstlstattr)) { - echo ("" . _("Host list attributes are invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -if (!$conf->set_MaxListEntries($maxlistentries)) { - echo ("" . _("Max list entries is invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} - -if (!$conf->set_defaultLanguage($lang)) { - echo ("" . _("Language is not defined!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} - -if (!$conf->set_scriptpath($scriptpath)) { - echo ("" . _("Script path is invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} - -if (!$conf->set_scriptserver($scriptserver)) { - echo ("" . _("Script server is invalid!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} - -if (! $conf->set_AccountModules($_SESSION['conf_usermodules'], 'user')) { - echo ("" . _("Saving user modules failed!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} - -if (! $conf->set_AccountModules($_SESSION['conf_groupmodules'], 'group')) { - echo ("" . _("Saving group modules failed!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} - -if (! $conf->set_AccountModules($_SESSION['conf_hostmodules'], 'host')) { - echo ("" . _("Saving host modules failed!") . ""); - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} - -// check module options -// create option array to check and save -$options = array(); -$opt_keys = array_keys($_SESSION['config_types']); -foreach ($opt_keys as $element) { - // text fields - if ($_SESSION['config_types'][$element] == "text") { - $options[$element] = array($_SESSION['config_moduleSettings'][$element]); - } - // checkboxes - elseif ($_SESSION['config_types'][$element] == "checkbox") { - if ($_SESSION['config_moduleSettings'][$element] == "on") $options[$element] = array('true'); - else $options[$element] = array('false'); - } - // dropdownbox - elseif ($_SESSION['config_types'][$element] == "select") { - $options[$element] = array($_SESSION['config_moduleSettings'][$element]); - } - // multiselect - elseif ($_SESSION['config_types'][$element] == "multiselect") { - $options[$element] = $_SESSION['config_moduleSettings'][$element]; // value is already an array - } -} - -// remove double slashes if magic quotes are on -if (get_magic_quotes_gpc() == 1) { - foreach ($opt_keys as $element) { - if (is_string($options[$element][0])) $options[$element][0] = stripslashes($options[$element][0]); - } -} - -// check options -$errors = checkConfigOptions($_SESSION['config_scopes'], $options); -// print error messages if any -if (sizeof($errors) > 0) { - for ($i = 0; $i < sizeof($errors); $i++) { - if (sizeof($errors[$i]) > 3) { // messages with additional variables - StatusMessage($errors[$i][0], $errors[$i][1], $errors[$i][2], $errors[$i][3]); - } - else { - StatusMessage($errors[$i][0], $errors[$i][1], $errors[$i][2]); - } - } - echo ("\n


" . _("Back to preferences...") . ""); - exit; -} -// save module setting -$conf->set_moduleSettings($options); - -// check if password was changed -if ($passwd1) { - if ($passwd1 != $passwd2) { - echo ("" . _("Passwords are different!") . ""); - exit; - } - // set new password - if ($passwd1 != "") { - $conf->set_Passwd($passwd1); - echo ("" . _("Password changed!") . "

"); - } -} - -// save settings and display new settings -$conf->save(); -echo ("" . _("The following settings were saved to profile:") . " " . $filename . "

"); -$conf->printconf(); -echo ("




" . _("Back to Login") . ""); - -echo(""); - -// remove settings from session -unset($_SESSION['conf_passwd']); -unset($_SESSION['conf_passwd1']); -unset($_SESSION['conf_passwd2']); -unset($_SESSION['conf_serverurl']); -unset($_SESSION['conf_cachetimeout']); -unset($_SESSION['conf_admins']); -unset($_SESSION['conf_suffusers']); -unset($_SESSION['conf_suffgroups']); -unset($_SESSION['conf_suffhosts']); -unset($_SESSION['conf_suffdomains']); -unset($_SESSION['conf_usrlstattr']); -unset($_SESSION['conf_grplstattr']); -unset($_SESSION['conf_hstlstattr']); -unset($_SESSION['conf_maxlistentries']); -unset($_SESSION['conf_lang']); -unset($_SESSION['conf_scriptpath']); -unset($_SESSION['conf_scriptserver']); -unset($_SESSION['conf_filename']); -unset($_SESSION['conf_usermodules']); -unset($_SESSION['conf_groupmodules']); -unset($_SESSION['conf_hostmodules']); - -?> diff --git a/lam/templates/config/profmanage.php b/lam/templates/config/profmanage.php deleted file mode 100644 index d623818b..00000000 --- a/lam/templates/config/profmanage.php +++ /dev/null @@ -1,387 +0,0 @@ - - - - <?php - echo _("Profile management"); - ?> - - - - -

- LDAP Account Manager -

-

- -password != $_POST['passwd']) { - $error = _("Master password is wrong!"); - } - // add new profile - elseif ($_POST['action'] == "add") { - if (eregi("^[a-z0-9\-_]+$", $_POST['addprofile']) && !in_array($_POST['addprofile'], getConfigProfiles())) { - // check profile password - if ($_POST['addpassword'] && $_POST['addpassword2'] && ($_POST['addpassword'] == $_POST['addpassword2'])) { - // create new profile file - @copy("../../config/lam.conf_sample", "../../config/" . $_POST['addprofile'] . ".conf"); - @chmod ("../../config/" . $_POST['addprofile'] . ".conf", 0600); - $file = is_file("../../config/" . $_POST['addprofile'] . ".conf"); - if ($file) { - // load as config and write new password - $conf = new Config($_POST['addprofile']); - $conf->Passwd = $_POST['addpassword']; - $conf->save(); - $msg = _("Created new profile."); - } - else $error = _("Unable to create new profile!"); - } - else $error = _("Profile passwords are different or empty!"); - } - else $error = _("Profile name is invalid!"); - } - // rename profile - elseif ($_POST['action'] == "rename") { - if (eregi("^[a-z0-9\-_]+$", $_POST['renfilename']) && !in_array($_POST['renprofile'], getConfigProfiles())) { - if (rename("../../config/" . $_POST['oldfilename'] . ".conf", - "../../config/" . $_POST['renfilename'] . ".conf")) { - $msg = _("Renamed profile."); - } - else $error = _("Could not rename file!"); - } - else $error = _("Profile name is invalid!"); - } - // delete profile - elseif ($_POST['action'] == "delete") { - if (@unlink("../../config/" . $_POST['delfilename'] . ".conf")) { - $msg = _("Profile deleted."); - } - else $error = _("Unable to delete profile!"); - } - // set new profile password - elseif ($_POST['action'] == "setpass") { - if ($_POST['setpassword'] && $_POST['setpassword2'] && ($_POST['setpassword'] == $_POST['setpassword2'])) { - $config = new Config($_POST['setprofile']); - $config->set_Passwd($_POST['setpassword']); - $config->save(); - $msg = _("New password set successfully."); - } - else $error = _("Profile passwords are different or empty!"); - } - // set master password - elseif ($_POST['action'] == "setmasterpass") { - if ($_POST['masterpassword'] && $_POST['masterpassword2'] && ($_POST['masterpassword'] == $_POST['masterpassword2'])) { - $config = new CfgMain(); - $config->password = $_POST['masterpassword']; - $config->save(); - $msg = _("New master password set successfully."); - } - else $error = _("Master passwords are different or empty!"); - } - // set default profile - elseif ($_POST['action'] == "setdefault") { - $config = new CfgMain(); - $config->default = $_POST['defaultfilename']; - $config->save(); - $msg = _("New default profile set successfully."); - } - // print messages - if ($error || $msg) { - if ($error) StatusMessage("ERROR", "", $error); - if ($msg) StatusMessage("INFO", "", $msg); - } - else exit; -} - - -// check if config.cfg is valid -if (!isset($cfg->default) && !isset($cfg->password)) { - StatusMessage("ERROR", _("Please set up your master configuration file (config/config.cfg) first!"), ""); - echo "\n\n"; - die(); -} - -?> - -
- -
- - -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -   - -
   - - -
   - - -
 
- - - - - - - - - -   - -
 
- - - - - - -   - -
 
- - - - - - - - - -   - -
   - - -  
 
 
- - - - - - -    - -
 
- - - - - - - - -   - -
   - - -  
-

-
-

 

- - - - - -   - -   - "> -   - - -
-


- - -

- -

- - - - diff --git a/lam/templates/delete.php b/lam/templates/delete.php deleted file mode 100644 index 13f27e7a..00000000 --- a/lam/templates/delete.php +++ /dev/null @@ -1,248 +0,0 @@ -load_account($_SESSION['delete_dn'][0]); - // Show HTML Page - echo $_SESSION['header']; - echo ""; - echo _("Delete Account"); - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - echo "
"; - echo _('Please confirm:'); - echo "\n"; - echo "\n"; - echo _("Do you really want to remove the following accounts?"); - echo "
\n"; - echo "\n\n"; - echo "\n"; - echo "\n"; - } - echo "
"; - for ($i=0; $i\n"; - echo "" . _("Account name:") . " $users[$i]" . _('DN') . " " . $_SESSION['delete_dn'][$i] . "
\n"; - echo "
\n"; - // Print delete rows from modules - echo "\n
"; - $modules = array_keys($_SESSION['account']->module); - for ($i=0; $imodule[$modules[$i]]->display_html_delete($_POST); - } - echo "
\n"; - echo "
\n"; - echo "\n\n"; - echo "\n"; - echo "
"; - echo "
\n"; - echo "
\n"; - echo "
\n"; - echo "\n"; - echo "\n"; - } - -if ($_POST['cancel']) { - if (isset($_SESSION['delete_dn'])) unset($_SESSION['delete_dn']); - metaRefresh("lists/list" . $_POST['type'] . "s.php"); - } - -if ($_POST['delete']) { - // Show HTML Page - echo $_SESSION['header']; - echo ""; - echo _("Delete Account"); - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - echo "\n"; - echo "
"; - echo _('Deleting. Please stand by ...'); - echo "\n"; - - echo "\n\n"; - echo "\n"; - echo "\n"; - foreach ($errors as $error) StatusMessage($error[0], $error[1], $error[2]); - } - else { - echo "\n"; - echo "\n"; - echo "\n"; - foreach ($errors as $error) StatusMessage($error[0], $error[1], $error[2]); - } - } - echo "
"; - // Delete dns - for ($m=0; $mload_account($_SESSION['delete_dn'][$m]); - // get commands and changes of each attribute - $module = array_keys ($_SESSION['account']->module); - $attributes = array(); - $errors = array(); - // load attributes - foreach ($module as $singlemodule) { - // load changes - $temp = $_SESSION['account']->module[$singlemodule]->delete_attributes($_POST); - if (is_array($temp)) { - // merge changes - $DNs = array_keys($temp); - // *** fixme don't include references - $attributes = array_merge_recursive($temp, $attributes); - for ($i=0; $ildap]->server(), $DNs[$i], $attributes[$DNs[$i]]['modify']); - if (!$success) { - $errors[] = array ('ERROR', 'LDAP', sprintf(_('Was unable to modify attribtues from DN: %s.'), $DNs[$i])); - $stopprocessing = true; - } - else - $_SESSION['cache']->update_cache($DNs[$i], 'modify', $attributes[$DNs[$i]]['modify']); - } - // add attributes - if (isset($attributes[$DNs[$i]]['add']) && !$stopprocessing) { - $success = @ldap_mod_add($_SESSION[$_SESSION['account']->ldap]->server(), $DNs[$i], $attributes[$DNs[$i]]['add']); - if (!$success) { - $errors[] = array ('ERROR', 'LDAP', sprintf(_('Was unable to add attribtues to DN: %s.'), $DNs[$i])); - $stopprocessing = true; - } - else - $_SESSION['cache']->update_cache($DNs[$i], 'add', $attributes[$DNs[$i]]['add']); - } - // removce attributes - if (isset($attributes[$DNs[$i]]['remove']) && !$stopprocessing) { - $success = @ldap_mod_del($_SESSION[$_SESSION['account']->ldap]->server(), $DNs[$i], $attributes[$DNs[$i]]['remove']); - if (!$success) { - $errors[] = array ('ERROR', 'LDAP', sprintf(_('Was unable to remove attribtues from DN: %s.'), $DNs[$i])); - $stopprocessing = true; - } - else - $_SESSION['cache']->update_cache($DNs[$i], 'remove', $attributes[$DNs[$i]]['remove']); - } - } - } - if (!$stopprocessing) { - foreach ($attributes as $DN) { - if (is_array($DN['lamdaemon']['command'])) $result = lamdaemon($DN['lamdaemon']['command']); - // Error somewhere in lamdaemon - foreach ($result as $singleresult) { - if (is_array($singleresult)) { - if ($singleresult[0] = 'ERROR') $stopprocessing = true; - $temparray[0] = $singleresult[0]; - $temparray[1] = _($singleresult[1]); - $temparray[2] = _($singleresult[2]); - } - } - } - } - if (!$stopprocessing) { - $success = @ldap_delete($_SESSION[$_SESSION['account']->ldap]->server(), $_SESSION['delete_dn'][$m]); - if (!$success) $errors[] = array ('ERROR', 'LDAP', sprintf(_('Was unable to remove attribtues from DN: %s.'), $DNs[$i])); - else - $_SESSION['cache']->update_cache($_SESSION['delete_dn'][$m], 'delete_dn'); - } - if (!$stopprocessing) { - echo "
" . sprintf(_('Deleted DN: %s'), $_SESSION['delete_dn'][$m]) . "
" . sprintf(_('Error while deleting DN: %s'), $_SESSION['delete_dn'][$m]) . "
\n"; - echo "
\n"; - echo "\n\n"; - echo "
"; - echo "
\n"; - echo "
\n"; - echo "
\n"; - echo "\n"; - echo "\n"; - - } - -?> diff --git a/lam/templates/domain.php b/lam/templates/domain.php deleted file mode 100644 index 4dd9621a..00000000 --- a/lam/templates/domain.php +++ /dev/null @@ -1,322 +0,0 @@ -get_domainSuffix()); - // get possible suffixes - $domsuff = $_SESSION['ldap']->search_units($_SESSION['config']->get_domainSuffix()); - if ($_GET['action'] == "edit") { - // remove "\'" - $_GET['DN'] = str_replace("\\", "", $_GET['DN']); - $_GET['DN'] = str_replace("'", "", $_GET['DN']); - // load attributes from domain - for ($i = 0; $i < sizeof($domlist); $i++) { - if ($domlist[$i]->dn == $_GET['DN']) { - $domain = $domlist[$i]; - break; - } - } - // get suffix - $tmp_arr = explode(",", $domain->dn); - array_shift($tmp_arr); - $domain_suffix = implode(",", $tmp_arr); - } - else { - $domain = new samba3domain(); - $domain_suffix = $_SESSION['config']->get_domainSuffix(); - } - // display page - echo $_SESSION['header']; - echo "Domain Management\n"; - echo "\n"; - echo "\n"; - echo "\n"; - // print message, if needed - if ($_SESSION['domain_message']) StatusMessage("INFO", $_SESSION['domain_message'], ""); - // print fieldset - echo "
\n"; - echo "

 

\n"; - echo "
\n"; - echo "" . _("Domain Settings") . "\n"; - echo "\n"; - // domain name - echo "\n"; - echo "\n"; - echo "\n"; - echo ("\n"); - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - // domain SID - echo "\n"; - echo "\n"; - echo "\n"; - echo ("\n"); - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - // next RID - echo "\n"; - echo "\n"; - echo "\n"; - echo ("\n"); - echo "\n"; - // next user RID - echo "\n"; - echo "\n"; - echo "\n"; - echo ("\n"); - echo "\n"; - // next group RID - echo "\n"; - echo "\n"; - echo "\n"; - echo ("\n"); - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - // algorithmic RID base - echo "\n"; - echo "\n"; - echo "\n"; - echo ("\n"); - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - // domain suffix - echo "\n"; - echo "\n"; - echo "\n"; - echo ("\n"); - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - echo "" . _("Domain name") . ":\n"; - echo "\n"; - if ($_GET['action'] == "edit") { - echo $domain->name . "\n"; - } - else echo "\n"; - echo "" . _("Help") . "
  
\n"; - echo "" . _("Domain SID") . ": \n"; - echo "\n"; - if ($_GET['action'] == "edit") { - echo $domain->SID . "\n"; - } - else echo "\n"; - echo "" . _("Help") . "
  
" . _("Next RID") . ": \n"; - echo "nextRID . "\">\n"; - echo "" . _("Help") . "
" . _("Next User RID") . ": \n"; - echo "nextUserRID . "\">\n"; - echo "" . _("Help") . "
" . _("Next Group RID") . ": \n"; - echo "nextGroupRID . "\">\n"; - echo "" . _("Help") . "
  
" . _("Algorithmic RID Base") . ": \n"; - if ($_GET['action'] == "edit") echo $domain->RIDbase . "\n"; - else echo "RIDbase . "\">\n"; - echo "" . _("Help") . "
  
\n"; - echo "" . _("Suffix") . ": \n"; - echo "\n"; - echo ""; - echo "" . _("Help") . "
  
\n"; - echo "
\n"; - // post DN and old RID values - echo "dn . "\">"; - echo "nextRID . "\">"; - echo "nextUserRID . "\">"; - echo "nextGroupRID . "\">"; - // edit or add operation - if ($_GET['action'] == "edit") echo ""; - else echo ""; - echo "

 

\n"; - echo "

\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "

\n"; - echo "
\n"; - echo "\n"; - echo "\n"; -} - - -// delete domain, ask if sure -elseif ($_GET['action'] == "delete") { - // remove "\'" and make array - $DNs = str_replace("\\", "", $_GET['DN']); - $DNs = str_replace("'", "", $DNs); - $DNs = explode(";", $DNs); - // display page - echo $_SESSION['header']; - echo "Domain Management\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "

 

\n"; - echo "
" . _("Delete domain(s)") . "\n"; - echo "

" . _("Do you really want to delete domain(s):") . "

\n"; - echo "

 

\n"; - for ($i = 0; $i < sizeof($DNs); $i++) { - echo "

" . $DNs[$i] . "

\n"; - } - echo "

 

\n"; - echo "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - echo "
\n"; - echo "\n"; - echo "\n"; -} - - -// save domain -elseif ($_POST['sub_save']) { - echo $_SESSION['header']; - echo "Domain Management\n"; - echo "\n"; - echo "\n"; - echo "\n"; - // check input - if ($_POST['add']) { // check for existing domains - $suffix = $_SESSION['config']->get_DomainSuffix(); - $server = $_SESSION['ldap']->server; - $filter = "(|(sambasid=" . $_POST['dom_SID'] . ")(sambadomainname=" . $_POST['dom_name'] . "))"; - $sr = @ldap_search($server, $suffix, $filter, array()); - $info = @ldap_get_entries($_SESSION["ldap"]->server, $sr); - } - if ($_POST['add'] && !eregi("^[a-z0-9_\\-]+$", $_POST['dom_name'])) StatusMessage("ERROR", "", _("Domain name is invalid!")); - elseif ($_POST['add'] && !eregi("^S-[0-9]-[0-9]-[0-9]{2,2}-[0-9]*-[0-9]*-[0-9]*$", $_POST['dom_SID'])) { - StatusMessage("ERROR", "", _("Samba 3 domain SID is invalid!")); - } - elseif ($_POST['add'] && ($info["count"] > 0)) { - StatusMessage("ERROR", "", _("This Samba 3 domain is already present!")); - } - elseif ($_POST['dom_nextRID'] && !is_numeric($_POST['dom_nextRID'])) StatusMessage("ERROR", "", _("Next RID is not a number!")); - elseif ($_POST['dom_nextUserRID'] && !is_numeric($_POST['dom_nextUserRID'])) StatusMessage("ERROR", "", _("Next user RID is not a number!")); - elseif ($_POST['dom_nextGroupRID'] && !is_numeric($_POST['dom_nextGroupRID'])) StatusMessage("ERROR", "", _("Next group RID is not a number!")); - elseif ($_POST['add'] && !is_numeric($_POST['dom_RIDbase'])) StatusMessage("ERROR", "", _("Algorithmic RID base is not a number!")); - // edit entry - elseif ($_POST['edit'] == "yes") { - $success = true; - // change attributes - $attr = array(); - if ($_POST['dom_nextRID'] != $_POST['dom_oldnextRID']) $attr['sambaNextRid'] = $_POST['dom_nextRID']; - if ($_POST['dom_nextUserRID'] != $_POST['dom_oldnextUserRID']) $attr['sambaNextUserRid'] = $_POST['dom_nextUserRID']; - if ($_POST['dom_nextGroupRID'] != $_POST['dom_oldnextGroupRID']) $attr['sambaNextGroupRid'] = $_POST['dom_nextGroupRID']; - if (sizeof($attr) > 0) $success = ldap_modify($_SESSION['ldap']->server(), $_POST['dom_DN'], $attr); - // change suffix - $RDN = explode(",", $_POST['dom_DN']); - $RDN = $RDN[0]; - $newDN = $RDN . "," . $_POST['dom_suffix']; - if ($_POST['dom_DN'] != $newDN) { - $success = ldap_rename($_SESSION['ldap']->server(), $_POST['dom_DN'], $RDN, $_POST['dom_suffix'], true); - } - if ($success) StatusMessage("INFO", _("Domain has been modified."), $_POST['dom_DN']); - else StatusMessage("ERROR", "", _("Failed to modify domain!")); - } - // add entry - else { - $DN = "sambaDomainName" . "=" . $_POST['dom_name'] . "," . $_POST['dom_suffix']; - $attr = array(); - $attr['objectclass'] = "sambaDomain"; - $attr['sambaDomainName'] = $_POST['dom_name']; - $attr['sambaSID'] = $_POST['dom_SID']; - if ($_POST['dom_nextRID']) $attr['sambaNextRid'] = $_POST['dom_nextRID']; - if ($_POST['dom_nextGroupRID']) $attr['sambaNextGroupRid'] = $_POST['dom_nextGroupRID']; - if ($_POST['dom_nextUserRID']) $attr['sambaNextUserRid'] = $_POST['dom_nextUserRID']; - $attr['sambaAlgorithmicRidBase'] = $_POST['dom_RIDbase']; - // write to LDAP - if (@ldap_add($_SESSION['ldap']->server(), $DN, $attr)) { - StatusMessage("INFO", "Domain has been created.", $DN); - } - else StatusMessage("ERROR", "", _("Failed to add domain!") . "\n
" . ldap_error($_SESSION['ldap']->server())); - } - echo "

 

\n"; - echo "

" . _("Back to domain list") . "

\n"; - echo "\n"; - echo "\n"; -} - - -// back to list -elseif ($_POST['sub_back']) { - metaRefresh("lists/listdomains.php"); -} - - -// delete domain, user was sure -elseif ($_POST['sub_delete']) { - $DNs = explode(";", $_POST['delDN']); - // display page - echo $_SESSION['header']; - echo "Domain Management\n"; - echo "\n"; - echo "\n"; - echo "\n"; - // delete DNs - for ($i = 0; $i < sizeof($DNs); $i++) { - if (ldap_delete($_SESSION['ldap']->server(), $DNs[$i])) StatusMessage("INFO", _("Domain deleted successfully."), $DNs[$i]); - else StatusMessage("ERROR", _("Unable to delete domain!"), $DNs[$i]); - } - echo "

 

\n"; - echo "

" . _("Back to domain list") . "

\n"; - echo "\n"; - echo "\n"; -} - -?> diff --git a/lam/templates/help.php b/lam/templates/help.php deleted file mode 100644 index b95ceb75..00000000 --- a/lam/templates/help.php +++ /dev/null @@ -1,183 +0,0 @@ - - LDAP Account Manager Help Center - - - - - - -" . $helpEntry['Headline'] . "\n"; - $format = "

" . $helpEntry['Text'] . "

\n"; - array_unshift($helpVariables,$format); - call_user_func_array("printf",$helpVariables); - if(is_array($helpArray['SeeAlso'])) { - while($current = current($helpEntry["SeeAlso"])) - { - echo '

' . (( isset($current['link'])) ? '' : '') . _('See also') . ': ' . $current['text'] . (( isset($current['link'])) ? '' : '') . '

\n'; - next($helpEntry["SeeAlso"]); - } - } - echoHTMLFoot(); - } -} - -/* If no help number was submitted print error message */ -if(!isset($_GET['HelpNumber'])) -{ - $errorMessage = "Sorry no help number submitted."; - echoHTMLHead(); - statusMessage("ERROR","",$errorMessage); - echoHTMLFoot(); - exit; -} - -$helpEntry = array(); - -if(isset($_GET['module'])) { - include_once("../lib/modules.inc"); - if(isset($_GET['scope'])) { - $helpEntry = getHelp($_GET['module'],$_GET['HelpNumber'],$_GET['scope']); - } - else { - $helpEntry = getHelp($_GET['module'],$_GET['HelpNumber']); - } - if(!$helpEntry) { - $variables = array(); - array_push($variables,$_GET['HelpNumber']); - array_push($variables,$_GET['module']); - $errorMessage = _("Sorry this help id ({bold}%s{endbold}) is not available for this module ({bold}%s{endbold})."); - echoHTMLHead(); - statusMessage("ERROR","",$errorMessage,$variables); - echoHTMLFoot(); - exit; - } -} -else { - /* If submitted help number is not in help/help.inc print error message */ - if(!array_key_exists($_GET['HelpNumber'],$helpArray)) - { - $variables = array(); - array_push($variables,$_GET['HelpNumber']); - $errorMessage = _("Sorry this help number ({bold}%d{endbold}) is not available."); - echoHTMLHead(); - statusMessage("ERROR","",$errorMessage,$variables); - echoHTMLFoot(); - exit; - } - else { - $helpEntry = $helpArray[$_GET['HelpNumber']]; - } -} - -$i = 1; -$moreVariables = true; -$helpVariables = array(); -while($moreVariables) { - if(isset($_GET['var' . $i])) { - array_push($helpVariables,$_GET['var' . $i]); - $i++; - } - else { - $moreVariables = false; - } -} - -displayHelp($helpEntry,$helpVariables); - -?> \ No newline at end of file diff --git a/lam/templates/initsuff.php b/lam/templates/initsuff.php deleted file mode 100644 index d4777baf..00000000 --- a/lam/templates/initsuff.php +++ /dev/null @@ -1,197 +0,0 @@ -server, $new_suff[$i], "", array()); - $res = @ldap_get_entries($_SESSION['ldap']->server, $info); - if ($res) continue; - $suff = $new_suff[$i]; - // generate DN and attributes - $tmp = explode(",", $suff); - $name = explode("=", $tmp[0]); - array_shift($tmp); - $end = implode(",", $tmp); - if ($name[0] != "ou") { // add root entry - $attr = array(); - $attr[$name[0]] = $name[1]; - $attr['objectClass'] = 'organization'; - $dn = $suff; - if (!@ldap_add($_SESSION['ldap']->server(), $dn, $attr)) { - $fail[] = $suff; - continue; - } - } - else { // add organizational unit - $name = $name[1]; - $attr = array(); - $attr['objectClass'] = "organizationalunit"; - $attr['ou'] = $name; - $dn = $suff; - if (!@ldap_add($_SESSION['ldap']->server(), $dn, $attr)) { - // check if we have to add parent entries - if (ldap_errno($_SESSION['ldap']->server()) == 32) { - $temp = explode(",", $suff); - $subsuffs = array(); - // make list of subsuffixes - for ($k = 0; $k < sizeof($temp); $k++) { - $part = explode("=", $temp[$k]); - if ($part[0] == "ou") $subsuffs[] = implode(",", array_slice($temp, $k)); - else { - $subsuffs[] = implode(",", array_slice($temp, $k)); - break; - } - } - // create missing entries - for ($k = sizeof($subsuffs) - 1; $k >= 0; $k--) { - // check if subsuffix is present - $info = @ldap_search($_SESSION['ldap']->server, $subsuffs[$k], "", array()); - $res = @ldap_get_entries($_SESSION['ldap']->server, $info); - if (!$res) { - $suffarray = explode(",", $subsuffs[$k]); - $headarray = explode("=", $suffarray[0]); - if ($headarray[0] == "ou") { // add ou entry - $attr = array(); - $attr['objectClass'] = 'organizationalunit'; - $attr['ou'] = $headarray[1]; - $dn = $subsuffs[$k]; - if (!@ldap_add($_SESSION['ldap']->server(), $dn, $attr)) { - $fail[] = $suff; - $error[] = ldap_error($_SESSION['ldap']->server()); - break; - } - } - else { // add root entry - $attr = array(); - $attr['objectClass'][] = 'organization'; - $attr[$headarray[0]] = $headarray[1]; - if ($headarray[0] == "dc") { - $attr['o'] = $headarray[1]; - $attr['objectClass'][] = 'dcObject'; - } - $dn = $subsuffs[$k]; - if (!@ldap_add($_SESSION['ldap']->server(), $dn, $attr)) { - $fail[] = $suff; - $error[] = ldap_error($_SESSION['ldap']->server()); - break; - } - } - } - } - } - else { - $fail[] = $suff; - $error[] = ldap_error($_SESSION['ldap']->server()); - } - } - } - } - } - echo $_SESSION['header']; - echo "initsuff\n"; - echo "\n"; - echo "\n\n"; - // print error/success messages - if ($_POST['add_suff']) { - if (sizeof($fail) > 0) { - // print error messages - for ($i = 0; $i < sizeof($fail); $i++) { - StatusMessage("ERROR", _("Failed to create entry!") . "
" . $error[$i], $fail[$i]); - } - echo "

 

\n"; - echo "" . _("User list") . "\n"; - echo "\n"; - } - else { - // print success message - StatusMessage("INFO", "", _("All changes were successful.")); - echo "

 

\n"; - echo "" . _("User list") . "\n"; - echo "\n"; - } - } - else { - // no suffixes were created - StatusMessage("INFO", "", _("No changes were made.")); - echo "

 

\n"; - echo "" . _("User list") . "\n"; - echo "\n"; - } - exit; -} - -// first show of page -$new_suff = $_GET['suffs']; -$new_suff = str_replace("\\", "", $new_suff); -$new_suff = str_replace("'", "", $new_suff); -$new_suff = explode(";", $new_suff); - -echo $_SESSION['header']; -echo "initsuff\n"; -echo "\n"; -echo "\n"; - echo "

 

\n"; - echo "

" . _("The following suffix(es) are missing in LDAP. LAM can create them for you.") . "

\n"; - echo "

 

\n"; - // print missing suffixes - for ($i = 0; $i < sizeof($new_suff); $i++) { - echo "

" . $new_suff[$i] . "

\n"; - } - echo "

 

\n"; - echo "
\n"; - echo "\n"; - echo ""; - echo ""; - echo "
\n"; -echo "\n"; -?> diff --git a/lam/templates/lists/listdomains.php b/lam/templates/lists/listdomains.php deleted file mode 100644 index 38328937..00000000 --- a/lam/templates/lists/listdomains.php +++ /dev/null @@ -1,227 +0,0 @@ -listdomains\n"; -echo "\n"; -echo "\n"; -echo "\n"; - -// get current page -$page = $_GET["page"]; -if (!$page) $page = 1; -// take maximum count of domain entries shown on one page out of session -if ($_SESSION["config"]->get_MaxListEntries() <= 0) - $max_page_entries = 10; // default setting, if not yet set -else - $max_page_entries = $_SESSION["config"]->get_MaxListEntries(); - - -// generate attribute and description tables -$attr_array = array(); // list of LDAP attributes to show -$desc_array = array(); // list of descriptions for the attributes -$attr_array[] = "sambaDomainName"; -$attr_array[] = "sambaSID"; -$attr_array[] = "dn"; -$desc_array[] = strtoupper(_("Domain name")); -$desc_array[] = strtoupper(_("Domain SID")); -$desc_array[] = "DN"; - -// check search suffix -if ($_POST['dom_suffix']) $dom_suffix = $_POST['dom_suffix']; // new suffix selected via combobox -elseif ($_SESSION['dom_suffix']) $dom_suffix = $_SESSION['dom_suffix']; // old suffix from session -else $dom_suffix = $_SESSION["config"]->get_DomainSuffix(); // default suffix - -// first time page is shown -if (! $_GET['norefresh']) { - // configure search filter - $filter = "(objectClass=sambaDomain)"; - $attrs = $attr_array; - $sr = @ldap_search($_SESSION["ldap"]->server(), $dom_suffix, $filter, $attrs); - if (ldap_errno($_SESSION["ldap"]->server()) == 4) { - StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem.")); - } - if ($sr) { - $dom_info = ldap_get_entries($_SESSION["ldap"]->server, $sr); - ldap_free_result($sr); - if ($dom_info["count"] == 0) StatusMessage("WARN", "", _("No Samba Domains found!")); - // delete first array entry which is "count" - unset($dom_info['count']); - // sort rows by sort column ($sort) - $dom_info = listSort($sort, $attr_array, $dom_info); - } - else StatusMessage("ERROR", _("LDAP Search failed! Please check your preferences."), _("No Samba Domains found!")); -} -// use search result from session -else { - if (sizeof($dom_info) == 0) StatusMessage("WARN", "", _("No Samba Domains found!")); - // sort rows by sort column ($sort) - if ($dom_info) $dom_info = listSort($sort, $attr_array, $dom_info); -} - -echo ("
\n"); - -// draw navigation bar if domain accounts were found -if (sizeof($dom_info) > 0) { -listDrawNavigationBar(sizeof($dom_info), $max_page_entries, $page, $sort, '', "domain", _("%s Samba domain(s) found")); -echo ("
\n"); -} - -// print domain table header -echo "\n"; -echo ""; -// table header -for ($k = 0; $k < sizeof($desc_array); $k++) { - if (strtolower($attr_array[$k]) == $sort) { - echo ""; - } - else echo ""; -} -echo "\n"; - -// calculate which rows to show -$table_begin = ($page - 1) * $max_page_entries; -if (($page * $max_page_entries) > sizeof($dom_info)) $table_end = sizeof($dom_info); -else $table_end = ($page * $max_page_entries); - -// print domain list -for ($i = $table_begin; $i < $table_end; $i++) { - echo("" . - " " . - " "); - for ($k = 0; $k < sizeof($attr_array); $k++) { - echo (""); - } - echo("\n"); -} -echo ("
" . $desc_array[$k] . "" . $desc_array[$k] . "
" . _("Edit") . ""); - // print all attribute entries seperated by "; " - if (sizeof($dom_info[$i][strtolower($attr_array[$k])]) > 0) { - // delete first array entry which is "count" - if (is_array($dom_info[$i][strtolower($attr_array[$k])])) unset($dom_info[$i][strtolower($attr_array[$k])]['count']); - if (is_array($dom_info[$i][strtolower($attr_array[$k])])) echo implode("; ", $dom_info[$i][strtolower($attr_array[$k])]); - else echo $dom_info[$i][strtolower($attr_array[$k])]; - } - echo ("
"); - -echo ("
"); - -// draw navigation bar if domain accounts were found -if (sizeof($dom_info) > 0) { -listDrawNavigationBar(sizeof($dom_info), $max_page_entries, $page, $sort, '', "domain", _("%s Samba domain(s) found")); -echo ("
\n"); -} - -if (! $_GET['norefresh']) { - // generate list of possible suffixes -$dom_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_DomainSuffix()); -} - -// print combobox with possible sub-DNs -if (sizeof($dom_units) > 1) { - echo ("

\n"); - echo ("" . _("Suffix") . ": "); - echo ("\n"); - echo (""); - echo ("

\n"); - echo ("

 

\n"); -} - -echo ("

\n"); -echo ("\n"); -if (sizeof($dom_info) > 0) echo ("\n"); -echo ("

\n"); - -echo ("
\n"); -echo "\n"; - - - -// save variables to session -$_SESSION['dom_info'] = $dom_info; -$_SESSION['dom_units'] = $dom_units; -$_SESSION['dom_suffix'] = $dom_suffix; - -?> diff --git a/lam/templates/lists/listgroups.php b/lam/templates/lists/listgroups.php deleted file mode 100644 index 27f750ca..00000000 --- a/lam/templates/lists/listgroups.php +++ /dev/null @@ -1,331 +0,0 @@ - 0) { - metaRefresh("../delete.php?type=group"); - exit; - } - } - // PDF for selected groups - elseif ($_POST['pdf_group']){ - $pdf_structure = $_POST['pdf_structure']; - // search for checkboxes - $groups = array_keys($_POST, "on"); - $list = array(); - // load groups from LDAP - for ($i = 0; $i < sizeof($groups); $i++) { - $_SESSION["accountPDF-$i"] = new accountContainer("group", "accountPDF-$i"); - $_SESSION["accountPDF-$i"]->load_account($groups[$i]); - $list[$i] = $_SESSION["accountPDF-$i"]; - } - if (sizeof($list) > 0) { - createModulePDF($list,$pdf_structure); - exit; - } - } - // PDF for all groups - elseif ($_POST['pdf_all']){ - $list = array(); - for ($i = 0; $i < sizeof($_SESSION['grp_info']); $i++) { - $_SESSION["accountPDF-$i"] = new accountContainer("group", "accountPDF-$i"); - $_SESSION["accountPDF-$i"]->load_account($_SESSION['grp_info'][$i]['dn']); - $list[$i] = $_SESSION["accountPDF-$i"]; - } - if (sizeof($list) > 0) { - createModulePDF($list,$_POST['pdf_structure']); - exit; - } - } -} - -echo $_SESSION['header']; -echo "listgroups\n"; -echo "\n"; -echo "\n"; -echo "\n"; - -// generate attribute-description table -$attr_array = array(); // list of LDAP attributes to show -$desc_array = array(); // list of descriptions for the attributes -$attr_string = $_SESSION["config"]->get_grouplistAttributes(); -$temp_array = explode(";", $attr_string); -$hash_table = listGetAttributeGroupArray(); - -// get current page -$page = $_GET["page"]; -if (!$page) $page = 1; -// take maximum count of group entries shown on one page out of session -if ($_SESSION["config"]->get_MaxListEntries() <= 0) - $max_page_entries = 10; // default setting, if not yet set -else - $max_page_entries = $_SESSION["config"]->get_MaxListEntries(); - -// generate column attributes and descriptions -for ($i = 0; $i < sizeof($temp_array); $i++) { - // if value is predifined, look up description in hash_table - if (substr($temp_array[$i],0,1) == "#") { - $attr = strtolower(substr($temp_array[$i],1)); - $attr_array[$i] = $attr; - if ($hash_table[$attr]) $desc_array[] = strtoupper($hash_table[$attr]); - else $desc_array[] = strtoupper($attr); - } - // if not predefined, the attribute is seperated by a ":" from description - else { - $attr = explode(":", $temp_array[$i]); - $attr_array[$i] = $attr[0]; - if ($attr[1]) $desc_array[$i] = strtoupper($attr[1]); - else $desc_array[$i] = strtoupper($attr[0]); - } -} - -// check search suffix -if ($_POST['grp_suffix']) $grp_suffix = $_POST['grp_suffix']; // new suffix selected via combobox -elseif ($_SESSION['grp_suffix']) $grp_suffix = $_SESSION['grp_suffix']; // old suffix from session -else $grp_suffix = $_SESSION["config"]->get_GroupSuffix(); // default suffix - -// generate search filter for sort links -$searchFilter = ""; -for ($k = 0; $k < sizeof($desc_array); $k++) { - if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])])) { - $searchFilter = $searchFilter . "&filter" . strtolower($attr_array[$k]) . "=". - $_POST["filter" . strtolower($attr_array[$k])]; - } -} - -if (! $_GET['norefresh']) { - // configure search filter - $module_filter = get_ldap_filter("group"); // basic filter is provided by modules - $filter = "(&" . $module_filter; - for ($k = 0; $k < sizeof($desc_array); $k++) { - if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])])) - $filter = $filter . "(" . strtolower($attr_array[$k]) . "=" . - $_POST["filter" . strtolower($attr_array[$k])] . ")"; - else - $_POST["filter" . strtolower($attr_array[$k])] = ""; - } - $filter = $filter . ")"; - $attrs = $attr_array; - $sr = @ldap_search($_SESSION["ldap"]->server(), $grp_suffix, $filter, $attrs); - if (ldap_errno($_SESSION["ldap"]->server()) == 4) { - StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem.")); - } - if ($sr) { - $grp_info = ldap_get_entries($_SESSION["ldap"]->server, $sr); - ldap_free_result($sr); - if ($grp_info["count"] == 0) StatusMessage("WARN", "", _("No Groups found!")); - // delete first array entry which is "count" - unset($grp_info['count']); - // sort rows by sort column ($sort) - $grp_info = listSort($sort, $attr_array, $grp_info); - } - else { - $grp_info = array(); - $_SESSION['grp_info'] = array(); - StatusMessage("ERROR", _("LDAP Search failed! Please check your preferences."), _("No Groups found!")); - } -} -else { - if (sizeof($grp_info) == 0) StatusMessage("WARN", "", _("No Groups found!")); - // sort rows by sort column ($sort) - if ($grp_info) $grp_info =listSort($sort, $attr_array, $grp_info); -} - -echo ("
\n"); - -// draw navigation bar if group accounts were found -if (sizeof($grp_info) > 0) { -listDrawNavigationBar(sizeof($grp_info), $max_page_entries, $page, $sort, $searchFilter, "group", _("%s group(s) found")); -echo ("
"); -} - -// account table head -listPrintTableHeader("group", $searchFilter, $desc_array, $attr_array, $_POST, $sort); - -// calculate which rows to show -$table_begin = ($page - 1) * $max_page_entries; -if (($page * $max_page_entries) > sizeof($grp_info)) $table_end = sizeof($grp_info); -else $table_end = ($page * $max_page_entries); - -if (sizeof($grp_info) > 0) { - // print group list - for ($i = $table_begin; $i < $table_end; $i++) { - echo(""); - if ($_GET['selectall'] == "yes") { - echo " "; - } - else { - echo " "; - } - echo (" " . _("Edit") . ""); - for ($k = 0; $k < sizeof($attr_array); $k++) { - echo (""); - // print all attribute entries seperated by "; " - if (sizeof($grp_info[$i][strtolower($attr_array[$k])]) > 0) { - // delete first array entry which is "count" - if (is_array($grp_info[$i][strtolower($attr_array[$k])])) unset($grp_info[$i][strtolower($attr_array[$k])]['count']); - // generate links for group members - if (strtolower($attr_array[$k]) == "memberuid") { - // sort array - sort($grp_info[$i][strtolower($attr_array[$k])]); - // make a link for each member of the group - $linklist = array(); - for ($d = 0; $d < sizeof($grp_info[$i][strtolower($attr_array[$k])]); $d++) { - $user = $grp_info[$i][strtolower($attr_array[$k])][$d]; // user name - $linklist[$d] = "" . $user . ""; - } - echo implode("; ", $linklist); - } - // print all other attributes - else { - if (is_array($grp_info[$i][strtolower($attr_array[$k])])) { - // delete "count" entry - unset($grp_info[$i][strtolower($attr_array[$k])]['count']); - // sort array - sort($grp_info[$i][strtolower($attr_array[$k])]); - echo implode("; ", $grp_info[$i][strtolower($attr_array[$k])]); - } - else echo $grp_info[$i][strtolower($attr_array[$k])]; - } - } - echo (""); - } - echo("\n"); - } - // display select all link - $colspan = sizeof($attr_array) + 1; - echo "\n"; - echo "\"select\n"; - echo " " . - "" . _("Select all") . "\n"; - echo "\n"; -} -echo (""); -echo ("
"); - -// draw navigation bar if group accounts were found -if (sizeof($grp_info) > 0) { -listDrawNavigationBar(sizeof($grp_info), $max_page_entries, $page, $sort, $searchFilter, "group", _("%s group(s) found")); -echo ("
\n"); -} - -if (! $_GET['norefresh']) { - // generate list of possible suffixes - $grp_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_GroupSuffix()); -} - -// print combobox with possible sub-DNs -if (sizeof($grp_units) > 1) { - echo ("

\n"); - echo ("" . _("Suffix") . ": "); - echo ("\n"); - echo (""); - echo ("

\n"); - echo ("

 

\n"); -} - -echo ("\n"); -if (sizeof($grp_info) > 0) { - echo ("\n"); - echo ("


\n"); - echo "
PDF\n"; - echo ("" . _('PDF structure') . ":      \n"; - echo ("\n"); - echo " "; - echo ("\n"); - echo "
"; -} - -echo ("
\n"); -echo "\n"; - -// save variables to session -$_SESSION['grp_info'] = $grp_info; -$_SESSION['grp_units'] = $grp_units; -$_SESSION['grp_suffix'] = $grp_suffix; - -?> diff --git a/lam/templates/lists/listhosts.php b/lam/templates/lists/listhosts.php deleted file mode 100644 index e6f7c3fd..00000000 --- a/lam/templates/lists/listhosts.php +++ /dev/null @@ -1,316 +0,0 @@ - 0) { - metaRefresh("../delete.php?type=host"); - exit; - } - } - // PDF for selected hosts - elseif ($_POST['pdf_host']){ - $pdf_structure = $_POST['pdf_structure']; - // search for checkboxes - $hosts = array_keys($_POST, "on"); - $list = array(); - // load hosts from LDAP - for ($i = 0; $i < sizeof($hosts); $i++) { - $_SESSION["accountPDF-$i"] = new accountContainer("host", "accountPDF-$i"); - $_SESSION["accountPDF-$i"]->load_account($hosts[$i]); - $list[$i] = $_SESSION["accountPDF-$i"]; - } - if (sizeof($list) > 0) { - createModulePDF($list,$pdf_structure); - exit; - } - } - // PDF for all hosts - elseif ($_POST['pdf_all']){ - $list = array(); - for ($i = 0; $i < sizeof($_SESSION['hst_info']); $i++) { - $_SESSION["accountPDF-$i"] = new accountContainer("host", "accountPDF-$i"); - $_SESSION["accountPDF-$i"]->load_account($_SESSION['hst_info'][$i]['dn']); - $list[$i] = $_SESSION["accountPDF-$i"]; - } - if (sizeof($list) > 0) { - createModulePDF($list,$_POST['pdf_structure']); - exit; - } - } -} - -echo $_SESSION['header']; -echo "listhosts\n"; -echo "\n"; -echo "\n"; -echo "\n"; - -// generate attribute-description table -$attr_array = array(); // list of LDAP attributes to show -$desc_array = array(); // list of descriptions for the attributes -$attr_string = $_SESSION["config"]->get_hostlistAttributes(); -$temp_array = explode(";", $attr_string); -$hash_table = listGetAttributeHostArray(); - -// get current page -$page = $_GET["page"]; -if (!$page) $page = 1; -// take maximum count of host entries shown on one page out of session -if ($_SESSION["config"]->get_MaxListEntries() <= 0) - $max_page_entries = 10; // default setting, if not yet set -else - $max_page_entries = $_SESSION["config"]->get_MaxListEntries(); - -// generate column attributes and descriptions -for ($i = 0; $i < sizeof($temp_array); $i++) { -// if value is predifined, look up description in hash_table -if (substr($temp_array[$i],0,1) == "#") { - $attr = strtolower(substr($temp_array[$i],1)); - $attr_array[$i] = $attr; - if ($hash_table[$attr]) $desc_array[] = strtoupper($hash_table[$attr]); - else $desc_array[] = strtoupper($attr); -} -// if not predefined, the attribute is seperated by a ":" from description -else { - $attr = explode(":", $temp_array[$i]); - $attr_array[$i] = $attr[0]; - if ($attr[1]) $desc_array[$i] = strtoupper($attr[1]); - else $desc_array[$i] = strtoupper($attr[0]); -} -} - -// check search suffix -if ($_POST['hst_suffix']) $hst_suffix = $_POST['hst_suffix']; // new suffix selected via combobox -elseif ($_SESSION['hst_suffix']) $hst_suffix = $_SESSION['hst_suffix']; // old suffix from session -else $hst_suffix = $_SESSION["config"]->get_HostSuffix(); // default suffix - -// generate search filter for sort links -$searchFilter = ""; -for ($k = 0; $k < sizeof($desc_array); $k++) { - if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])])) { - $searchFilter = $searchFilter . "&filter" . strtolower($attr_array[$k]) . "=". - $_POST["filter" . strtolower($attr_array[$k])]; - } -} - -if (! $_GET['norefresh']) { - // configure search filter - $module_filter = get_ldap_filter("host"); // basic filter is provided by modules - $filter = "(&" . $module_filter; - for ($k = 0; $k < sizeof($desc_array); $k++) { - if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])])) - $filter = $filter . "(" . strtolower($attr_array[$k]) . "=" . - $_POST["filter" . strtolower($attr_array[$k])] . ")"; - else - $_POST["filter" . strtolower($attr_array[$k])] = ""; - } - $filter = $filter . ")"; - $attrs = $attr_array; - $sr = @ldap_search($_SESSION["ldap"]->server(), $hst_suffix, $filter, $attrs); - if (ldap_errno($_SESSION["ldap"]->server()) == 4) { - StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem.")); - } - if ($sr) { - $hst_info = ldap_get_entries($_SESSION["ldap"]->server, $sr); - ldap_free_result($sr); - if ($hst_info["count"] == 0) StatusMessage("WARN", "", _("No Samba Hosts found!")); - // delete first array entry which is "count" - unset($hst_info['count']); - // sort rows by sort column ($sort) - $hst_info = listSort($sort, $attr_array, $hst_info); - } - else { - $hst_info = array(); - $_SESSION['hst_info'] = array(); - StatusMessage("ERROR", _("LDAP Search failed! Please check your preferences."), _("No Samba Hosts found!")); - } -} -else { - if (sizeof($hst_info) == 0) StatusMessage("WARN", "", _("No Samba Hosts found!")); - // sort rows by sort column ($sort) - if ($hst_info) $hst_info = listSort($sort, $attr_array, $hst_info); -} - -echo ("
\n"); - -// draw navigation bar if host accounts were found -if (sizeof($hst_info) > 0) { -listDrawNavigationBar(sizeof($hst_info), $max_page_entries, $page, $sort, $searchFilter, "host", _("%s host(s) found")); -echo ("
\n"); -} - -// account table head -listPrintTableHeader("host", $searchFilter, $desc_array, $attr_array, $_POST, $sort); - -// calculate which rows to show -$table_begin = ($page - 1) * $max_page_entries; -if (($page * $max_page_entries) > sizeof($hst_info)) $table_end = sizeof($hst_info); -else $table_end = ($page * $max_page_entries); - -if (sizeof($hst_info) > 0) { - // print host list - for ($i = $table_begin; $i < $table_end; $i++) { - echo(""); - if ($_GET['selectall'] == "yes") { - echo " "; - } - else { - echo " "; - } - echo (" " . _("Edit") . ""); - for ($k = 0; $k < sizeof($attr_array); $k++) { - echo (""); - // print all attribute entries seperated by "; " - if (sizeof($hst_info[$i][strtolower($attr_array[$k])]) > 0) { - // delete "count" entry - unset($hst_info[$i][strtolower($attr_array[$k])]['count']); - if (is_array($hst_info[$i][strtolower($attr_array[$k])])) { - // sort array - sort($hst_info[$i][strtolower($attr_array[$k])]); - echo implode("; ", $hst_info[$i][strtolower($attr_array[$k])]); - } - else echo $hst_info[$i][strtolower($attr_array[$k])]; - } - echo (""); - } - echo("\n"); - } - // display select all link - $colspan = sizeof($attr_array) + 1; - echo "\n"; - echo "\"select\n"; - echo " " . - "" . _("Select all") . "\n"; - echo "\n"; -} -echo (""); - -echo ("
"); - -// draw navigation bar if host accounts were found -if (sizeof($hst_info) > 0) { -listDrawNavigationBar(sizeof($hst_info), $max_page_entries, $page, $sort, $searchFilter, "host", _("%s host(s) found")); -echo ("
\n"); -} - -if (! $_GET['norefresh']) { - // generate list of possible suffixes -$hst_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_HostSuffix()); -} - -// print combobox with possible sub-DNs -if (sizeof($hst_units) > 1) { -echo ("

\n"); -echo ("" . _("Suffix") . ": "); -echo ("\n"); -echo (""); -echo ("

\n"); -echo ("

 

\n"); -} - -// add/delete/PDF buttons -echo ("\n"); -if (sizeof($hst_info) > 0) { - echo ("\n"); - echo ("


\n"); - echo "
PDF\n"; - echo ("" . _('PDF structure') . ":      \n"; - echo ("\n"); - echo " "; - echo ("\n"); - echo "
"; -} - -echo ("
\n"); -echo "\n"; - -// save variables to session -$_SESSION['hst_info'] = $hst_info; -$_SESSION['hst_units'] = $hst_units; -$_SESSION['hst_suffix'] = $hst_suffix; - -?> diff --git a/lam/templates/lists/listusers.php b/lam/templates/lists/listusers.php deleted file mode 100644 index 4a86f6f0..00000000 --- a/lam/templates/lists/listusers.php +++ /dev/null @@ -1,381 +0,0 @@ -get_groupSuffix(); - $filter = "objectClass=posixGroup"; - $attrs = array("cn", "gidNumber"); - $sr = @ldap_search($_SESSION["ldap"]->server(), $suffix, $filter, $attrs); - if ($sr) { - $info = @ldap_get_entries($_SESSION["ldap"]->server(), $sr); - unset($info['count']); // delete count entry - for ($i = 0; $i < sizeof($info); $i++) { - $trans_primary_hash[$info[$i]['gidnumber'][0]] = $info[$i]['cn'][0]; - } - $_SESSION['trans_primary_hash'] = $trans_primary_hash; - } -} - - -$usr_units = $_SESSION['usr_units']; - -// check if button was pressed and if we have to add/delete a user or create a PDF -if ($_POST['new_user'] || $_POST['del_user'] || $_POST['pdf_user'] || $_POST['pdf_all']){ - // add new user - if ($_POST['new_user']){ - metaRefresh("../account/edit.php?type=user"); - exit; - } - // delete user(s) - elseif ($_POST['del_user']){ - // search for checkboxes - while ($entry = @array_pop($_POST)) { - if (eregi("^uid=.*$", $entry)) $users[] = $entry; - } - $_SESSION['delete_dn'] = $users; - if (sizeof($users) > 0) { - metaRefresh("../delete.php?type=user"); - exit; - } - } - // PDF for selected users - elseif ($_POST['pdf_user']){ - $pdf_structure = $_POST['pdf_structure']; - // search for checkboxes - while ($entry = @array_pop($_POST)) { - if (eregi("^uid=.*$", $entry)) $users[] = $entry; - } - $list = array(); - // load users from LDAP - for ($i = 0; $i < sizeof($users); $i++) { - $_SESSION["accountPDF-$i"] = new accountContainer("user", "accountPDF-$i"); - $_SESSION["accountPDF-$i"]->load_account($users[$i]); - $list[$i] = $_SESSION["accountPDF-$i"]; - } - if (sizeof($list) > 0) { - createModulePDF($list,$pdf_structure); - exit; - } - } - // PDF for all users - elseif ($_POST['pdf_all']){ - $list = array(); - for ($i = 0; $i < sizeof($_SESSION['userlist']); $i++) { - $_SESSION["accountPDF-$i"] = new accountContainer("user", "accountPDF-$i"); - $_SESSION["accountPDF-$i"]->load_account($_SESSION['usr_info'][$i]['dn']); - $list[$i] = $_SESSION["accountPDF-$i"]; - } - if (sizeof($list) > 0) { - createModulePDF($list,$_POST['pdf_structure']); - exit; - } - } -} - -echo $_SESSION['header']; - -echo "listusers\n"; -echo "\n"; -echo "\n"; -echo "\n"; - -$page = $_GET["page"]; -if (!$page) $page = 1; - -// take maximum count of user entries shown on one page out of session -if ($_SESSION["config"]->get_MaxListEntries() <= 0) { - $max_page_entries = 10; // default setting, if not yet set -} -else $max_page_entries = $_SESSION["config"]->get_MaxListEntries(); - -// generate attribute-description table -$attr_array = array(); // list of LDAP attributes to show -$desc_array = array(); // list of descriptions for the attributes -$attr_string = $_SESSION["config"]->get_userlistAttributes(); -$temp_array = explode(";", $attr_string); -$hash_table = listGetAttributeUserArray(); - -// generate column attributes and descriptions -for ($i = 0; $i < sizeof($temp_array); $i++) { - // if value is predifined, look up description in hash_table - if (substr($temp_array[$i],0,1) == "#") { - $attr = strtolower(substr($temp_array[$i],1)); - $attr_array[$i] = $attr; - if ($hash_table[$attr]) $desc_array[] = strtoupper($hash_table[$attr]); - else $desc_array[] = strtoupper($attr); - } - // if not predefined, the attribute is seperated by a ":" from description - else { - $attr = explode(":", $temp_array[$i]); - $attr_array[$i] = $attr[0]; - if ($attr[1]) $desc_array[$i] = strtoupper($attr[1]); - else $desc_array[$i] = strtoupper($attr[0]); - } -} - -$sort = $_GET["sort"]; -if (!$sort) - $sort = strtolower($attr_array[0]); - -// check search suffix -if ($_POST['usr_suffix']) $usr_suffix = $_POST['usr_suffix']; // new suffix selected via combobox -elseif ($_SESSION['usr_suffix']) $usr_suffix = $_SESSION['usr_suffix']; // old suffix from session -else $usr_suffix = $_SESSION["config"]->get_UserSuffix(); // default suffix - - -// generate search filter for sort links -$searchFilter = ""; -for ($k = 0; $k < sizeof($desc_array); $k++) { - if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])])) { - $searchFilter = $searchFilter . "&filter" . - strtolower($attr_array[$k]) . "=". - $_POST["filter" . strtolower($attr_array[$k])]; - } -} - -// configure search filter for LDAP -$module_filter = get_ldap_filter("user"); // basic filter is provided by modules -$filter = "(&" . $module_filter; // users do not end with "$" -for ($k = 0; $k < sizeof($desc_array); $k++) { - if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])])) - $filter = $filter . "(" . strtolower($attr_array[$k]) . "=" . - $_POST["filter" . strtolower($attr_array[$k])] . ")"; - else - $_POST["filter" . strtolower($attr_array[$k])] = ""; -} -$filter = $filter . ")"; - -// read entries only from ldap server if not yet stored in session or if refresh -// button is pressed or if filter is applied -if ($_SESSION["userlist"] && $_GET["norefresh"]) { - $_SESSION["userlist"] = listSort($sort, $attr_array, $_SESSION["userlist"]); - $userinfo = $_SESSION["userlist"]; -} -else { - $attrs = $attr_array; - $sr = @ldap_search($_SESSION["ldap"]->server(), $usr_suffix, $filter, $attrs); - if (ldap_errno($_SESSION["ldap"]->server()) == 4) { - StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem.")); - } - if ($sr) { - $userinfo = ldap_get_entries ($_SESSION["ldap"]->server, $sr); - ldap_free_result ($sr); - if ($userinfo["count"] == 0) StatusMessage("WARN", "", _("No Users found!")); - // delete first array entry which is "count" - unset($userinfo['count']); - $userinfo = listSort($sort, $attr_array, $userinfo); - $_SESSION["userlist"] = $userinfo; - } - else { - $_SESSION['userlist'] = array(); - $userinfo = array(); - StatusMessage("ERROR", - _("LDAP Search failed! Please check your preferences."), - _("No Users found!")); - } -} - -$user_count = sizeof ($_SESSION["userlist"]); - -echo ("
\n"); - -// display table only if users exist in LDAP -if ($user_count != 0) { - // create navigation bar on top of user table - listDrawNavigationBar($user_count, $max_page_entries, $page, $sort, - $searchFilter . "&trans_primary=" . $trans_primary, "user", _("%s user(s) found")); - echo ("
"); -} - -// account table head -listPrintTableHeader("user", $searchFilter . "&trans_primary=" . $trans_primary, $desc_array, $attr_array, $_POST, $sort); - -if ($user_count != 0) { - // translate GIDs and resort array if selected - if ($trans_primary == "on") { - // translate GIDs - for ($i = 0; $i < sizeof($userinfo); $i++) { - if ($trans_primary_hash[$userinfo[$i]['gidnumber'][0]]) { - $userinfo[$i]['gidnumber'][0] = $trans_primary_hash[$userinfo[$i]['gidnumber'][0]]; - } - } - // resort if needed - if ($sort == "gidnumber") { - $userinfo = listSort($sort, $attr_array, $userinfo); - } - } - // print user list - $userinfo = array_slice ($userinfo, ($page - 1) * $max_page_entries, $max_page_entries); - for ($i = 0; $i < sizeof ($userinfo); $i++) { // ignore last entry in array which is "count" - echo("\n"); - // checkboxes if selectall = "yes" - if ($_GET['selectall'] == "yes") { - echo "\n\n\n"; - } - else { - echo "\n\n\n"; - } - echo ("\n" . - _("Edit") . "\n\n"); - for ($k = 0; $k < sizeof($attr_array); $k++) { - echo ("\n"); - // print attribute values - if (sizeof($userinfo[$i][strtolower($attr_array[$k])]) > 0) { - if (is_array($userinfo[$i][strtolower($attr_array[$k])])) { - // delete first array entry which is "count" - unset($userinfo[$i][strtolower($attr_array[$k])]['count']); - // sort array - sort($userinfo[$i][strtolower($attr_array[$k])]); - // print all attribute entries seperated by "; " - echo implode("; ", $userinfo[$i][strtolower($attr_array[$k])]) . "\n"; - } - else echo $userinfo[$i][strtolower($attr_array[$k])] . "\n"; - } - echo ("\n"); - } - echo("\n"); - } - // display select all link - $colspan = sizeof($attr_array) + 1; - echo "\n"; - echo "\"select\n"; - echo " " . - "" . _("Select all") . "\n"; - echo "\n"; -} -echo ("\n"); - -echo ("
"); -if ($user_count != 0) { - listDrawNavigationBar($user_count, $max_page_entries, $page, $sort, - $searchFilter . "&trans_primary=" . $trans_primary, "user", _("%s user(s) found")); - echo ("
"); -} - -if (! $_GET['norefresh']) { - // generate list of possible suffixes - $usr_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_UserSuffix()); -} - -// print combobox with possible sub-DNs -if (sizeof($usr_units) > 1) { - echo ("

\n"); - echo ("" . _("Suffix") . ": "); - echo ("\n"); - echo (""); - echo ("

\n"); -} - -// show translate GID to group name box if there is a column with gidnumber -if (in_array("gidnumber", $attr_array)) { - echo "

\n"; - echo "" . _("Translate GID number to group name") . ": "; - if ($trans_primary == "on") { - echo ""; - } - else echo ""; - echo ("  "); - echo "

\n"; -} - -echo ("

 

\n"); - -// new/delete/PDF buttons -echo ("\n"); -if ($user_count != 0) { - echo ("\n"); - echo ("


\n"); - echo "
PDF\n"; - echo ("" . _('PDF structure') . ":      \n"; - echo ("\n"); - echo " "; - echo ("\n"); - echo "
"; -} - -echo ("

 

\n"); - -echo ("
\n"); -echo "\n"; - - -// save variables to session -$_SESSION['usr_units'] = $usr_units; -$_SESSION['usr_suffix'] = $usr_suffix; - -?> diff --git a/lam/templates/lists/userlink.php b/lam/templates/lists/userlink.php deleted file mode 100644 index 53e7bd0d..00000000 --- a/lam/templates/lists/userlink.php +++ /dev/null @@ -1,90 +0,0 @@ -userlink\n"; - echo "\n"; - echo "\n"; - StatusMessage("ERROR", "", _("This user was not found!") . " (" . $user . ")"); - echo "

 

"; - echo "

" . _("Back to group list") . "

"; - echo ("\n"); -} - - -/** -* Searches LDAP for a specific user name (uid attribute) and returns its DN entry -* -* @param string $name user name -* @return string DN -*/ -function search_username($name) { - $filter = "(uid=$name)"; - $attrs = array(); - $sr = @ldap_search($_SESSION['ldap']->server, $_SESSION['config']->get_UserSuffix(), $filter, $attrs); - if ($sr) { - $info = ldap_get_entries($_SESSION['ldap']->server, $sr); - // return only first DN entry - $ret = $info[0]["dn"]; - ldap_free_result($sr); - return $ret; - } - else return ""; -} - -?> diff --git a/lam/templates/login.php b/lam/templates/login.php deleted file mode 100644 index 2f319ada..00000000 --- a/lam/templates/login.php +++ /dev/null @@ -1,361 +0,0 @@ -get_defaultLanguage(); - - $current_language = explode(":",$_SESSION['language']); - $_SESSION['header'] = "\n"; - $_SESSION['header'] .= "\n\n"; - $_SESSION['header'] .= "\n\n"; - $_SESSION['header'] .= "\n"; - $_SESSION['header'] .= "\n "; - - // loading available languages from language.conf file - $languagefile = "../config/language"; - if(is_file($languagefile) == True) - { - $file = fopen($languagefile, "r"); - $i = 0; - while(!feof($file)) - { - $line = fgets($file, 1024); - if($line == "" || $line == "\n" || $line[0] == "#") continue; // ignore comment and empty lines - $value = explode(":", $line); - $languages[$i]["link"] = $value[0] . ":" . $value[1]; - $languages[$i]["descr"] = $value[2]; - if(rtrim($line) == $_SESSION["language"]) - { - $languages[$i]["default"] = "YES"; - } - else - { - $languages[$i]["default"] = "NO"; - } - $i++; - } - fclose($file); - } - else - { - //TODO Generate Status message - $message = _("Unable to load available languages. Setting English as default language. For further instructions please contact the Admin of this site."); - } - - $profiles = getConfigProfiles(); - - setlanguage(); // setting correct language - - echo $_SESSION["header"]; - ?> - LDAP Account Manager -Login- - - - -

- LDAP Account Manager -

- - - - -
- -
-


- 4.3."); - echo "

"; - } - // check if PHP has LDAP support - if (! function_exists('ldap_search')) { - StatusMessage("ERROR", "Your PHP has no LDAP support!", "Please install the LDAP extension for PHP."); - echo "

"; - } - // check if PHP has gettext support - if (! function_exists('gettext')) { - StatusMessage("ERROR", "Your PHP has no gettext support!", "Please install gettext and recompile PHP is compiled without gettext support."); - echo "

"; - } - ?> -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Logo - - - -   -
- -    - -
- -    - -
- - - -    - -
- - " tabindex="3"> -
- " . $error_message . ""; - } - ?> -
-
- - - get_ServerURL(); ?> -
- file; - } - ?> - - - - " tabindex="5"> -
-
-

- - -connect($_POST['username'],$_POST['passwd']); // Connect to LDAP server for verifing username/password - - if($result === 0) // Username/password correct. Do some configuration and load main frame. - { - $_SESSION['loggedIn'] = true; - $_SESSION['language'] = $_POST['language']; // Write selected language in session - $current_language = explode(":",$_SESSION['language']); - $_SESSION['header'] = "\n"; - $_SESSION['header'] .= "\n\n"; - $_SESSION['header'] .= "\n\n"; - $_SESSION['header'] .= "\n"; - $_SESSION['header'] .= "\n "; - - include("./main.php"); // Load main frame - } - else - { - if ($result === False) - { - $error_message = _("Cannot connect to specified LDAP-Server. Please try again."); - display_LoginPage($_SESSION['config'],""); // connection failed - } - elseif ($result == 81) - { - $error_message = _("Cannot connect to specified LDAP-Server. Please try again."); - display_LoginPage($_SESSION['config'],""); // connection failed - } - elseif ($result == 49) - { - $error_message = _("Wrong Password/Username combination. Try again."); - display_LoginPage($_SESSION['config'],""); // Username/password invalid. Return to login page. - } - else - { - $error_message = _("LDAP error, server says:") . "\n
($result) " . ldap_err2str($result); - display_LoginPage($_SESSION['config'],""); // other errors - } - } - } -} -// Reload loginpage after a profile change -elseif($_POST['profileChange']) { - $_SESSION['config'] = new Config($_POST['profile']); // Recreate the config object with the submited - - display_LoginPage($_SESSION['config'],""); // Load login page -} -// Load login page -else -{ - $_SESSION['loggedIn'] = false; - $default_Config = new CfgMain(); - $default_Profile = $default_Config->default; - $_SESSION["config"] = new Config($default_Profile); // Create new Config object - - display_LoginPage($_SESSION["config"],$default_Profile); // Load Login page -} -?> diff --git a/lam/templates/logout.php b/lam/templates/logout.php deleted file mode 100644 index 123f9996..00000000 --- a/lam/templates/logout.php +++ /dev/null @@ -1,73 +0,0 @@ -destroy(); - -setlanguage(); - -echo $_SESSION['header']; - -// destroy session -session_destroy(); -unset($_SESSION); - -// print logout message -?> - - - <?php echo _("Logout"); ?> - - - - -

- LDAP Account Manager -

-
-
-

-




- - diff --git a/lam/templates/main.php b/lam/templates/main.php deleted file mode 100644 index fa12a3b3..00000000 --- a/lam/templates/main.php +++ /dev/null @@ -1,90 +0,0 @@ -get_UserSuffix() && ($conf->get_UserSuffix() != "")) { - $info = @ldap_search($_SESSION['ldap']->server, $conf->get_UserSuffix(), "", array()); - $res = @ldap_get_entries($_SESSION['ldap']->server, $info); - if (!$res && !in_array($conf->get_UserSuffix(), $new_suffs)) $new_suffs[] = $conf->get_UserSuffix(); -} -if ($conf->get_GroupSuffix() && ($conf->get_GroupSuffix() != "")) { - $info = @ldap_search($_SESSION['ldap']->server, $conf->get_GroupSuffix(), "", array()); - $res = @ldap_get_entries($_SESSION['ldap']->server, $info); - if (!$res && !in_array($conf->get_GroupSuffix(), $new_suffs)) $new_suffs[] = $conf->get_GroupSuffix(); -} -if ($conf->get_HostSuffix() && ($conf->get_HostSuffix() != "")) { - $info = @ldap_search($_SESSION['ldap']->server, $conf->get_HostSuffix(), "", array()); - $res = @ldap_get_entries($_SESSION['ldap']->server, $info); - if (!$res && !in_array($conf->get_HostSuffix(), $new_suffs)) $new_suffs[] = $conf->get_HostSuffix(); -} -if ($conf->get_DomainSuffix() && ($conf->get_DomainSuffix() != "")) { - $info = @ldap_search($_SESSION['ldap']->server, $conf->get_DomainSuffix(), "", array()); - $res = @ldap_get_entries($_SESSION['ldap']->server, $info); - if (!$res && !in_array($conf->get_DomainSuffix(), $new_suffs)) $new_suffs[] = $conf->get_DomainSuffix(); -} - -// get encoding -$lang = explode(":",$_SESSION['language']); -$lang = $lang[1]; - -echo "\n"; -echo "\n"; -echo "\n"; -echo "\n"; -echo "\n"; -echo "\n"; -echo "\n"; -echo ("LDAP Account Manager\n"); -echo (""); -echo ("\n"); -echo ("\n"); -echo ("\n"); -// display page to add suffixes, if needed -if (sizeof($new_suffs) > 0) echo ("\n"); -else echo ("\n"); -echo ("\n"); -echo ("This page requires a browser that can show frames!\n"); -echo ("\n"); -echo ("\n"); -echo ("\n"); - -?> diff --git a/lam/templates/main_header.php b/lam/templates/main_header.php deleted file mode 100644 index a6d60d9d..00000000 --- a/lam/templates/main_header.php +++ /dev/null @@ -1,84 +0,0 @@ -get_Hostsuffix() != "") $lists++; - -?> - - - - - - - - - - \n"; - ?> - LDAP Account Manager - - - - -  \n"; - ?> - - - - ' . _("Users") . '' . "\n"; - echo '' . "\n"; - if ($_SESSION['config']->get_Hostsuffix() != "") { - echo '' . "\n"; - } - ?> - - -
- -
' . _("Groups") . '' . _("Hosts") . '
- - diff --git a/lam/templates/massBuildAccounts.php b/lam/templates/massBuildAccounts.php deleted file mode 100644 index 54d9f30c..00000000 --- a/lam/templates/massBuildAccounts.php +++ /dev/null @@ -1,209 +0,0 @@ -decrypt($_SESSION['mass_accounts'])); - for ($i = 0; $i < sizeof($accounts); $i++) { - echo "DN: " . $accounts[$i]['dn'] . "\n"; - unset($accounts[$i]['dn']); - $keys = array_keys($accounts[$i]); - for ($k = 0; $k < sizeof($keys); $k++) { - if (is_array($accounts[$i][$keys[$k]])) { - for ($x = 0; $x < sizeof($accounts[$i][$keys[$k]]); $x++) { - echo $keys[$k] . ": " . $accounts[$i][$keys[$k]][$x] . "\n"; - } - } - else { - echo $keys[$k] . ": " . $accounts[$i][$keys[$k]] . "\n"; - } - } - echo "\n"; - } - exit; -} - -echo $_SESSION['header']; -echo "account upload\n"; -echo "\n"; -echo "\n"; -echo "\n"; - -if ($_FILES['inputfile'] && ($_FILES['inputfile']['size'] > 0)) { - // check if input file is well formated - $data = array(); // input values without first row - $ids = array(); // => - // get input fields from modules - $columns = getUploadColumns($_POST['scope']); - // read input file - $handle = fopen ($_FILES['inputfile']['tmp_name'], "r"); - if (($head = fgetcsv($handle, 2000)) !== false ) { // head row - for ($i = 0; $i < sizeof($head); $i++) { - $ids[$head[$i]] = $i; - } - } - while (($line = fgetcsv($handle, 2000)) !== false ) { // account rows - $data[] = $line; - } - - $errors = array(); - - // check if all required columns are present - $checkcolumns = array(); - $columns = call_user_func_array('array_merge', $columns); - for ($i = 0; $i < sizeof($columns); $i++) { - if (isset($columns[$i]['required']) && ($columns[$i]['required'] == true)) { - if (isset($ids[$columns[$i]['name']])) $checkcolumns[] = $ids[$columns[$i]['name']]; - else $errors[] = array(_("A required column is missing in your CSV file."), $columns[$i]['name']); - } - } - - // check if all required attributes are given - $invalidColumns = array(); - $id_names = array_keys($ids); - for ($i = 0; $i < sizeof($checkcolumns); $i++) { - for ($r = 0; $r < sizeof($data); $r++) { - if ($data[$r][$checkcolumns[$i]] == "") { - $invalidColumns[] = $id_names[$checkcolumns[$i]]; - break; - } - } - } - for ($i = 0; $i < sizeof($data); $i++) { - if ($data[$i][$ids['dn_rdn']] == "") { - $invalidColumns[] = 'dn_rdn'; - break; - } - } - for ($i = 0; $i < sizeof($invalidColumns); $i++) { - $errors[] = array(_("One or more values of the required column \"$invalidColumns[$i]\" are missing."), ""); - } - - // check if values in unique columns are correct - for ($i = 0; $i < sizeof($columns); $i++) { - if ($columns[$i]['unique'] == true) { - $colNumber = $ids[$columns[$i]['name']]; - $values_given = array(); - for ($r = 0; $r < sizeof($data); $r++) { - $values_given[] = $data[$r][$colNumber]; - } - $values_unique = array_unique($values_given); - if (sizeof($values_given) != sizeof($values_unique)) { - $errors[] = array(_("This column is defined to include unique entries but duplicates were found:"), $columns[$i]['name']); - } - } - } - - // if input data is invalid just display error messages (max 50) - if (sizeof($errors) > 0) { - for ($i = 0; $i < sizeof($errors); $i++) StatusMessage("ERROR", $errors[$i][0], $errors[$i][1]); - } - - // let modules build accounts - else { - $accounts = buildUploadAccounts($_POST['scope'], $data, $ids); - if ($accounts != false) { - // set DN - for ($i = 0; $i < sizeof($accounts); $i++) { - if (!isset($accounts[$i][$data[$i][$ids['dn_rdn']]])) $errors[] = array(_('Account %s:') . ' dn_rdn', _("Data field for RDN is empty!"), array($i)); - // TODO check against list of possible RDN attributes - else { - $account_dn = $data[$i][$ids['dn_rdn']] . "=" . $accounts[$i][$data[$i][$ids['dn_rdn']]] . ","; - if ($data[$i][$ids['dn_suffix']] == "") $account_dn = $account_dn . call_user_func(array($_SESSION['config'], "get_" . ucfirst($_POST['scope']) . "Suffix")); - else $account_dn = $account_dn . $data[$i][$ids['dn_suffix']]; - $accounts[$i]['dn'] = $account_dn; - } - } - // print errors if DN could not be built - if (sizeof($errors) > 0) { - for ($i = 0; $i < sizeof($errors); $i++) StatusMessage("ERROR", $errors[$i][0], $errors[$i][1], $errors[$i][2]); - } - else { - // store accounts in session - $_SESSION['mass_accounts'] = $_SESSION['ldap']->encrypt(serialize($accounts)); - $_SESSION['mass_counter'] = 0; - $_SESSION['mass_errors'] = array(); - $_SESSION['mass_failed'] = array(); - $_SESSION['mass_postActions'] = array(); - $_SESSION['mass_data'] = $_SESSION['ldap']->encrypt(serialize($data)); - $_SESSION['mass_ids'] = $ids; - $_SESSION['mass_scope'] = $_POST['scope']; - // show links for upload and LDIF export - echo "

" . _("LAM has checked your input and is now ready to create the accounts.") . "

\n"; - echo "

 

\n"; - echo "

\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - echo "" . _("Upload accounts to LDAP") . ""; - echo "\n"; - echo "" . _("Show LDIF file") . ""; - echo "
\n"; - echo "

\n"; - } - } - } -} - -echo "\n"; -echo "\n"; - - -?> \ No newline at end of file diff --git a/lam/templates/massDoUpload.php b/lam/templates/massDoUpload.php deleted file mode 100644 index 2be86315..00000000 --- a/lam/templates/massDoUpload.php +++ /dev/null @@ -1,128 +0,0 @@ -account upload\n"; -echo "\n"; - -// create accounts -$accounts = unserialize($_SESSION['ldap']->decrypt($_SESSION['mass_accounts'])); -if (($_SESSION['mass_counter'] < sizeof($accounts)) || !isset($_SESSION['mass_postActions']['finished'])) { - $maxTime = get_cfg_var('max_execution_time') - 5; - $refreshTime = get_cfg_var('max_execution_time') + 1; - $startTime = time(); - echo "\n"; - echo "\n\n"; - echo "

" . _("LDAP upload in progress. Please wait.") . "

\n"; - echo "\n"; - echo ""; - echo "\n"; - echo "
  
"; - flush(); // send HTML to browser - // add accounts to LDAP - while (($_SESSION['mass_counter'] < sizeof($accounts)) && ($startTime + $maxTime > time())) { - // create accounts as long as max_execution_time is not near - $attrs = $accounts[$_SESSION['mass_counter']]; - $dn = $attrs['dn']; - unset($attrs['dn']); - $success = @ldap_add($_SESSION['ldap']->server, $dn, $attrs); - if (!$success) { - $errorMessage = array( - "ERROR", - _("LAM was unable to create account %s! An LDAP error occured."), - ldap_errno($_SESSION[ldap]->server) . ": " . ldap_error($_SESSION[ldap]->server), - array($_SESSION['mass_counter'])); - $_SESSION['mass_errors'][] = $errorMessage; - $_SESSION['mass_failed'][] = $_SESSION['mass_counter']; - } - $_SESSION['mass_counter']++; - } - // do post upload actions - if ($_SESSION['mass_counter'] >= sizeof($accounts)) { - $data = unserialize($_SESSION['ldap']->decrypt($_SESSION['mass_data'])); - $return = doUploadPostActions($_SESSION['mass_scope'], $data, $_SESSION['mass_ids'], $_SESSION['mass_failed']); - if ($return['status'] == 'finished') { - $_SESSION['mass_postActions']['finished'] = true; - } - for ($i = 0; $i < sizeof($return['errors']); $i++) $_SESSION['mass_errors'][] = $return['errors'][$i]; - echo "

" . _("Additional tasks for module:") . ' ' . $return['module'] . "

\n"; - echo "\n"; - echo ""; - echo "\n"; - echo "
  
"; - flush(); - while (!isset($_SESSION['mass_postActions']['finished']) && ($startTime + $maxTime > time())) { - $return = doUploadPostActions($_SESSION['mass_scope'], $data, $_SESSION['mass_ids'], $_SESSION['mass_failed']); - if ($return['status'] == 'finished') { - $_SESSION['mass_postActions']['finished'] = true; - } - for ($i = 0; $i < sizeof($return['errors']); $i++) $_SESSION['mass_errors'][] = $return['errors'][$i]; - } - } - echo ""; -} -// all accounts have been created -else { - echo "\n\n"; - echo "

" . _("LDAP upload has finished") . "

\n"; - if (sizeof($_SESSION['mass_errors']) > 0) { - echo "

" . _("There were errors while uploading:") . "

\n"; - for ($i = 0; $i < sizeof($_SESSION['mass_errors']); $i++) { - call_user_func_array('StatusMessage', $_SESSION['mass_errors'][$i]); - } - } - echo ""; -} - - -?> \ No newline at end of file diff --git a/lam/templates/masscreate.php b/lam/templates/masscreate.php deleted file mode 100644 index e52c7882..00000000 --- a/lam/templates/masscreate.php +++ /dev/null @@ -1,312 +0,0 @@ -account upload\n"; -echo "\n"; -echo "\n"; -echo "\n"; - -// check if account specific page should be shown -if (isset($_POST['user'])) showMainPage('user'); -elseif (isset($_POST['group'])) showMainPage('group'); -elseif (isset($_POST['host'])) showMainPage('host'); -// show start page -else { - echo "

" . _("Account creation via file upload") . "

\n"; - echo "

 

\n"; - echo "

 

\n"; - - echo "

\n"; - echo _("Here you can create multiple accounts by providing a CSV file."); - echo "

\n"; - - echo "

 

\n"; - - echo "

\n"; - echo _("Please select your account type:"); - echo "

\n"; - - echo "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - echo "
\n"; - - echo "\n"; - echo "\n"; -} - - -/** -* Displays the acount type specific main page of the upload. -* -* @param string $scope account type -*/ -function showMainPage($scope) { - echo "

\n"; - echo _("Please provide a CSV formated file with your account data. The cells in the first row must be filled with the column identifiers. The following rows represent one account for each row."); - echo "

\n"; - - echo "

 

\n"; - - echo "
\n"; - echo "

\n"; - echo "" . _("CSV file:") . "   "; - echo "\n"; - echo "\n"; - echo "

\n"; - echo "
\n"; - - echo "

 

\n"; - - echo "

" . _("Columns:") . "

\n"; - - // DN options - echo "
\n" . _("DN settings") . "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - echo "" . _("DN suffix") . "\n"; - echo "
\n"; - echo "
    \n"; - echo "
  • " . _("Identifier") . ": " . "dn_suffix
  • \n"; - echo "
  • " . _("Example value") . ": " . "ou=accounts,dc=yourdomain,dc=org
  • \n"; - echo "
  • " . _("Default value") . ": " . call_user_func(array($_SESSION['config'], 'get_' . ucfirst($scope) . 'Suffix')) . "
  • \n"; - echo "
  • \n"; - echo "" . _("Help") . "\n"; - echo "
  • \n"; - echo "
\n"; - echo "
\n"; - echo "" . _("RDN identifier") . "\n"; - echo "
\n"; - echo "
    \n"; - echo "
  • " . _("Identifier") . ": " . "dn_rdn
  • \n"; - echo "
  • " . _("Possible values") . ": " . implode(", ", getRDNAttributes($scope)) . "
  • \n"; - echo "
  • " . _("Example value") . ": " . "uid
  • \n"; - echo "
  • \n"; - echo "" . _("Help") . "\n"; - echo "
  • \n"; - echo "
\n"; - echo "
\n"; - echo "
\n"; - - // get input fields from modules - $columns = getUploadColumns($scope); - - // print input fields - $modules = array_keys($columns); - for ($m = 0; $m < sizeof($modules); $m++) { - if (sizeof($columns[$modules[$m]]) < 1) continue; - echo "
\n" . getModuleAlias($modules[$m], $scope) . "\n"; - echo "\n"; - for ($i = 0; $i < sizeof($columns[$modules[$m]]); $i++) { - echo "\n"; - echo "\n"; - $i++; - if ($i < sizeof($columns[$modules[$m]])) { - echo "\n"; - $i++; - if ($i < sizeof($columns[$modules[$m]])) { - echo "\n"; - } - else echo ""; // empty cell if no more fields - } - else echo ""; // empty cell if no more fields - echo "\n"; - } - echo "
\n"; - showColumnData($modules[$m], $columns[$modules[$m]][$i]); - echo "\n"; - showColumnData($modules[$m], $columns[$modules[$m]][$i]); - echo "\n"; - showColumnData($modules[$m], $columns[$modules[$m]][$i]); - echo "
\n"; - echo "
"; - } - - echo "

 

\n"; - - // print table example and build sample CSV - $sampleCSV = ""; - $sampleCSV_head = array(); - $sampleCSV_row = array(); - echo "" . _("This is an example how it would look in your spreadsheet program before you convert to CSV:") . "\n"; - - echo "\n"; - echo "\n"; - // DN attributes - $sampleCSV_head[] = "\"dn_suffix\""; - $sampleCSV_head[] = "\"dn_rdn\""; - echo "\n"; - echo "\n"; - // module attributes - for ($m = 0; $m < sizeof($modules); $m++) { - if (sizeof($columns[$modules[$m]]) < 1) continue; - for ($i = 0; $i < sizeof($columns[$modules[$m]]); $i++) { - $sampleCSV_head[] = "\"" . $columns[$modules[$m]][$i]['name'] . "\""; - echo "\n"; - } - } - echo "\n"; - echo "\n"; - // DN attributes - $sampleCSV_row[] = "\"" . call_user_func(array($_SESSION['config'], 'get_' . ucfirst($scope) . 'Suffix')) . "\""; - $sampleCSV_row[] = "\"" . array_shift(getRDNAttributes($scope)) . "\""; - echo "\n"; - echo "\n"; - // module attributes - for ($m = 0; $m < sizeof($modules); $m++) { - if (sizeof($columns[$modules[$m]]) < 1) continue; - for ($i = 0; $i < sizeof($columns[$modules[$m]]); $i++) { - $sampleCSV_row[] = "\"" . $columns[$modules[$m]][$i]['example'] . "\""; - echo "\n"; - } - } - echo "\n"; - echo "
\n"; - echo "dn_suffix"; - echo "\n"; - echo "dn_rdn"; - echo "\n"; - echo $columns[$modules[$m]][$i]['name']; - echo "
\n"; - echo call_user_func(array($_SESSION['config'], 'get_' . ucfirst($scope) . 'Suffix')); - echo "\n"; - echo array_shift(getRDNAttributes($scope)); - echo "\n"; - echo $columns[$modules[$m]][$i]['example']; - echo "
\n"; - $sampleCSV = implode(",", $sampleCSV_head) . "\n" . implode(",", $sampleCSV_row) . "\n"; - $_SESSION['mass_csv'] = $sampleCSV; - - // link to CSV sample - echo "

\n"; - echo "

\n"; - echo "" . _("Download sample CSV file") . "\n"; - echo "

\n"; - echo "

\n"; - - echo "\n"; - echo "\n"; - die; -} - -/** -* Prints the properties of one input field. -* -* @param string $module account module name -* @param array $data field data from modules -*/ -function showColumnData($module, $data) { - if (isset($data['required']) && ($data['required'] == true)) { - echo "\n"; - echo $data['description']; - echo "\n"; - } - else { - echo "\n"; - echo $data['description']; - echo "\n"; - } - echo "
\n"; - echo "

    \n"; - echo "
  • \n"; - echo "" . _("Identifier") . ": " . $data['name'] . "\n"; - echo "
  • \n"; - if (isset($data['values'])) { - echo "
  • \n"; - echo "" . _("Possible values") . ": " . $data['values'] . "\n"; - echo "
  • \n"; - } - echo "
  • \n"; - echo "" . _("Example value") . ": " . $data['example'] . "\n"; - echo "
  • \n"; - if (isset($data['default'])) { - echo "
  • \n"; - echo "" . _("Default value") . ": " . $data['default'] . "\n"; - echo "
  • \n"; - } - echo "
  • \n"; - echo "" . _("Help") . "\n"; - echo "
  • \n"; - - echo "
\n"; -} - -?> diff --git a/lam/templates/ou_edit.php b/lam/templates/ou_edit.php deleted file mode 100644 index 89902520..00000000 --- a/lam/templates/ou_edit.php +++ /dev/null @@ -1,473 +0,0 @@ -search_units($_POST['usersuff_n']))) { - // add new ou - $ou = array(); - $ou['objectClass'] = "organizationalunit"; - $ou['ou'] = $_POST['newsuff_u']; - $ret = @ldap_add($_SESSION['ldap']->server(), $new_dn, $ou); - if ($ret) { - $message = _("New OU created successfully."); - } - else { - $error = _("Unable to create new OU!"); - } - } - else $error = _("OU already exists!"); - } - // show errormessage if ou is invalid - else { - $error = _("OU is invalid!") . " " . $_POST['newsuff_u']; - } - } - // delete ou, user was sure - elseif (($_POST['type'] == "del_usr") && ($_POST['sure'])) { - $ret = @ldap_delete($_SESSION['ldap']->server(), $_POST['usersuff_d']); - if ($ret) { - $message = _("OU deleted successfully."); - } - else { - $error = _("Unable to delete OU!"); - } - } - // do not delete ou - elseif (($_POST['type'] == "del_usr") && ($_POST['abort'])) { - display_main(); - exit; - } - // ask if user is sure to delete - elseif ($_POST['type'] == "del_usr") { - // check for sub entries - $sr = @ldap_list($_SESSION['ldap']->server(), $_POST['usersuff_d'], "ObjectClass=*", array("")); - $info = @ldap_get_entries($_SESSION['ldap']->server(), $sr); - if ($sr && $info['count'] == 0) { - $text = "
\n" . - "

" . _("Do you really want to delete this OU?") . " " . "\n" . - "
\n

" . $_POST['usersuff_d'] . "

\n" . - "
\n" . - "
\n" . - "\n" . - "\n" . - "\n" . - "\n" . - "\n" . - "
"; - } - else { - $error = _("OU is not empty or invalid!"); - } - } - - // group operations - // new group ou - if ($_POST['type'] == "new_grp") { - // create ou if valid - if (eregi("^[a-z0-9 _\\-]+$", $_POST['newsuff_g'])) { - // check if ou already exists - $new_dn = "ou=" . $_POST['newsuff_g'] . "," . $_POST['groupsuff_n']; - if (!in_array(strtolower($new_dn), $_SESSION['ldap']->search_units($_POST['groupsuff_n']))) { - // add new ou - $ou = array(); - $ou['objectClass'] = "organizationalunit"; - $ou['ou'] = $_POST['newsuff_g']; - $ret = @ldap_add($_SESSION['ldap']->server(), $new_dn, $ou); - if ($ret) { - $message = _("New OU created successfully."); - } - else { - $error = _("Unable to create new OU!"); - } - } - else $error = _("OU already exists!"); - } - // show errormessage if ou is invalid - else { - $error = _("OU is invalid!") . " " . $_POST['newsuff_g']; - } - } - // delete ou, user was sure - elseif (($_POST['type'] == "del_grp") && ($_POST['sure'])) { - $ret = @ldap_delete($_SESSION['ldap']->server(), $_POST['groupsuff_d']); - if ($ret) { - $message = _("OU deleted successfully."); - } - else { - $error = _("Unable to delete OU!"); - } - } - // do not delete ou - elseif (($_POST['type'] == "del_grp") && ($_POST['abort'])) { - display_main(); - exit; - } - // ask if user is sure to delete - elseif ($_POST['type'] == "del_grp") { - // check for sub entries - $sr = @ldap_list($_SESSION['ldap']->server(), $_POST['groupsuff_d'], "ObjectClass=*", array("")); - $info = @ldap_get_entries($_SESSION['ldap']->server(), $sr); - if ($sr && $info['count'] == 0) { - $text = "
\n" . - "

" . _("Do you really want to delete this OU?") . " " . "\n" . - "
\n

" . $_POST['groupsuff_d'] . "

\n" . - "
\n" . - "
\n" . - "\n" . - "\n" . - "\n" . - "\n" . - "\n" . - "
"; - } - else { - $error = _("OU is not empty or invalid!"); - } - } - - // host operations - // new host ou - if ($_POST['type'] == "new_hst") { - // create ou if valid - if (eregi("^[a-z0-9 _\\-]+$", $_POST['newsuff_h'])) { - // check if ou already exists - $new_dn = "ou=" . $_POST['newsuff_h'] . "," . $_POST['hostsuff_n']; - if (!in_array(strtolower($new_dn), $_SESSION['ldap']->search_units($_POST['hostsuff_n']))) { - // add new ou - $ou = array(); - $ou['objectClass'] = "organizationalunit"; - $ou['ou'] = $_POST['newsuff_h']; - $ret = @ldap_add($_SESSION['ldap']->server(), $new_dn, $ou); - if ($ret) { - $message = _("New OU created successfully."); - } - else { - $error = _("Unable to create new OU!"); - } - } - else $error = _("OU already exists!"); - } - // show errormessage if ou is invalid - else { - $error = _("OU is invalid!") . " " . $_POST['newsuff_h']; - } - } - // delete ou, user was sure - elseif (($_POST['type'] == "del_hst") && ($_POST['sure'])) { - $ret = @ldap_delete($_SESSION['ldap']->server(), $_POST['hostsuff_d']); - if ($ret) { - $message = _("OU deleted successfully."); - } - else { - $error = _("Unable to delete OU!"); - } - } - // do not delete ou - elseif (($_POST['type'] == "del_hst") && ($_POST['abort'])) { - display_main(); - exit; - } - // ask if user is sure to delete - elseif ($_POST['type'] == "del_hst") { - // check for sub entries - $sr = @ldap_list($_SESSION['ldap']->server(), $_POST['hostsuff_d'], "ObjectClass=*", array("")); - $info = @ldap_get_entries($_SESSION['ldap']->server(), $sr); - if ($sr && $info['count'] == 0) { - $text = "
\n" . - "

" . _("Do you really want to delete this OU?") . " " . "\n" . - "
\n

" . $_POST['hostsuff_d'] . "

\n" . - "
\n" . - "
\n" . - "\n" . - "\n" . - "\n" . - "\n" . - "\n" . - "
"; - } - else { - $error = _("OU is not empty or invalid!"); - } - } - - // domain operations - // new domain ou - if ($_POST['type'] == "new_dom") { - // create ou if valid - if (eregi("^[a-z0-9 _\\-]+$", $_POST['newsuff_d'])) { - // check if ou already exists - $new_dn = "ou=" . $_POST['newsuff_d'] . "," . $_POST['domsuff_n']; - if (!in_array(strtolower($new_dn), $_SESSION['ldap']->search_units($_POST['domsuff_n']))) { - // add new ou - $ou = array(); - $ou['objectClass'] = "organizationalunit"; - $ou['ou'] = $_POST['newsuff_d']; - $ret = @ldap_add($_SESSION['ldap']->server(), $new_dn, $ou); - if ($ret) { - $message = _("New OU created successfully."); - } - else { - $error = _("Unable to create new OU!"); - } - } - else $error = _("OU already exists!"); - } - // show errormessage if ou is invalid - else { - $error = _("OU is invalid!") . " " . $_POST['newsuff_d']; - } - } - // delete ou, user was sure - elseif (($_POST['type'] == "del_dom") && ($_POST['sure'])) { - $ret = @ldap_delete($_SESSION['ldap']->server(), $_POST['domsuff_d']); - if ($ret) { - $message = _("OU deleted successfully."); - } - else { - $error = _("Unable to delete OU!"); - } - } - // do not delete ou - elseif (($_POST['type'] == "del_dom") && ($_POST['abort'])) { - display_main(); - exit; - } - // ask if user is sure to delete - elseif ($_POST['type'] == "del_dom") { - // check for sub entries - $sr = @ldap_list($_SESSION['ldap']->server(), $_POST['domsuff_d'], "ObjectClass=*", array("")); - $info = @ldap_get_entries($_SESSION['ldap']->server(), $sr); - if ($sr && $info['count'] == 0) { - $text = "
\n" . - "

" . _("Do you really want to delete this OU?") . " " . "\n" . - "
\n

" . $_POST['domsuff_d'] . "

\n" . - "
\n" . - "
\n" . - "\n" . - "\n" . - "\n" . - "\n" . - "\n" . - "
"; - } - else { - $error = _("OU is not empty or invalid!"); - } - } - - // print header - echo $_SESSION['header']; - echo ("OU-Editor\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - // display messages - if ($error || $message || $text) { - if ($text) echo $text; - elseif ($error) { - StatusMessage("ERROR", "", $error); - echo ("
" . _("Back to OU-Editor") . "\n"); - } - else { - StatusMessage("INFO", "", $message); - echo ("
" . _("Back to OU-Editor") . "\n"); - } - } - -echo ("\n"); -exit; -} -else display_main(); - -function display_main() { - // generate lists of possible suffixes - $usr_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_UserSuffix()); - $grp_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_GroupSuffix()); - $hst_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_HostSuffix()); - $dom_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_DomainSuffix()); - - // display main page - echo $_SESSION['header']; - echo ("OU-Editor\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("
\n"); - echo ("
\n"); - - // user OUs - echo ("
" . _("Users") . "\n"); - echo ("\n"); - // new OU - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - // delete OU - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("
" . _("New organizational unit") . ": \n"); - echo ("". _("Help") ."
" . _("Delete organizational unit") . ": \n"); - echo (" ". _("Help") ."
\n"); - echo ("
\n"); - echo ("
\n"); - - // group OUs - echo ("
" . _("Groups") . "\n"); - echo ("\n"); - // new OU - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - // delete OU - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("
" . _("New organizational unit") . ": \n"); - echo ("". _("Help") ."
" . _("Delete organizational unit") . ": \n"); - echo (" ". _("Help") ."
\n"); - echo ("
\n"); - echo ("
\n"); - - // host OUs - echo ("
" . _("Samba Hosts") . "\n"); - echo ("\n"); - // new OU - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - // delete OU - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("
" . _("New organizational unit") . ": \n"); - echo ("". _("Help") ."
" . _("Delete organizational unit") . ": \n"); - echo (" ". _("Help") ."
\n"); - echo ("
\n"); - echo ("
\n"); - - // domain OUs - echo ("
" . _("Domains") . "\n"); - echo ("\n"); - // new OU - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - // delete OU - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("\n"); - echo ("
" . _("New organizational unit") . ": \n"); - echo ("". _("Help") ."
" . _("Delete organizational unit") . ": \n"); - echo (" ". _("Help") ."
\n"); - echo ("
\n"); - echo ("
\n"); - - echo (""); - echo ("
\n"); - echo ("\n"); -} diff --git a/lam/templates/pdfedit/pdfdelete.php b/lam/templates/pdfedit/pdfdelete.php deleted file mode 100644 index 412cc1d6..00000000 --- a/lam/templates/pdfedit/pdfdelete.php +++ /dev/null @@ -1,91 +0,0 @@ -server()) { - metaRefresh("../login.php"); - exit; -} - -// print standard header -echo $_SESSION['header']; -echo ("" . _("Delete PDF structure") . "\n"); -echo "\n"; -echo ("\n\n


\n"); - -// check if admin has submited delete operation -if ($_POST['submit']) { - // delete user profile - if(!deletePDFStructureDefinition($_POST['type'],$_POST['delete'])) { - StatusMessage('ERROR', '', _('Unable to delete PDF structure!') . ' ' . _('Scope') . ': ' . $_POST['type'] . ' ' . _('Name') . ': ' . substr($_POST['delete'],0,strlen($_POST['delete']) - 4)); - } - else { - StatusMessage('INFO', '', _('Deleted PDF structure:') . ' ' . _('Scope') . ': ' . $_POST['type'] . ' ' . _('Name') . ': ' . substr($_POST['delete'],0,strlen($_POST['delete']) - 4)); - } - echo ("
" . _("Back to PDF Editor") . ""); - echo ("\n"); - exit; -} - -// check if admin has aborted delete operation -if ($_POST['abort']) { - StatusMessage("INFO", "", _("Delete operation canceled.")); - echo ("
" . _("Back to PDF Editor") . ""); - echo ("\n"); - exit; -} - -// check if right type was given -$type = $_GET['type']; -if (($type == "user") || ($type == "host") || ($type == "group")) { - echo ("

" . _("Do you really want to delete this PDF structure?") . " "); - echo (_('Scope') . ': ' . $_GET['type'] . ' ' . _('Name') . ': ' . substr($_GET['delete'],0,strlen($_GET['delete']) - 4) . "

\n"); - echo ("
\n"); - echo ("

\n"); - echo ("\n"); - echo ("\n"); - echo (""); - echo (""); - echo ("

\n"); -} -else{ - // no valid pdf type - StatusMessage("ERROR", "", _("Wrong or missing type!") . " " . $type); - echo ("" . _("Back to PDF Editor") . ""); -} diff --git a/lam/templates/pdfedit/pdfmain.php b/lam/templates/pdfedit/pdfmain.php deleted file mode 100644 index f3b9378a..00000000 --- a/lam/templates/pdfedit/pdfmain.php +++ /dev/null @@ -1,149 +0,0 @@ -server()) { - metaRefresh("../login.php"); - exit; -} - -// check if user has pressed submit or abort button -if ($_POST['forward'] == "yes") { - // on abort go back to main page - if ($_POST['abort']) { - metaRefresh("../lists/listusers.php"); - } - // on submit forward to other pdf structure pages - else if($_POST['submit']) { - if($_POST['pdf'] == 'new') { - metaRefresh('pdfpage.php?type=' . $_POST['scope']); - } - else if($_POST['pdf'] == 'edit') { - $edit = split(':',$_POST['edit']); - metaRefresh('pdfpage.php?type=' . $edit[0] . '&edit=' . $edit[1]); - } - else if($_POST['pdf'] == 'delete') { - $delete = split(':',$_POST['delete']); - metaRefresh('pdfdelete.php?type=' . $delete[0] . '&delete=' . $delete[1]); - } - } - exit; -} - -$scopes = getAvailableScopes(); - -$availableStructureDefinitions = ''; -$availableScopes = ''; - -foreach($scopes as $scope) { - $pdfStructDefs = getPDFStructureDefinitions($scope); - $availableScopes .= '\n"; - - foreach($pdfStructDefs as $pdfStructureDefinition) { - $availableStructureDefinitions .= '\n"; - } -} - -echo $_SESSION['header']; -?> - LDAP Account Manager - - - -

-
- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - -
-
-

- - -

- - - "> - "> -

- -
- - \ No newline at end of file diff --git a/lam/templates/pdfedit/pdfpage.php b/lam/templates/pdfedit/pdfpage.php deleted file mode 100644 index 7bc343fa..00000000 --- a/lam/templates/pdfedit/pdfpage.php +++ /dev/null @@ -1,899 +0,0 @@ -server()) { - metaRefresh("../login.php"); - exit; -} - -// Write $_POST variables to $_GET when form was submitted via post -if(isset($_POST['type'])) { - $_GET = $_POST; - if($_POST['pdfname'] == '') { - unset($_GET['pdfname']); - } -} - -// Abort and go back to main pdf structure page -if(isset($_GET['abort'])) { - metarefresh('pdfmain.php'); - exit; -} -// Check if pdfname is valid, then save current structure to file and go to -// main pdf structure page -elseif(isset($_GET['submit'])) { - if(!isset($_GET['pdfname']) || !preg_match('/[a-zA-Z0-9\-\_\.]+/',$_GET['pdfname'])) { - StatusMessage('ERROR',_('PDF-structure name not valid'),_('The name for that PDF-structure you submitted is not valid. A valid name must constist at least of one of the following characters \'a-z\',\'A-Z\',\'0-9\',\'_\',\'-\',\'.\'.')); - } - else { - savePDFStructureDefinitions($_GET['type'],$_GET['pdfname'] . '.xml'); - metarefresh('pdfmain.php'); - exit; - } -} -// Add a new section or static text -elseif(isset($_GET['add'])) { - // Check if name for new section is specified when needed - if($_GET['add_type'] == 'section' && $_GET['section_type'] == 'text' && (!isset($_GET['section_text']) || $_GET['section_text'] == '')) { - StatusMessage('ERROR',_('No section text specified'),_('The headline for a new section must contain at least one character.')); - } - // Check if text for static text field is specified - elseif($_GET['add_type'] == 'text' && (!isset($_GET['text_text']) || $_GET['text_text'] == '')) { - StatusMessage('ERROR',_('No static text specified'),_('The static text must contain at least one character.')); - } - else { - // Add a new section - if($_GET['add_type'] == 'section') { - $attributes = array(); - // Add a new section with user headline - if($_GET['section_type'] == 'text') { - $attributes['NAME'] = $_GET['section_text']; - } - // Add a new section with a module value headline - elseif($_GET['section_type'] == 'item') { - $attributes['NAME'] = '_' . $_GET['section_item']; - } - $entry = array(array('tag' => 'SECTION','type' => 'open','level' => '2','attributes' => $attributes),array('tag' => 'SECTION','type' => 'close','level' => '2')); - } - // Add new static text field - elseif($_GET['add_type'] == 'text') { - $entry = array(array('tag' => 'TEXT','type' => 'complete','level' => '2','value' => $_GET['text_text'])); - } - // Insert new field in structure - array_splice($_SESSION['currentPDFStructure'],$_GET['add_position'],0,$entry); - } -} -// Add a new value field -elseif(isset($_GET['add_field'])) { - // Get available modules - $modules = explode(',',$_GET['modules']); - $fields = array(); - // Search each module for selected values - foreach($modules as $module) { - if(isset($_GET[$module])) { - foreach($_GET[$module] as $field) { - // Create ne value entry - $fields[] = array('tag' => 'ENTRY','type' => 'complete','level' => '3','attributes' => array('NAME' => $module . '_' . $field)); - } - } - } - if(count($fields) > 0) { - $pos = 0; - // Find begin section to insert into - while($pos < $_GET['section']) { - next($_SESSION['currentPDFStructure']); - $pos++; - } - $current = next($_SESSION['currentPDFStructure']); - $pos++; - // End of section to insert into - while($current && $current['tag'] != 'SECTION' && $current['type'] != 'close') { - $current = next($_SESSION['currentPDFStructure']); - $pos++; - } - // Insert new entry before closing section tag - array_splice($_SESSION['currentPDFStructure'],$pos,0,$fields); - } -} -// Change section headline -elseif(isset($_GET['change'])) { - $alter = explode('_',$_GET['change']); - $newvalue = $_GET['section_' . $alter[0]]; - if($alter[1] == 'item') { - $newvalue = '_' . $newvalue; - } - $_SESSION['currentPDFStructure'][$alter[0]]['attributes']['NAME'] = $newvalue; -} -// Remove section, static text or value entry from structure -elseif(isset($_GET['remove'])) { - $start = 0; - // Find element to remove - while($start < $_GET['remove']) { - next($_SESSION['currentPDFStructure']); - $start++; - } - $remove = current($_SESSION['currentPDFStructure']); - // We have a section to remove - if($remove['tag'] == "SECTION") { - $end = $start; - $current = next($_SESSION['currentPDFStructure']); - $end++; - // Find end of section to remove - while($current && $current['tag'] != 'SECTION' && $current['type'] != 'close') { - $current = next($_SESSION['currentPDFStructure']); - $end++; - } - // Remove complete section with all value entries in it from structure - array_splice($_SESSION['currentPDFStructure'],$start,$end - $start + 1); - } - // We have a value entry to remove - elseif($remove['tag'] == "ENTRY") { - array_splice($_SESSION['currentPDFStructure'],$start,1); - } - // We hava a static text to remove - elseif($remove['tag'] == "TEXT") { - array_splice($_SESSION['currentPDFStructure'],$start,1); - } -} -// Move a section, static text or value entry upwards -elseif(isset($_GET['up'])) { - $tmp = $_SESSION['currentPDFStructure'][$_GET['up']]; - $prev = $_SESSION['currentPDFStructure'][$_GET['up'] - 1]; - // We have a section or static text to move - if($tmp['tag'] == 'SECTION' || $tmp['tag'] == 'TEXT') { - $pos = 0; - $borders = array(); - $current = current($_SESSION['currentPDFStructure']); - // Add borders of sections and static text entry to array - if($current['tag'] == 'SECTION') { - $borders[$current['type']][] = $pos; - } - elseif($current['tag'] == 'TEXT') { - $borders['open'][] = $pos; - $borders['close'][] = $pos; - } - // Find all sections and statci text fields before the section or static - // text entry to move upwards - while($pos < $_GET['up']) { - $current = next($_SESSION['currentPDFStructure']); - $pos++; - if($current['tag'] == 'SECTION') { - $borders[$current['type']][] = $pos; - } - elseif($current['tag'] == 'TEXT') { - $borders['open'][] = $pos; - $borders['close'][] = $pos; - } - } - // Move only when not topmost element - if(count($borders['close']) > 0) { - // We have a section to move up - if($current['tag'] == 'SECTION') { - $current = next($_SESSION['currentPDFStructure']); - $pos++; - // Find end of section to move - while($current && $current['tag'] != 'SECTION' && $current['type'] != 'close') { - $current = next($_SESSION['currentPDFStructure']); - $pos++; - } - $borders['close'][] = $pos; - } - // Calculate the entries to move and move them - $cut_start = $borders['open'][count($borders['open']) - 1]; - $cut_count = $borders['close'][count($borders['close']) - 1] - $borders['open'][count($borders['open']) - 1] + 1; - $insert_pos = $borders['open'][count($borders['open']) - 2]; - $tomove = array_splice($_SESSION['currentPDFStructure'],$cut_start,$cut_count); - array_splice($_SESSION['currentPDFStructure'],$insert_pos,0,$tomove); - } - } - // We have a value entry to move; move it only if its not the topmost - // entry in this section - elseif($tmp['tag'] == 'ENTRY' && $prev['tag'] == 'ENTRY') { - $_SESSION['currentPDFStructure'][$_GET['up']] = $prev; - $_SESSION['currentPDFStructure'][$_GET['up'] - 1] = $tmp; - } -} -// Move a section, static text field or value entry downwards -elseif(isset($_GET['down'])) { - $tmp = $_SESSION['currentPDFStructure'][$_GET['down']]; - $next = $_SESSION['currentPDFStructure'][$_GET['down'] + 1]; - // We have a section or static text to move - if($tmp['tag'] == 'SECTION' || $tmp['tag'] == 'TEXT') { - $pos = 0; - $current = current($_SESSION['currentPDFStructure']); - // Find section or static text entry to move - while($pos < $_GET['down']) { - $current = next($_SESSION['currentPDFStructure']); - $pos++; - } - $borders = array(); - // We have a section to move - if($current['tag'] == 'SECTION'){ - $borders[$current['type']][] = $pos; - $current = next($_SESSION['currentPDFStructure']); - $pos++; - // Find end of section to move - while($current && $current['tag'] != 'SECTION' && $current['type'] != 'close') { - $current = next($_SESSION['currentPDFStructure']); - $pos++; - } - $borders['close'][] = $pos; - } - // We have a static text entry to move - elseif($current['tag'] == 'TEXT') { - $borders['open'][] = $pos; - $borders['close'][] = $pos; - } - $current = next($_SESSION['currentPDFStructure']); - $pos++; - // Find next section or static text entry in structure - if($current) { - // Next is a section - if($current['tag'] == 'SECTION') { - $borders[$current['type']][] = $pos; - $current = next($_SESSION['currentPDFStructure']); - $pos++; - // Find end of this section - while($current && $current['tag'] != 'SECTION' && $current['type'] != 'close') { - if($current['tag'] == 'SECTION') { - $borders[$current['type']][] = $pos; - } - $current = next($_SESSION['currentPDFStructure']); - $pos++; - } - } - // Next is static text entry - elseif($current['tag'] == 'TEXT') { - $borders['open'][] = $pos; - } - $borders['close'][] = $pos; - } - // Move only downwars if not bottenmost element of this structure - if(count($borders['open']) > 1) { - // Calculate entries to move and move them - $cut_start = $borders['open'][count($borders['open']) - 1]; - $cut_count = $borders['close'][count($borders['close']) - 1] - $borders['open'][count($borders['open']) - 1] + 1; - $insert_pos = $borders['open'][count($borders['open']) - 2]; - $tomove = array_splice($_SESSION['currentPDFStructure'],$cut_start,$cut_count); - array_splice($_SESSION['currentPDFStructure'],$insert_pos,0,$tomove); - } - } - // We have a value entry to move; move it only if it is not the bottmmost - // element of this section. - elseif($tmp['tag'] == 'ENTRY' && $next['tag'] == 'ENTRY') { - $_SESSION['currentPDFStructure'][$_GET['down']] = $_SESSION['currentPDFStructure'][$_GET['down'] + 1]; - $_SESSION['currentPDFStructure'][$_GET['down'] + 1] = $tmp; - } -} -// TODO implement page handling -elseif(isset($_POST['page'])) { - if($_POST['logoFile'] != 'printLogo.jpg' && $_POST['logoFile'] != $_SESSION['currentPageDefinitions']['filename']) { - $_SESSION['currentPageDefinitions']['filename'] = $_POST['logoFile']; - } - if($_POST['logo-width'] != '50' && $_POST['logo-width'] != $_SESSION['currentPageDefinitions']['logo-width']) { - if($_POST['logo-width'] <= 50 && $_POST['logo-width'] > 0) { - $_SESSION['currentPageDefinitions']['logo-width'] = $_POST['logo-width']; - } - } - if($_POST['logo-height'] != '20' && $_POST['logo-height'] != $_SESSION['currentPageDefinitions']['logo-height']) { - if($_POST['logo-height'] <= 20 && $_POST['logo-height'] > 0) { - $_SESSION['currentPageDefinitions']['logo-height'] = $_POST['logo-height']; - } - } - if(isset($_POST['logo-max']) && !isset($_SESSION['currentPageDefinitions']['logo-max'])) { - $_SESSION['currentPageDefinitions']['logo-max'] = true; - } - if($_POST['headline'] != 'LDAP Account Manager' && $_POST['headline'] != $_SESSION['currentPageDefinitions']['headline']) { - $_SESSION['currentPageDefinitions']['headline'] = str_replace('<','',str_replace('>','',$_POST['headline'])); - } - if($_POST['margin-top'] != '10.0' && $_SESSION['currentPageDefinitions']['margin-top'] != $_POST['margin-top']) { - $_SESSION['currentPageDefinitions']['margin-top'] = $_POST['margin-top']; - } - if($_POST['margin-bottom'] != '20.0' && $_SESSION['currentPageDefinitions']['margin-bottom'] != $_POST['margin-bottom']) { - $_SESSION['currentPageDefinitions']['margin-bottom'] = $_POST['margin-bottom']; - } - if($_POST['margin-left'] != '10.0' && $_SESSION['currentPageDefinitions']['margin-left'] != $_POST['margin-left']) { - $_SESSION['currentPageDefinitions']['margin-left'] = $_POST['margin-left']; - } - if($_POST['margin-right'] != '10.0' && $_SESSION['currentPageDefinitions']['margin-right'] != $_POST['margin-right']) { - $_SESSION['currentPageDefinitions']['margin-right'] = $_POST['margin-right']; - } - if(isset($_POST['defaults'])) { - foreach($_POST['defaults'] as $default) { - switch($default) { - case 'logoFile': - unset($_SESSION['currentPageDefinitions']['filename']); - break; - case 'logoSize': - unset($_SESSION['currentPageDefinitions']['logo-width']); - unset($_SESSION['currentPageDefinitions']['logo-height']); - unset($_SESSION['currentPageDefinitions']['logo-max']); - break; - case 'headline': - unset($_SESSION['currentPageDefinitions']['headline']); - break; - case 'margin-top': - unset($_SESSION['currentPageDefinitions']['margin-top']); - break; - case 'margin-bottom': - unset($_SESSION['currentPageDefinitions']['margin-bottom']); - break; - case 'margin-left': - unset($_SESSION['currentPageDefinitions']['margin-left']); - break; - case 'margin-right': - unset($_SESSION['currentPageDefinitions']['margin-right']); - break; - default: - break; - } - } - if(count($_SESSION['currentPageDefinitions']['margin']) == 0) { - unset($_SESSION['currentPageDefinitions']['margin']); - } - } -} - -// Load PDF structure from file if it is not defined in session -if(!isset($_SESSION['currentPDFStructure'])) { - // Load structure file to be edit - if($_GET['edit']) { - $load = loadPDFStructureDefinitions($_GET['type'],$_GET['edit']); - $_SESSION['currentPDFStructure'] = $load['structure']; - $_SESSION['currentPageDefinitions'] = $load['page_definitions']; - $_GET['pdfname'] = substr($_GET['edit'],0,strlen($_GET['edit']) - 4); - } - // Load default structure file when creating a new one - else { - $load = loadPDFStructureDefinitions($_GET['type']); - $_SESSION['currentPDFStructure'] = $load['structure']; - $_SESSION['currentPageDefinitions'] = $load['page_definitions']; - } -} - -// Load available fields from modules when not set in session -if(!isset($_SESSION['availablePDFFields'])) { - $_SESSION['availablePDFFields'] = getAvailablePDFFields($_GET['type']); -} - -// Create the values for the dropdown boxes for section headline defined by -// value entries and fetch all available modules -$modules = array(); -$section_items_array = array(); -$section_items = ''; -foreach($_SESSION['availablePDFFields'] as $module => $values) { - $modules[] = $module; - foreach($values as $attribute) { - $section_items_array[] = $module . '_' . $attribute; - $section_items .= "\t\t\t\t\t\t\t\t\t\t\t\t\n"; - } -} -$modules = join(',',$modules); - -$logoFiles = getAvailableLogos(); -$logos = '\n"; -foreach($logoFiles as $logoFile) { - $logos .= "\t\t\t\t\t\t\t\t\t\t\t\n"; -} - -// print header -echo $_SESSION['header']; -// TODO Change enctype of form -?> - LDAP Account Manager - - - -
-
- - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
- : - - - - - - -
- -

-

- - - - - - - - - - - - - - - - -
- - - cm -
- - - cm -
- > - - -
-
-

-
- -
- : - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
- : - - - - -
- : - - - - -
- : - - - - -
- : - - - - -
-
-
-
-
-
-
-
- - - - -' . _('Beginning') . "\n"; -// Print every entry in the current structure -foreach($_SESSION['currentPDFStructure'] as $key => $entry) { - // Create the up/down/remove links - $links = "\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n"; - // We have a new section to start - if($entry['tag'] == "SECTION" && $entry['type'] == "open") { - $name = $entry['attributes']['NAME']; - ?> - - - - - - - ' . $section_headline . "\n"; - ?> - - - - ' . _('Static text') . "\n"; - ?> - - - - - - - - - - - - - - - - - - - - - - - -
\n\t\t\t\t\t\t\t\t\t\t" . _('Up') . "\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t" . _('Down') . "\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t" . _('Remove') . "\n\t\t\t\t\t\t\t\t\t
- - - - - - -    - - -
-
-
- - - -
- - - -
-
-
- - - - -
-
- - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
- : - - -
-
-
- - -
-
-
- - -
- - - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
- - -
- - - - - - - - -
- - -
-
-
-
-
-

 

-
- - - - - - - - - - - - - - - - - - - -
- : - - - - -
-   -
- - - - "> - - "> - -   -
-
-
- - -
- - - - - $fields) { - ?> - - - - - - - - - - - -
- -
- - -
-
-
-
-
- - -
- - - \ No newline at end of file diff --git a/lam/templates/profedit/profilecreate.php b/lam/templates/profedit/profilecreate.php deleted file mode 100644 index fc7838cc..00000000 --- a/lam/templates/profedit/profilecreate.php +++ /dev/null @@ -1,120 +0,0 @@ -server()) { - metaRefresh("../login.php"); - exit; -} - -// print header -echo $_SESSION['header']; -echo "\n\n"; -echo "\n\n
\n"; - -// create option array to check and save -$options = array(); -$opt_keys = array_keys($_SESSION['profile_types']); -foreach ($opt_keys as $element) { - // text fields - if ($_SESSION['profile_types'][$element] == "text") { - $options[$element] = array($_POST[$element]); - } - // checkboxes - elseif ($_SESSION['profile_types'][$element] == "checkbox") { - if ($_POST[$element] == "on") $options[$element] = array('true'); - else $options[$element] = array('false'); - } - // dropdownbox - elseif ($_SESSION['profile_types'][$element] == "select") { - $options[$element] = array($_POST[$element]); - } - // multiselect - elseif ($_SESSION['profile_types'][$element] == "multiselect") { - $options[$element] = $_POST[$element]; // value is already an array - } -} - -// remove double slashes if magic quotes are on -if (get_magic_quotes_gpc() == 1) { - foreach ($opt_keys as $element) { - if (is_string($options[$element][0])) $options[$element][0] = stripslashes($options[$element][0]); - } -} - -// check options -$errors = checkProfileOptions($_POST['accounttype'], $options); -// print error messages if any -if (sizeof($errors) > 0) { - for ($i = 0; $i < sizeof($errors); $i++) { - if (sizeof($errors[$i]) > 3) { // messages with additional variables - StatusMessage($errors[$i][0], $errors[$i][1], $errors[$i][2], $errors[$i][3]); - } - else { - StatusMessage($errors[$i][0], $errors[$i][1], $errors[$i][2]); - } - } -} -else { // input data is valid, save profile - // save profile - if (saveAccountProfile($options, $_POST['profname'], $_POST['accounttype'])) { - echo StatusMessage("INFO", _("Profile was saved."), $_POST['profname']); - } - else StatusMessage("ERROR", _("Unable to save profile!"), $_POST['profname']); - echo ("

" . _("Back to Profile Editor") . "

"); -} - -echo ("\n"); - -?> diff --git a/lam/templates/profedit/profiledelete.php b/lam/templates/profedit/profiledelete.php deleted file mode 100644 index 25f88a89..00000000 --- a/lam/templates/profedit/profiledelete.php +++ /dev/null @@ -1,94 +0,0 @@ -server()) { - metaRefresh("../login.php"); - exit; -} - -// print standard header -echo $_SESSION['header']; -echo ("" . _("Delete profile") . "\n"); -echo "\n"; -echo ("\n\n


\n"); - -// check if admin has submited delete operation -if ($_POST['submit']) { - // delete profile - if (!delAccountProfile($_POST['del'], $_POST['type'])) { - StatusMessage("ERROR", _("Unable to delete profile!"), $_POST['del'] . "." . $_POST['type']); - } - else StatusMessage("INFO", _("Deleted profile:"), $_POST['del'] . "." . $_POST['type']); - echo ("
" . _("Back to Profile Editor") . ""); - echo ("\n"); - exit; -} - -// check if admin has aborted delete operation -if ($_POST['abort']) { - StatusMessage("INFO", "", _("Delete operation canceled.")); - echo ("
" . _("Back to Profile Editor") . ""); - echo ("\n"); - exit; -} - -// check if right type was given -$type = $_GET['type']; -if (($type == "user") || ($type == "host") || ($type == "group")) { - // user profile - echo ("

" . _("Do you really want to delete this profile?") . " "); - echo ($_GET['del'] . "

\n"); - echo ("
\n"); - echo ("

\n"); - echo ("\n"); - echo ("\n"); - echo (""); - echo (""); - echo ("

\n"); -} -else{ - // no valid profile type - StatusMessage("ERROR", "", _("Wrong or missing type!") . " " . $type); - echo ("" . _("Back to Profile Editor") . ""); -} diff --git a/lam/templates/profedit/profilemain.php b/lam/templates/profedit/profilemain.php deleted file mode 100644 index 25764111..00000000 --- a/lam/templates/profedit/profilemain.php +++ /dev/null @@ -1,164 +0,0 @@ - 'user', 'title' => _('User profiles'), 'profiles' => ""), - array('scope' => 'group', 'title' => _('Group profiles'), 'profiles' => ""), - array('scope' => 'host', 'title' => _('Host profiles'), 'profiles' => "") -); - -// check if user is logged in, if not go to login -if (!$_SESSION['ldap'] || !$_SESSION['ldap']->server()) { - metaRefresh("../login.php"); - exit; -} - -// check if user has pressed submit or abort button -if ($_POST['submit']) { - // on abort go back to main page - if ($_POST['abort']) { - metaRefresh("../lists/listusers.php"); - } - // on submit forward to other profile pages - elseif ($_POST['submit']) { - for ($i = 0; $i < sizeof($profileClasses); $i++) { - // create new profile - if ($_POST['profile'] == ("new" . $profileClasses[$i]['scope'])) { - metaRefresh("profilepage.php?type=" . $profileClasses[$i]['scope']); - } - // edit profile - elseif($_POST['profile'] == ("edit" . $profileClasses[$i]['scope'])) { - metaRefresh("profilepage.php?type=" . $profileClasses[$i]['scope'] . - "&edit=" . $_POST['e_' . $profileClasses[$i]['scope']]); - } - // delete profile - elseif($_POST['profile'] == ("del" . $profileClasses[$i]['scope'])) { - metaRefresh("profiledelete.php?type=" . $profileClasses[$i]['scope'] . - "&del=" . $_POST['d_' . $profileClasses[$i]['scope']]); - } - } - } - exit; -} - -// get list of profiles for each account type -for ($i = 0; $i < sizeof($profileClasses); $i++) { - $profileList = getAccountProfiles($profileClasses[$i]['scope']); - $profiles = ""; - for ($l = 0; $l < sizeof($profileList); $l++) { - $profiles = $profiles . "\n"; - } - $profileClasses[$i]['profiles'] = $profiles; -} - -echo $_SESSION['header']; - - -echo "LDAP Account Manager\n"; -echo "\n"; -echo "\n"; -echo "\n"; - -echo "

\n"; - -echo "
\n"; - -for ($i = 0; $i < sizeof($profileClasses); $i++) { - - echo "
\n"; - echo "\n"; - echo "" . $profileClasses[$i]['title'] . "\n"; - echo "\n"; - echo "\n"; - - // new profile - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - // edit profile - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - // delete profile - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - echo "\n"; - echo "" . _("Create a new profile") . "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "" . _("Edit profile") . "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "" . _("Delete profile") . "
\n"; - echo "
\n"; - - echo "

\n"; - -} - - -echo "

\n"; -echo "\n"; -echo "\n"; -echo "

\n"; - -echo "
\n"; -echo "\n"; -echo "\n"; - -?> diff --git a/lam/templates/profedit/profilepage.php b/lam/templates/profedit/profilepage.php deleted file mode 100644 index 4f390e84..00000000 --- a/lam/templates/profedit/profilepage.php +++ /dev/null @@ -1,252 +0,0 @@ -server()) { - metaRefresh("../login.php"); - exit; -} - -// empty list of attribute types -$_SESSION['profile_types'] = array(); - -// print header -echo $_SESSION['header']; -echo "\n\n"; -echo "
\n"; - -// check if account type is valid -$type = $_GET['type']; -if (!(($type == 'user') || ($type == 'group') || ($type == 'host'))) meta_refresh('profilemain.php'); - -// get module options -$options = getProfileOptions($type); - -// load old profile if needed -$old_options = array(); -if ($_GET['edit']) { - $old_options = loadAccountProfile($_GET['edit'], $type); -} - -// display formular -echo ("
\n"); - -// suffix box -// get root suffix -$rootsuffix = call_user_func(array($_SESSION['config'], 'get_' . ucfirst($type) . 'Suffix')); -// get subsuffixes -$suffixes = array(); -foreach ($_SESSION['ldap']->search_units($rootsuffix) as $suffix) { - $suffixes[] = $suffix; -} -if (sizeof($suffixes) > 0) { -echo "
\n" . _("LDAP suffix") . "\n"; - echo _("LDAP suffix") . ":  "; - echo "\n"; - echo "  " . _('Help') . "\n"; -echo "
\n
\n"; -} - -// index for tab order (1 is LDAP suffix) -$tabindex = 2; - -// display module options -$modules = array_keys($options); -for ($m = 0; $m < sizeof($modules); $m++) { - // ignore modules without options - if (sizeof($options[$modules[$m]]) < 1) continue; - echo "
\n"; - echo "" . getModuleAlias($modules[$m], $type) . "\n"; - echo "\n"; - for ($l = 0; $l < sizeof($options[$modules[$m]]); $l++) { // option lines - echo "\n"; - for ($o = 0; $o < sizeof($options[$modules[$m]][$l]); $o++) { // line parts - echo ""; - print_option($options[$modules[$m]][$l][$o], $modules[$m], $old_options, $tabindex); - echo "\n"; - } - echo "\n"; - } - echo "
\n"; - echo "
\n"; - echo "
"; -} - -// profile name and submit/abort buttons -echo ("\n"); -echo ("\n"); -echo ("\n"); -$tabindex++; -echo ("\n"); -echo ("\n"); -echo ("\n"); -echo ("\n"); -echo (""); -echo ("\n"); -echo ("\n"); -$tabindex++; -echo ("\n"); -$tabindex++; -echo ("\n"); -echo (""); -echo ("\n"); -echo ("
" . _("Profile name") . ":" . _("Help") . "
 
\n"); -$tabindex++; -echo (" 
\n"); -echo "\n"; - -echo ("
\n"); - -/** -* prints out the row of a section table including the option name, values and help -* -* @param array $values an array formated as module option -* @param string $module_name the name of the module the options belong to -* @param array $old_options a hash array with the values from the loaded profile -* @param integer $tabindex current value for tabulator order -*/ -function print_option($values, $modulename, $old_options, &$tabindex) { - switch ($values['kind']) { - // text value - case 'text': - echo $values['text'] . "\n"; - break; - // help link - case 'help': - echo "" . _('Help') . "\n"; - break; - // input field - case 'input': - if (($values['type'] == 'text') || ($values['type'] == 'checkbox')) { - if ($values['type'] == 'text') { - $output = "\n"; - $_SESSION['profile_types'][$values['name']] = "multiselect"; - } - else { - echo "\n"; - $tabindex++; - break; - // subtable - case 'table': - echo "\n"; - for ($l = 0; $l < sizeof($values['value']); $l++) { // option lines - echo "\n"; - for ($o = 0; $o < sizeof($values['value'][$l]); $o++) { // line parts - echo "\n"; - } - echo "\n"; - } - echo "
"; - print_option($values['value'][$l][$o], $values['value'], $old_options, $tabindex); - echo "
\n"; - break; - // print error message for invalid types - default: - echo "Unrecognized type" . ": " . $values['kind'] . "\n"; - break; - } -} - -?> diff --git a/lam/templates/tools.php b/lam/templates/tools.php deleted file mode 100644 index 6a712839..00000000 --- a/lam/templates/tools.php +++ /dev/null @@ -1,113 +0,0 @@ -\n"; -echo "\n"; -echo ""; - -echo "\n"; - -// list of tools and descriptions -$tools = array(); -// profile editor -$tools[] = array( - "name" => _("Profile editor"), - "description" => _("Here you can manage your account profiles."), - "link" => "profedit/profilemain.php" - ); - -// Samba 3 domains -if ($_SESSION['config']->get_DomainSuffix() && ($_SESSION['config']->get_DomainSuffix() != "")) { -$tools[] = array( - "name" => _("Samba 3 domains"), - "description" => _("Manages Samba 3 domain accounts."), - "link" => "lists/listdomains.php" - ); -} - -// file upload -$tools[] = array( - "name" => _("File upload"), - "description" => _("Creates accounts by uploading a CSV formated file."), - "link" => "masscreate.php" - ); - -// OU editor -$tools[] = array( - "name" => _("OU editor"), - "description" => _("Manages OU objects in your LDAP tree."), - "link" => "ou_edit.php" - ); - -// PDF editor -$tools[] = array( - "name" => _("PDF editor"), - "description" => _("This tool allows you to customize the PDF pages."), - "link" => "pdfedit/pdfmain.php" - ); - -echo "

 

\n"; - -// print tools table -echo "\n"; - -for ($i = 0; $i < sizeof($tools); $i++) { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; -} - -echo "
   
"; - echo "" . $tools[$i]['name'] . ""; - echo "

     "; - echo $tools[$i]['description']; - echo "   
\n"; - - -echo "\n"; -echo "\n"; - -?> diff --git a/lam/tests/conf-main-test.php b/lam/tests/conf-main-test.php deleted file mode 100644 index 856f4b06..00000000 --- a/lam/tests/conf-main-test.php +++ /dev/null @@ -1,70 +0,0 @@ -"; -echo (" Current Values

"); -echo "Password: " . $conf->password . "
\n"; -echo "Default: " . $conf->default . "
\n"; -echo ("

Starting Test...

"); -// now all prferences are loaded -echo ("Loading preferences..."); -$password = $conf->password; -$default = $conf->default; -echo ("done
"); -// next we modify them and save config.cfg -echo ("Changing preferences..."); -$conf->password = "123456"; -$conf->default = "lam"; -$conf->save(); -echo ("done
"); -// at last all preferences are read from config.cfg and compared -echo ("Loading and comparing..."); -$conf = new CfgMain(); -if ($conf->password != "123456") echo ("
Saving password failed!
"); -if ($conf->default != "lam") echo ("
Saving Default failed!
"); -echo ("done
"); -// restore old values -echo ("Restoring old preferences..."); -$conf->password = $password; -$conf->default = $default; -$conf->save(); -echo ("done
"); -// finished -echo ("
Test is complete."); -echo ("

Current Config

"); -echo "Password: " . $conf->password . "
\n"; -echo "Default: " . $conf->default . "
\n"; - -?> diff --git a/lam/tests/conf-test.php b/lam/tests/conf-test.php deleted file mode 100644 index cb0eaddb..00000000 --- a/lam/tests/conf-test.php +++ /dev/null @@ -1,125 +0,0 @@ -"; -echo (" Current Config

"); -$conf->printconf(); -echo ("

Starting Test...

"); -// now all preferences are loaded -echo ("Loading preferences..."); -$ServerURL = $conf->get_ServerURL(); -$cachetimeout = $conf->get_cacheTimeout(); -$Passwd = $conf->get_Passwd(); -$Adminstring = $conf->get_Adminstring(); -$Suff_users = $conf->get_UserSuffix(); -$Suff_groups = $conf->get_GroupSuffix(); -$Suff_hosts = $conf->get_HostSuffix(); -$Suff_domains = $conf->get_DomainSuffix(); -$userlistAttributes = $conf->get_userlistAttributes(); -$grouplistAttributes = $conf->get_grouplistAttributes(); -$hostlistAttributes = $conf->get_hostlistAttributes(); -$maxlistentries = $conf->get_maxlistentries(); -$defaultlanguage = $conf->get_defaultlanguage(); -$scriptpath = $conf->get_scriptPath(); -$scriptServer = $conf->get_scriptServer(); -$moduleSettings = $conf->get_moduleSettings(); -echo ("done
"); -// next we modify them and save lam.conf -echo ("Changing preferences..."); -$conf->set_ServerURL("ldap://123.345.678.123:777"); -$conf->set_cacheTimeout("33"); -$conf->set_Passwd("123456abcde"); -$conf->set_Adminstring("uid=test,o=test,dc=org;uid=root,o=test2,c=de"); -$conf->set_UserSuffix("ou=test,o=test,c=de"); -$conf->set_GroupSuffix("ou=testgrp,o=test,c=de"); -$conf->set_HostSuffix("ou=testhst,o=test,c=de"); -$conf->set_DomainSuffix("ou=testdom,o=test,c=de"); -$conf->set_userlistAttributes("#uid;#cn"); -$conf->set_grouplistAttributes("#gidNumber;#cn;#memberUID"); -$conf->set_hostlistAttributes("#cn;#uid;#description"); -$conf->set_maxlistentries("54"); -$conf->set_defaultlanguage("de_AT:iso639_de:Deutsch (Oesterreich)"); -$conf->set_scriptPath("/var/www/lam/lib/script"); -$conf->set_scriptServer("127.0.0.1"); -$conf->set_moduleSettings(array("test1" => array(11), "test2" => array("abc"), 'test3' => array(3))); -$conf->save(); -echo ("done
"); -// at last all preferences are read from lam.conf and compared -echo ("Loading and comparing..."); -$conf2 = new Config('test'); -if ($conf2->get_ServerURL() != "ldap://123.345.678.123:777") echo ("
Saving ServerURL failed!
"); -if ($conf2->get_cacheTimeout() != "33") echo ("
Saving Cache timeout failed!
"); -if ($conf2->get_Passwd() != "123456abcde") echo ("
Saving password failed!
"); -if ($conf2->get_Adminstring() != "uid=test,o=test,dc=org;uid=root,o=test2,c=de") echo ("
Saving admin string failed!
"); -if ($conf2->get_UserSuffix() != "ou=test,o=test,c=de") echo ("
Saving user suffix failed!
"); -if ($conf2->get_GroupSuffix() != "ou=testgrp,o=test,c=de") echo ("
Saving group suffix failed!
"); -if ($conf2->get_HostSuffix() != "ou=testhst,o=test,c=de") echo ("
Saving host suffix failed!
"); -if ($conf2->get_DomainSuffix() != "ou=testdom,o=test,c=de") echo ("
Saving domain suffix failed!
"); -if ($conf2->get_userlistAttributes() != "#uid;#cn") echo ("
Saving userlistAttributes failed!
"); -if ($conf2->get_grouplistAttributes() != "#gidNumber;#cn;#memberUID") echo ("
Saving grouplistAttributes failed!
"); -if ($conf2->get_hostlistAttributes() != "#cn;#uid;#description") echo ("
Saving hostlistAttributes failed!
"); -if ($conf2->get_maxlistentries() != "54") echo ("
Saving maxlistentries failed!
"); -if ($conf2->get_defaultlanguage() != "de_AT:iso639_de:Deutsch (Oesterreich)") echo ("
Saving default language failed!
"); -if ($conf2->get_scriptPath() != "/var/www/lam/lib/script") echo ("
Saving script path failed!
"); -if ($conf2->get_scriptServer() != "127.0.0.1") echo ("
Saving script server failed!
"); -$msettings = $conf2->get_moduleSettings(); -if (($msettings['test1'][0] != 11) || ($msettings['test2'][0] != 'abc') || ($msettings['test3'][0] != '3')) echo ("
Saving module settings failed!
"); -echo ("done
"); -// restore old values -echo ("Restoring old preferences..."); -$conf2->set_ServerURL($ServerURL); -$conf2->set_cacheTimeout($cachetimeout); -$conf2->set_Passwd($Passwd); -$conf2->set_Adminstring($Adminstring); -$conf2->set_UserSuffix($Suff_users); -$conf2->set_GroupSuffix($Suff_groups); -$conf2->set_HostSuffix($Suff_hosts); -$conf2->set_DomainSuffix($Suff_domains); -$conf2->set_userlistAttributes($userlistAttributes); -$conf2->set_grouplistAttributes($grouplistAttributes); -$conf2->set_hostlistAttributes($hostlistAttributes); -$conf2->set_maxlistentries($maxlistentries); -$conf2->set_defaultLanguage($defaultlanguage); -$conf2->set_scriptPath($scriptpath); -$conf2->set_scriptServer($scriptServer); -$conf2->set_moduleSettings($moduleSettings); -$conf2->save(); -echo ("done
"); -// finished -echo ("
Test is complete."); -echo ("

Current Config

"); -$conf2->printconf(); - -?> diff --git a/lam/tests/lib-pdf-test.php b/lam/tests/lib-pdf-test.php deleted file mode 100644 index 03080b85..00000000 --- a/lam/tests/lib-pdf-test.php +++ /dev/null @@ -1,73 +0,0 @@ -type = "user"; -$account->general_username = "mamu1"; -$account->general_uidnumber = "501"; -$account->general_surname = "Mustermann"; -$account->general_givenname = "Max"; -$account->general_group = "tg1"; -$account->general_groupadd = array("tg2","tg3"); -$account->general_homedir = "/home/m/mamu1"; -$account->general_shell = array("/bin/bash","/bin/sh"); -$account->unix_password = "secret1"; -$account->unix_password_no = "1"; -$account->smb_flags['N'] = "1"; -array_push($accounts,$account); -$account = new Account(); -$account->type = "user"; -$account->general_username = "mamu1"; -$account->general_uidnumber = "501"; -$account->general_surname = "Mustermann"; -$account->general_givenname = "Max"; -$account->general_group = "tg1"; -$account->general_groupadd = array("tg2","tg3"); -$account->general_homedir = "/home/m/mamu1"; -$account->general_shell = array("/bin/bash"); -$account->unix_password = "secret1"; -$account->unix_password_no = "0"; -$account->smb_useunixpwd = "1"; -array_push($accounts,$account); -$account = new Account(); -$account->type = "user"; -$account->general_username = "mamu1"; -$account->general_uidnumber = "501"; -$account->general_surname = "Mustermann"; -$account->general_givenname = "Max"; -$account->general_group = "tg1"; -$account->general_groupadd = array("tg2","tg3"); -$account->general_homedir = "/home/m/mamu1"; -$account->general_shell = array("/bin/bash","/bin/sh"); -$account->unix_password = "secret1"; -$account->unix_password_no = "0"; -$account->smb_useunixpwd = "0"; -array_push($accounts,$account); - -createUserPDF($accounts); -?> diff --git a/lam/tests/module_pdf-test.php b/lam/tests/module_pdf-test.php deleted file mode 100644 index a911855f..00000000 --- a/lam/tests/module_pdf-test.php +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/php -q -Test keyTest value
")); -//print_r(processLine("

Test p


")); - - $entries = array("Last name" => array("Test keyTest value"),"First name" => array("

Test p

"),"User quotas" => array("User quotasMountpointSoft blockSoft inodeHard blockHard inode","/usr1010015150")); - $structure = getStructure(array("User")); - $structure = $structure['User']; - - $pdf = new LamPDF("User"); - - // Loop over each account and add a new page in the PDF file for it - // Start a new page for each account - $pdf->AddPage(); - - // Get PDF entries for the current account - //$entries = $account->get_pdfEntries($account_type); - - // Now create the PDF file acording to the structure with the submitted values - foreach($structure as $entry) { - // We have a new section to start - $name = $entry['attributes']['NAME']; - if($entry['tag'] == "SECTION" && $entry['type'] == "open") { - if(preg_match("/^\_[a-z]+/",$name)) { - $section_headline = $entries[ucwords(substr($name,1))][0]; - } - else { - $section_headline = $name; - } - $pdf->setFont("arial","B",12); - $pdf->Write(5,"- " . _($section_headline) . ":"); - $pdf->Ln(6); - } - // We have a section to end - elseif($entry['tag'] == "SECTION" && $entry['type'] == "close") { - $pdf->Ln(9); - } - // We have to include a static text. - elseif($entry['tag'] == "TEXT") { - - } - // We have to include an entry from the account - elseif($entry['tag'] == "ENTRY") { - // Get current entry - $entry = $entries[$name]; - - // Loop over all rows of this entry (most of the time this will be just one) - if($entry != null) { - foreach($entry as $line) { - // Substitue XML syntax with valid FPDF methods - $methods = processLine($line); - // Call every method - foreach($methods as $method) { - call_user_method_array ($method[0],$pdf,$method[1]); - } - } - $key = false; - } - } - } - $pdf->Close(); - $pdf->Output('/home/md/workspace/lam/tests/test.pdf','F'); -?> \ No newline at end of file diff --git a/lam/tests/status-test.php b/lam/tests/status-test.php deleted file mode 100644 index ae6a7d68..00000000 --- a/lam/tests/status-test.php +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - diff --git a/lam/tmp/.htaccess b/lam/tmp/.htaccess deleted file mode 100644 index 5a928f6d..00000000 --- a/lam/tmp/.htaccess +++ /dev/null @@ -1 +0,0 @@ -Options -Indexes