gosa-plugin-fai-2.7.4/0000755000175000017500000000000011752422555013512 5ustar cajuscajusgosa-plugin-fai-2.7.4/contrib/0000755000175000017500000000000011752422555015152 5ustar cajuscajusgosa-plugin-fai-2.7.4/contrib/fai.ldif0000644000175000017500000003731011551010156016540 0ustar cajuscajus# ################################################################################ # dn: cn=fai,cn=schema,cn=config objectClass: olcSchemaConfig cn: fai # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.1 NAME 'FAIclass' DESC 'Storage for FAI class names' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.2 NAME 'FAIpriority' DESC 'Storage for FAI priorities' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.3 NAME 'FAIpartitionType' DESC 'Storage for FAI partition types' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.4 NAME 'FAIpartitionNr' DESC 'Storage for FAI partition devices' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.5 NAME 'FAImountOptions' DESC 'Storage for FAI partition mount options' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.6 NAME 'FAImountPoint' DESC 'Storage for FAI partition mount points' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.7 NAME 'FAIfsOptions' DESC 'Storage for FAI partition generation options' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.8 NAME 'FAIfsType' DESC 'Storage for FAI partition types' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.9 NAME 'FAIscript' DESC 'General storage field for multiline text aka scripts' SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.10 NAME 'FAItask' DESC 'Note for which FAI tasks a hook is made for' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.11 NAME 'FAIvariable' DESC 'Store debconf template variable names' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.12 NAME 'FAIvariableContent' DESC 'Store debconf template variable contents' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.13 NAME 'FAIvariableType' DESC 'Store debconf template variable type' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.14 NAME 'FAIinstallMethod' DESC 'Store debian package installation flag' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.15 NAME 'FAIpackage' DESC 'Store debian package name' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.16 NAME 'FAItemplateFile' DESC 'Store complete template files' SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.17 NAME 'FAItemplatePath' DESC 'Store template file storage path' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.18 NAME 'FAIowner' DESC 'Store template file storage path' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.19 NAME 'FAImode' DESC 'Store template file storage path' SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.20 NAME 'FAIstatus' DESC 'Store FAI progress status' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.21 NAME 'FAIpackagelistDependency' DESC 'Store package lists where we depend from' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.22 NAME 'FAIpartitionSize' DESC 'Store size range for partition size' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.23 NAME 'FAIpartitionFlags' DESC 'Optional flags like "preserve"' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.24 NAME 'FAIdebianMirror' DESC 'TODO' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.25 NAME 'FAIdebianRelease' DESC 'TODO' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.26 NAME 'FAIdebianSection' DESC 'TODO' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.27 NAME 'FAIrepository' DESC 'TODO' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.28 NAME 'FAIstate' DESC 'TODO' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.29 NAME 'FAIrelease' DESC 'TODO' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.30 NAME 'FAIpartitionMethod' DESC 'How to create the partitions: setup-storage' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.31 NAME 'FAIdiskOption' DESC 'Options for the disk creation' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.32 NAME 'FAIdiskType' DESC 'Options for the disk creation' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.33 NAME 'FAIlvmDevice' DESC 'Options for the disk creation' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.34 NAME 'FAIfsCreateOptions' DESC 'Options for the disk creation' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ################################################################################ # olcAttributeTypes: ( 1.3.6.1.4.1.10098.1.1.5.35 NAME 'FAIfsTuneOptions' DESC 'Options for the disk creation' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.1 NAME 'FAIclass' DESC 'Generic class parent for FAI objects (v2.7)' SUP top STRUCTURAL MUST ( cn ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.2 NAME 'FAIprofile' DESC 'FAI profile container for multiple class objects (v2.7)' SUP top AUXILIARY MUST ( cn $ FAIclass ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.3 NAME 'FAIpartitionTable' DESC 'Stores FAI partition tables (v2.7)' SUP top AUXILIARY MUST ( cn ) MAY ( FAIstate $ FAIpartitionMethod $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.4 NAME 'FAIpartitionDisk' DESC 'Stores FAI partition tables (v2.7)' SUP top AUXILIARY MUST ( cn ) MAY ( FAIstate $ FAIdiskType $ FAIdiskOption $ FAIlvmDevice $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.5 NAME 'FAIpartitionEntry' DESC 'One partition table entry (v2.7)' SUP top AUXILIARY MUST ( FAIpartitionType $ FAIpartitionNr $ FAIfsType $ FAImountPoint $ FAIpartitionSize $ cn ) MAY ( FAImountOptions $ FAIfsOptions $ FAIpartitionFlags $ description $ FAIstate $ FAIfsCreateOptions $ FAIfsTuneOptions ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.6 NAME 'FAIhook' DESC 'Stores FAI partition tables (v2.7)' SUP top AUXILIARY MUST ( cn ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.7 NAME 'FAIhookEntry' DESC 'FAI hook storage (v2.7)' SUP top AUXILIARY MUST ( cn $ FAIscript $ FAItask ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.8 NAME 'FAIscriptEntry' DESC 'FAI script storage (v2.7)' SUP top AUXILIARY MUST ( cn $ FAIscript $ FAIpriority ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.9 NAME 'FAIscript' DESC 'FAI script storage (v2.7)' SUP top AUXILIARY MUST ( cn ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.10 NAME 'FAIvariable' DESC 'Stores FAI variables sub entries (v2.7)' SUP top AUXILIARY MUST ( cn ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.11 NAME 'FAIvariableEntry' DESC 'Stores single variable entries (v2.7)' SUP top AUXILIARY MUST ( cn $ FAIvariableContent ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.12 NAME 'FAIpackageList' DESC 'Stores complete package lists (v2.7)' SUP top AUXILIARY MUST ( cn $ FAIpackage ) MAY ( FAIpackagelistDependency $ FAIinstallMethod $ description $ FAIstate ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.13 NAME 'FAItemplate' DESC 'Container for template objects (v2.7)' SUP top AUXILIARY MUST ( cn ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.14 NAME 'FAItemplateEntry' DESC 'Stores real file templates (v2.7)' SUP top AUXILIARY MUST ( cn $ FAItemplateFile $ FAItemplatePath $ FAIowner $ FAImode ) MAY ( FAIstate $ description ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.15 NAME 'FAIdebconfInfo' DESC 'Stores debconf informations for single packages (v2.7)' SUP top STRUCTURAL MUST ( FAIpackage $ FAIvariable $ FAIvariableType ) MAY ( FAIvariableContent $ FAIstate ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.16 NAME 'FAIobject' DESC 'Marks an object as an FAI object. (v2.7)' SUP top AUXILIARY MAY ( FAIstate $ FAIstatus $ FAIclass $ FAIdebianMirror $ macAddress ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.17 NAME 'FAIrepository' DESC 'Provides per object repository informations. (v2.7)' SUP top AUXILIARY MUST ( FAIdebianRelease $ FAIdebianSection ) MAY ( FAIdebianMirror ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.18 NAME 'FAIrepositoryServer' DESC 'Provides repository informations. (v2.7)' SUP top AUXILIARY MAY ( FAIrepository ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.19 NAME 'FAIbranch' DESC 'Provides information for versioning. (v2.7)' SUP top AUXILIARY MAY ( FAIstate ) ) # ################################################################################ # olcObjectClasses: ( 1.3.6.1.4.1.10098.1.2.1.40.20 NAME 'FAIreleaseTag' DESC 'Provides information for versioning. (v2.7)' SUP top AUXILIARY MAY ( FAIrelease ) ) # ################################################################################ # gosa-plugin-fai-2.7.4/contrib/fai.schema0000644000175000017500000005371511376701607017106 0ustar cajuscajus############################################################################### # # # F A I - Fully automatic installation LDAP schema file # # # #-----------------------------------------------------------------------------# # Last modified: Cajus Pollmeier / 20090702 # #-----------------------------------------------------------------------------# # Copyright 2005-2009, Cajus Pollmeier # # Thomas Lange # #-----------------------------------------------------------------------------# # 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 # ############################################################################### # This schema file has dependencies to the nis.schema. Please make sure that # the inclusion order in your slapd.conf is correct. # Here's a short list of object class / attribute relationship. For a more # detailed description take a look at the definitions below. # # Objectclasses | Attributes # ----------------------------------------------------------------------------- # FAIclass | cn,description,FAIclassType # FAIprofile | FAIclass # FAIhook | (inherit from FAIclass) # FAIhookEntry | FAIscript, FAItask # FAIscript | (inherit from FAIclass) # FAIscriptEntry | FAIscript, FAIpriority # FAIvariable | (inherit from FAIclass) # FAIvariableEntry | FAIvariableContent # FAItemplate | (inherit from FAIclass) # FAItemplateEntry | FAItemplateFile, FAItemplatePath, FAIowner, FAImode # FAIpartitionTable | (inherit from FAIclass) # FAIpartitionDisk | (inherit from FAIclass) # FAIpartitionEntry | FAIpartitionType, FAIpartitionNr, FAImountOptions, # | FAIfsOptions, FAIfsType, FAImountPoint,FAIpartitionSize, # | FAIpartitionFlag # FAIpackageList | FAIinstallMethod, FAIpackage # FAIdebconfInfo | FAIvariable, FAIvariableContent, FAIvariableType # FAIobject | FAIclass, FAIstatus, macAddress # FAIrepository | FAIdebianMirror, FAIdebianRelease, FAIdebianSection # FAIrepositoryServer | FAIrepository # # Rem.: Except of FAIdebconfInfo and FAIobject, all object classes are inherited # from FAIclass, so ALL cn's MUST be unique in your tree. ## ## Attribute definitions (allocated from the GONICUS oid space) ## # Name : FAIclass # Description: Notes which FAI class name(s) are used in an FAI object # or in profile definitions. No unicode here, maximum # length is set to 64 characters. attributetype ( 1.3.6.1.4.1.10098.1.1.5.1 NAME 'FAIclass' DESC 'Storage for FAI class names' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64}) # Name : FAIpriority # Description: Notes which priority scripts or profiles entries get. It is used # by FAI to generate a propper class list during the bootstrap # process. This is an unsigned integer value. attributetype ( 1.3.6.1.4.1.10098.1.1.5.2 NAME 'FAIpriority' DESC 'Storage for FAI priorities' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) # Name : FAIpartitionType # Description: As the name says, we store the type of a (hard-disk) partition # here. Type can be one of "primary" or "secondary". We did not # make this bool because there may be changes to the FAI partitioner # which we can't handle then. The maximum length is set to 16 # characters. attributetype ( 1.3.6.1.4.1.10098.1.1.5.3 NAME 'FAIpartitionType' DESC 'Storage for FAI partition types' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE) # Name : FAIpartitionNr # Description: We use this value to store the device entries like "disk1" or # "sda8" with this attribute. Currently the storage is without the # leading "/dev/". attributetype ( 1.3.6.1.4.1.10098.1.1.5.4 NAME 'FAIpartitionNr' DESC 'Storage for FAI partition devices' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAImountOptions # Description: We use this value to store special mount options for partitions. # For example some people tend to have /usr mounted as read-only. attributetype ( 1.3.6.1.4.1.10098.1.1.5.5 NAME 'FAImountOptions' DESC 'Storage for FAI partition mount options' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAImountPoint # Description: Simply the mountpoint like found in the fstab. Examples are # '/usr', '/' and '/home'. attributetype ( 1.3.6.1.4.1.10098.1.1.5.6 NAME 'FAImountPoint' DESC 'Storage for FAI partition mount points' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIfsOptions # Description: In some cases you might want to influence the filesystem # generation commands by adding flags for larger inode tables, etc. # FAIfsOptions keeps the flags that are used by the mkfs workers. attributetype ( 1.3.6.1.4.1.10098.1.1.5.7 NAME 'FAIfsOptions' DESC 'Storage for FAI partition generation options' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIfsType # Description: Keeps the type of the filessytem a partition gets formatted with. # Examples are 'ext3', 'xfs', etc. Please refer to the FAI manual # for valid types. attributetype ( 1.3.6.1.4.1.10098.1.1.5.8 NAME 'FAIfsType' DESC 'Storage for FAI partition types' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE) # Name : FAIscript # Description: Store multiline text, mostly used for scripts and hooks. attributetype ( 1.3.6.1.4.1.10098.1.1.5.9 NAME 'FAIscript' DESC 'General storage field for multiline text aka scripts' SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE) # Name : FAItask # Description: Assign a hook to a special task. You can use it i.e. to alter # partition tables, etc. The FAI manual hold a list of valid # tasks for you. attributetype ( 1.3.6.1.4.1.10098.1.1.5.10 NAME 'FAItask' DESC 'Note for which FAI tasks a hook is made for' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIvariable # Description: Keeps the name of a debconf template variable. The value is # stored inside of FAIvariableContent, the type inside # FAIvariableType. attributetype ( 1.3.6.1.4.1.10098.1.1.5.11 NAME 'FAIvariable' DESC 'Store debconf template variable names' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIvariableContent # Description: Keeps the content of a debconf template variable. See # FAIvariable for more informations. attributetype ( 1.3.6.1.4.1.10098.1.1.5.12 NAME 'FAIvariableContent' DESC 'Store debconf template variable contents' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIvariableType # Description: Keeps the type of a debconf template variable. See # FAIvariable for more informations. attributetype ( 1.3.6.1.4.1.10098.1.1.5.13 NAME 'FAIvariableType' DESC 'Store debconf template variable type' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIinstallMethod # Description: Keeps a per package setting on how packages should be # installed. This is the normal line you'd specify in # our ordinary package lists. attributetype ( 1.3.6.1.4.1.10098.1.1.5.14 NAME 'FAIinstallMethod' DESC 'Store debian package installation flag' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIpackage # Description: Keeps an entry of a package list. Each FAIpackage object # may be a parent for FAIdebconfInfo objects. attributetype ( 1.3.6.1.4.1.10098.1.1.5.15 NAME 'FAIpackage' DESC 'Store debian package name' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) # Name : FAItemplateFile # Description: Keeps complete template files that are copied to the # freshly installed system later on. The tasks path is # stored in FAItemplatePath. Use ;binary for this attribute. attributetype ( 1.3.6.1.4.1.10098.1.1.5.16 NAME 'FAItemplateFile' DESC 'Store complete template files' SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE) # Name : FAItemplatePath # Description: Keeps the path used for template files. See FAItemplateFile # for more informations. attributetype ( 1.3.6.1.4.1.10098.1.1.5.17 NAME 'FAItemplatePath' DESC 'Store template file storage path' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIowner # Description: Keeps the owner used for template files. Put in the unix # way like user.group. attributetype ( 1.3.6.1.4.1.10098.1.1.5.18 NAME 'FAIowner' DESC 'Store template file storage path' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAImode # Description: Keeps the file mode used for template files. Put in the unix # way like 775. attributetype ( 1.3.6.1.4.1.10098.1.1.5.19 NAME 'FAImode' DESC 'Store template file storage path' SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE) # Name : FAIstatus # Desrciption: Normally the fai daemon should set the status flag to the # current status. Possible states are: # * update-needed # * update-running # * update-failed # * update-ok # * install-running # * install-failed # * install-ok # Additional informations can be taken from the log files if # some machine is set to -failed. attributetype ( 1.3.6.1.4.1.10098.1.1.5.20 NAME 'FAIstatus' DESC 'Store FAI progress status' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIpackagelistDependency # Description: This field stores dependency informations for package lists. # It is used to install i.e. ati specific packages when the # hardware detection detects ATI gfx cards. attributetype ( 1.3.6.1.4.1.10098.1.1.5.21 NAME 'FAIpackagelistDependency' DESC 'Store package lists where we depend from' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIpartitionSize # Description: Store a size or a size range for partitions. I.e. 50, # 50-200. attributetype ( 1.3.6.1.4.1.10098.1.1.5.22 NAME 'FAIpartitionSize' DESC 'Store size range for partition size' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIpartitionFlags # Description: Optionally this flag contains the "preserve" keyword, in # order to influence partitioning. attributetype ( 1.3.6.1.4.1.10098.1.1.5.23 NAME 'FAIpartitionFlags' DESC 'Optional flags like "preserve"' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIdebianMirror # Description: Used for bootstrap sources.list settings. It contains # the mirror server url. attributetype ( 1.3.6.1.4.1.10098.1.1.5.24 NAME 'FAIdebianMirror' DESC 'TODO' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIdebianRelease # Description: Used for bootstrap sources.list settings. It contains # the release. attributetype ( 1.3.6.1.4.1.10098.1.1.5.25 NAME 'FAIdebianRelease' DESC 'TODO' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIdebianSection # Description: Used for bootstrap sources.list settings. It contains # the section. Multiple Sections get appended. attributetype ( 1.3.6.1.4.1.10098.1.1.5.26 NAME 'FAIdebianSection' DESC 'TODO' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) # Name : FAIrepository # Description: Used to store repository settings attributetype ( 1.3.6.1.4.1.10098.1.1.5.27 NAME 'FAIrepository' DESC 'TODO' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) # Name : FAIstate # Description: Used to store repository state (branched/freezed) attributetype ( 1.3.6.1.4.1.10098.1.1.5.28 NAME 'FAIstate' DESC 'TODO' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) # Name : FAIrelease # Description: Used to store the release attributetype ( 1.3.6.1.4.1.10098.1.1.5.29 NAME 'FAIrelease' DESC 'TODO' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) # Name : FAIpartitionMethod # Description: Store information about how to setup the partitions attributetype ( 1.3.6.1.4.1.10098.1.1.5.30 NAME 'FAIpartitionMethod' DESC 'How to create the partitions: setup-storage' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIdiskOption # Description: Store new disk options like preserve_always, etc. attributetype ( 1.3.6.1.4.1.10098.1.1.5.31 NAME 'FAIdiskOption' DESC 'Options for the disk creation' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) # Name : FAIdiskType # Description: Differenciate between lvm, raid and disk attributetype ( 1.3.6.1.4.1.10098.1.1.5.32 NAME 'FAIdiskType' DESC 'Options for the disk creation' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Name : FAIlvmDevice # Description: For lvm disk definitions, store the physical devices attributetype ( 1.3.6.1.4.1.10098.1.1.5.33 NAME 'FAIlvmDevice' DESC 'Options for the disk creation' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) # Name : FAIfsCreateOptions # Description: New option field to pass FS creation options attributetype ( 1.3.6.1.4.1.10098.1.1.5.34 NAME 'FAIfsCreateOptions' DESC 'Options for the disk creation' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) # Name : FAIfsTuneOptions # Description: New option field to pass FS tuning options attributetype ( 1.3.6.1.4.1.10098.1.1.5.35 NAME 'FAIfsTuneOptions' DESC 'Options for the disk creation' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) ## ## Object class definitions (allocated from the GONICUS oid space) ## # Name : FAIclass # Description: FAIclass is the basic container wich includes a # common name and a description. objectclass (1.3.6.1.4.1.10098.1.2.1.40.1 NAME 'FAIclass' SUP top STRUCTURAL DESC 'Generic class parent for FAI objects (v2.7)' MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIprofile # Description: FAIprofile which bundles a set of FAIclass entries # like FAIpartition and FAIpackageList. It is used # to simplify administration tasks for so called junior # administrators. objectclass (1.3.6.1.4.1.10098.1.2.1.40.2 NAME 'FAIprofile' SUP top AUXILIARY DESC 'FAI profile container for multiple class objects (v2.7)' MUST ( cn $ FAIclass ) MAY ( FAIstate $ description ) ) # Name : FAIpartitionTable # Description: Each installation profile should contain a partition # table in order to perform well. FAIpartitionTable is # a container for partition entries. objectclass (1.3.6.1.4.1.10098.1.2.1.40.3 NAME 'FAIpartitionTable' SUP top AUXILIARY DESC 'Stores FAI partition tables (v2.7)' MUST ( cn ) MAY ( FAIstate $ FAIpartitionMethod $ description ) ) # Name : FAIpartitionDisk # Description: Each installation profile should contain a partition # table in order to perform well. FAIpartitionTable is # a container for partition entries. objectclass (1.3.6.1.4.1.10098.1.2.1.40.4 NAME 'FAIpartitionDisk' SUP top AUXILIARY DESC 'Stores FAI partition tables (v2.7)' MUST ( cn ) MAY ( FAIstate $ FAIdiskType $ FAIdiskOption $ FAIlvmDevice $ description ) ) # Name : FAIpartitionEntry # Description: This object defines a single partition entry for the # FAI partitioner. objectclass (1.3.6.1.4.1.10098.1.2.1.40.5 NAME 'FAIpartitionEntry' SUP top AUXILIARY DESC 'One partition table entry (v2.7)' MUST ( FAIpartitionType $ FAIpartitionNr $ FAIfsType $ FAImountPoint $ FAIpartitionSize $ cn ) MAY ( FAImountOptions $ FAIfsOptions $ FAIpartitionFlags $ description $ FAIstate $ FAIfsCreateOptions $ FAIfsTuneOptions ) ) # Name : FAIhook # Description: Container for hooks objectclass (1.3.6.1.4.1.10098.1.2.1.40.6 NAME 'FAIhook' SUP top AUXILIARY DESC 'Stores FAI partition tables (v2.7)' MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIhookEntry # Description: Hooks are stored with their FAI task inside the # FAIhook object. objectclass (1.3.6.1.4.1.10098.1.2.1.40.7 NAME 'FAIhookEntry' SUP top AUXILIARY DESC 'FAI hook storage (v2.7)' MUST ( cn $ FAIscript $ FAItask ) MAY ( FAIstate $ description ) ) # Name : FAIscriptEntry # Description: Container for scripts objectclass (1.3.6.1.4.1.10098.1.2.1.40.8 NAME 'FAIscriptEntry' SUP top AUXILIARY DESC 'FAI script storage (v2.7)' MUST ( cn $ FAIscript $ FAIpriority ) MAY ( FAIstate $ description ) ) # Name : FAIscript # Description: Hooks and scripts are somewhat similar. objectclass (1.3.6.1.4.1.10098.1.2.1.40.9 NAME 'FAIscript' SUP top AUXILIARY DESC 'FAI script storage (v2.7)' MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIvariable # Description: Store a set of variables in this container. objectclass (1.3.6.1.4.1.10098.1.2.1.40.10 NAME 'FAIvariable' SUP top AUXILIARY DESC 'Stores FAI variables sub entries (v2.7)' MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIvariableEntry # Description: Stores a single variable. objectclass (1.3.6.1.4.1.10098.1.2.1.40.11 NAME 'FAIvariableEntry' SUP top AUXILIARY DESC 'Stores single variable entries (v2.7)' MUST ( cn $ FAIvariableContent ) MAY ( FAIstate $ description ) ) # Name : FAIpackagelist # Description: Stores a complete package list and is container # for several FAIdebconfInfo scripts objectclass (1.3.6.1.4.1.10098.1.2.1.40.12 NAME 'FAIpackageList' SUP top AUXILIARY DESC 'Stores complete package lists (v2.7)' MUST ( cn $ FAIpackage ) MAY ( FAIpackagelistDependency $ FAIinstallMethod $ description $ FAIstate ) ) # Name : FAItemplate # Description: Container for template objects. objectclass (1.3.6.1.4.1.10098.1.2.1.40.13 NAME 'FAItemplate' SUP top AUXILIARY DESC 'Container for template objects (v2.7)' MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAItemplateEntry # Description: Stores FAI templates and the corresponding path. objectclass (1.3.6.1.4.1.10098.1.2.1.40.14 NAME 'FAItemplateEntry' SUP top AUXILIARY DESC 'Stores real file templates (v2.7)' MUST ( cn $ FAItemplateFile $ FAItemplatePath $ FAIowner $ FAImode ) MAY ( FAIstate $ description ) ) # Name : FAIdebconfInfo # Description: Stores debconf information like shown in # debconf-getselections. objectclass (1.3.6.1.4.1.10098.1.2.1.40.15 NAME 'FAIdebconfInfo' SUP top STRUCTURAL DESC 'Stores debconf informations for single packages (v2.7)' MUST ( FAIpackage $ FAIvariable $ FAIvariableType ) MAY ( FAIvariableContent $ FAIstate ) ) # Name : FAIobject # Description: Marks objects to have a set of FAI classes. objectclass (1.3.6.1.4.1.10098.1.2.1.40.16 NAME 'FAIobject' SUP top AUXILIARY DESC 'Marks an object as an FAI object. (v2.7)' MAY ( FAIstate $ FAIstatus $ FAIclass $ FAIdebianMirror $ macAddress) ) # Name : FAIrepository # Description: Marks objects to have a set of FAI classes. objectclass (1.3.6.1.4.1.10098.1.2.1.40.17 NAME 'FAIrepository' SUP top AUXILIARY DESC 'Provides per object repository informations. (v2.7)' MUST ( FAIdebianRelease $ FAIdebianSection ) MAY ( FAIdebianMirror ) ) # Name : FAIrepositoryServer # Description: FAIrepositoryServer stores information about repository settings. objectclass (1.3.6.1.4.1.10098.1.2.1.40.18 NAME 'FAIrepositoryServer' SUP top AUXILIARY DESC 'Provides repository informations. (v2.7)' MAY ( FAIrepository ) ) # Name : FAIbranch # Description: FAIbranch stores information about the state of a set of FAI classes. objectclass (1.3.6.1.4.1.10098.1.2.1.40.19 NAME 'FAIbranch' SUP top AUXILIARY DESC 'Provides information for versioning. (v2.7)' MAY ( FAIstate ) ) # Name : FAIreleaseTag # Description: FAIreleaseTag stores information about the fai release of an object. objectclass (1.3.6.1.4.1.10098.1.2.1.40.20 NAME 'FAIreleaseTag' SUP top AUXILIARY DESC 'Provides information for versioning. (v2.7)' MAY ( FAIrelease ) ) ### END of FAI schema file gosa-plugin-fai-2.7.4/html/0000755000175000017500000000000011752422555014456 5ustar cajuscajusgosa-plugin-fai-2.7.4/html/images/0000755000175000017500000000000011752422555015723 5ustar cajuscajusgosa-plugin-fai-2.7.4/html/images/fai_profile.png0000644000175000017500000000210611041617347020703 0ustar cajuscajusPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxbl p>/ < 1hK05ovV=]!6y4@,w~d4e6_\\X8`axˠTH_,@Fݷ q-̰K ptDh,q 7?!s.1~/}&g+>3gzGϿ>2|"K?e9SA[?]3_]](00bp{\1?ߪ&=G 9NofZ>L <`/Ԁ@|Cf/}gb`._"|l ,~9˰ , R f`fcf8xw_ȁ A^ڝ !;`  5QP)2~->&1AعA$D'5 G'=6^3M&:EA '" 8 *֠ݡeS ÿ$E|{W ߿gbg)'$?1~*PWX aV( ɠ[_|g`_0B k _1sW2###+%`fd 0(b;?r'/x\uLY8Ei;;+0%8~;S @X=tkGo6`"y>f b a+Rbucs3,lP ˀ\ S^s(jvIENDB`gosa-plugin-fai-2.7.4/html/images/branch_small.png0000644000175000017500000000114111041603436021041 0ustar cajuscajusPNG  IHDRabKGD pHYs  tIME&1IDATxڥ?OTQv<e( 1R,V64XH֘bDteaagf,.*{&9slLۢjׂbNpwR)j]kUeԕR HF(SLQ5|P47Pbl-5 P5a8"FE(H@׋x/YA"D#`hw9,<\t?hJPUDRQQ`M?C| ]@5xAgooNC۝bIA dEDQV%ʲbA/lإ3 eY !w0K8P`vMfcc,@fs_ +t%l n fmgpOXX0+h4ln> '-!*ͮpD)G^ w*J-cL Oe`@"ч(p%=_2ChIENDB`gosa-plugin-fai-2.7.4/html/images/removal_mark.png0000644000175000017500000000135111042022704021070 0ustar cajuscajusPNG  IHDR5T pHYs  #ugAMA|Q cHRMz%u0`:o_F_IDATxb?###:8Xkgg(v9Ԁ@!ܵϜEE108 ĀBLJ[!#ӏ pr o`` !5! Ӂj`D\__ hkbpƍ  !R_0pz0󍏁EI+z… 20\/,͇@`C}8{k S\ >!#=.lz018  a/ӄW|g9HW _& ln~᝙0!1 /Ä}q1gxa`nE^*dtY`?ng@a$sZ@6" t @l.Lx1I!!5kо| @X7 ?:ΠfeW@ .Uj_j?9FK /O8UC Q{,$PLzIENDB`gosa-plugin-fai-2.7.4/html/images/fai_hook.png0000644000175000017500000000126411041615037020201 0ustar cajuscajusPNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_F*IDATxb@ QPPp/?2`fq#Bm$_ynA0333 dۏ?6@Е0@pxxxXXX @ F8rH 0 6߿pC~ v +++ ߿0E M @o߾ ;`%X=@ 9aat...p؀  FA{ dH x܀W^Ah+ȩ޽d8H'O02@ i0ȿRRRxJD_~VJƅ7@@@l(X܃Ȁ#k @p1]jK LX :?x3dIENDB`gosa-plugin-fai-2.7.4/html/images/fai_template.png0000644000175000017500000000100011041620713021035 0ustar cajuscajusPNG  IHDRabKGD pHYs  tIME+IDAT8˝jTQsF$I'2wP, | *A` ̝sI8Y7{\fNf2i|&K4wQosWw0-L'V ];@ 2B]rΘp60!=J)*ç/#ek C1wcx*#-BpV)59Y%eEEZX "U@ {߲"jʰD Mc@Dz|"P.AE`-Xk n}!FC z+]l0|CGN:JtKӵhE6lb>xzͣ~}'Oug9,IENDB`gosa-plugin-fai-2.7.4/html/images/plugin.png0000644000175000017500000001165511041570663017732 0ustar cajuscajusPNG  IHDR00WtIDAThygWu?޷FagՌ rjLHDX*/e2`*\Ap AXH&Z,bE@3̌fzzzoޯ{$duuw|Ϲ?%"lΝcuuɷ=w[ܻuKvuo8{R[RM,1hQJB;N~5R7:u0O\yĞ{9t=hZNk*VuT֌g1s6?O):zX}RGVWW,i463M4(˒NIEزD񛈩,M5N%V^Һg+Z^q` 8 <0SA)E0ʳ1) #QHV 5"_mFD w+~ROe)A V q$1JARmCmlQh]K$B)A)MV x(=~,R /r<]BΩ*|Mrp⩶Dm^ZY<"P 1EzPf!T/{)G].6'Q({J=(xACy/~wT!`kE#VV˷RbScV)9shq8‹R,RtMǦP3 5{\rP-D*-+7!HYD;mHD_Ћ**dlh@#`4Q`"О(>FP:̒SpJcWr⯵!xڊA|%Jogg'wsv8Vā&PB`,.ВbHIKD:5y..Cp^5x+@)) /l R ZAG0:}x SLǓ; ZW"j;3W'K;ܶu^aTDȋ8zۺraNjRfjb=Gi;f/< Mƒ|Yt O=n|=Z XKyIĮE`ZUlK%IXk 0rd&KZh64yQ!ԥ.|o{B)i ur`W2x P=RҘ:t1&ȇnϿޏ*v4-U=rgn 򹯾@Za(WP:WV Z0I F(Qp *@鱺;/ cgs|-,LL|gE'}ݻpn1w>0!"z$Rhc0Ơtn~ۍ$q ={ =ΊYk9FT8ʬwY678(S Gt+ ߸9N]#R)E/3L֞ O` QH~wEFk4fEv='x7-*0"듏z="h%U6ePZY$O-:(S I a6~8Nc̆F pCG{8\~>–b@Q4C+:jl1[~}f>w3-ZkGvg77^?K1ץ|>]Q@iر]vG>|S<_桵yO uAyx *&ϸZ~|=Pn|.Sl9>*%O<͍ol҈3A\d)A : akn-O~;W31ւvTj<&g+/>+7I_=I=V$KK Ɇ9>"4pγg?/FoiaA{'lN=ι rskh>yOcp~>Md8,x$LxuYGQ( J_0Wছn?7犢芸M&9,&,K4^yvLǟx;Y[w<;o݁4<+ @qe%0Zaej.fݝ'xp8JՉRh*fs621ݑfzR1/mpZŒu/rIb6a%6O#jq睟?BY0ƄYuU {,=h lm01*H(7ͰҘ3 N -3͂}37s93;;ðG4=:=5 &se_7ONN~M;tA$\OfWs 7YuFEAi-EY`}_жlnDk]8)nkֻ}JZ6 fLLx:B }^COr!uݍ i63nZy).篪PՉV4:ɘ)_7k=k_|:/25=If&( ! $&:۷<1~Zk~xVڶJj=3 / ˜,Q:"rRLOOh DFK*"R%vYsF;~Ȫ~?3gʠ!5VHCgIDx`uϹe֤ÌgԡC%Iak4yQnhDXkFv{.h7[uȪKK{8qbu\5EU5A䴮:F!* P5ɪp@ ,9aHކ[k@QQC4U-o} m0谨Wȋ)l҂A]]vn\e`ήql("[:tEIywA:xX?j ZS}seBF!|`(ruJ1Zk3X?HJfxu7Ѹ$ M7h44Mʲdrrnъp`fzp977wo?u[bt>Ë#KMIp`0.O=$o7@Pm{UɛvS%\%w*({ɉQDAEز$c' a"ok~`ƨQ?{ K^81BgN)Q[{+yĀCh4Ҵ1&#j_>-'Ok.RQD433ӌF)痖H0 AkV@iwxhz\+'d*-#G?ʫ_8  5WڬBm\z_B48{>3lZ&ÐnC#ȧt'=2QAedmA[h7D'l9M0ƴE)z9yQbŋCdaww. Dg=JGu㲴lgaݵ.Q1YB] :(P:T}PWHeIl9 dVrn'#9uG s$-˂Brdҙ5Cz'6t h8I.;SW\ueSS:x˯<>_{omL~5,/TUI׳ܷo/˲pQH'2594֖!Z߳Gm`jzDQ|@(Z(N>ߺws=?UƬG CFiJdaʲė%)U#o߽wX꛻[^l5[gVʲ,,K)Bsɲ)iJV|( Øv_uUw|s'IM89MHXo}p/q i%} :n.m^Tmc U;>[PVKNKo٫ffv7y7N=sߞFaPERȋ^jl)7Z9 (Xkw:}Y t vbk@k9/wjj%%~IENDB`gosa-plugin-fai-2.7.4/html/images/fai_script.png0000644000175000017500000000113111041617651020542 0ustar cajuscajusPNG  IHDRabKGD pHYs  tIME n&IDATxڝjSAL޴B)Z .,tkZ|7og5M2XDZh7ir"i4ā33?k6+VkXju)x3(rqe܏tGO!,3[xZ f0CUUDQCTQt}> OSuq K`fC8Fycef>RS cf8_f;@a[8L`!GGGRbxݠS9}2zq\ &h k5 2s+RR,eD,1Tisb &eW)0E4^~Zpg_M)_w:rptd7+O8~sV?s3bi ˳$I ^Gz^iJJq*JL50IENDB`gosa-plugin-fai-2.7.4/html/images/raid.png0000644000175000017500000000674411550607606017361 0ustar cajuscajusPNG  IHDRa pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxLMoU{ğ ִ *"V U (,b?`6,`E)VHEj8݌g|qg}sWz_%"So>z8Nxaӧ6[ֲs(`Z+1LJKsŗo<_npfxncu O(@9Pbbl,a8| |k-BT*?lOwõկ><`2 7ool7^d2~9Xq*jP4X He`f8O- (cL/J6Ä; ])uIENDB`gosa-plugin-fai-2.7.4/html/images/package_configure.png0000644000175000017500000000152311042024132022043 0ustar cajuscajusPNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb@ QPPp6'#nV>GB/0a< B_a(:8ƂOP~'d m}{ p'ͮB!b eyAY!ڌ d|߿Jnϟ^~po+/3|p3Ýg ʜ?<n3~?𓁅b('+X@ uL 2(=P;[fv'3~cĮg @L08_2xepc\7[>p  fƯ l½@pv 3o2h +`A'Ë+R <8@pfgxQa`+o_0db`00 k`Ͽ}AG ~0[00|b;@ {0<=i' [ p0gWA p3}DXؾ`u.÷1|gc8x8T3s, -!N ~ X]xx8%B.O,, ¢T l0 @5 ,,,xs777fy$ k:=IENDB`gosa-plugin-fai-2.7.4/html/images/fai_small.png0000644000175000017500000000156511041620460020351 0ustar cajuscajusPNG  IHDRabKGD pHYs  ~tIME 5IDATxu_h[u?{o؆ۦڠR F8Z@C}AsC_D0ƞ1:Mc (C&+iv IInoݛqs~?|O9i:ۻ}80VsR85Z ;mnP_9>M|ir]-_h $ _nDMJWP]}ܩZx.q8"gތE8˿&T-`#ފ_s9oiWG.~p(Z86b>M0ChP[cA[:Hǣpt>;7 4#S=XL{r.B@q :•0 PR+ Q;mEre ]FJ5PZzo= iiv>V6|ШC*Vq0;PXM 8%)ltMQh1Vn/x?>RrRV:]^5Ѯ}Gvᇜ;q(~|癁s7 #_j&kO@ϧg~=0 o7<)0IENDB`gosa-plugin-fai-2.7.4/html/images/fai_packages.png0000644000175000017500000000167711041615646021035 0ustar cajuscajusPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<QIDATxb," 3ī }g`?f` C13+9?in6@_~20F&`dbb4f@8?f2@%cx beh<c` 7; 7H#? <\, ?32|ׇo <̜|   #>?='u }Z P xw~5H'zo`ΛyB@ ʠ?;;'`` , ܜ b l@oq880|AoF>cʛ?^z'0j}}a`3j &PD3B4mTG/gغË?5430,ef`H 10@ K10$q1~~4?+@bdk ?ΑCD%.Ϡ &Fhx-zk @La^1226ظXq=k<@ 4Q`.\{K@"}r@Ē)eρe'oo>oy6 `rH޴ɗSïO_|'PM5# $ob-!!$?Nŭ@@PJ,Po2@[ M ioIENDB`gosa-plugin-fai-2.7.4/html/images/repository.png0000644000175000017500000000157611042023420020635 0ustar cajuscajusPNG  IHDRagAMA75IDATxmKL\u1s;S`Z"2 QIdhPCMWMh\ǢIƸָ11q4i1M`AR3j@[#S@ {;s.os|'H<+w_=7jۅ0gn;at1̉b,*eS!D,Dt$>1pwh,-͆o"0&%r"ˊ)>r2]tKovfFl o)sr!1+x;zZJ pP`8Niw"4$I&ez6L6o Թ6Nr3o;g"Łt*gIENDB`gosa-plugin-fai-2.7.4/html/images/fai_variable.png0000644000175000017500000000065511041621227021027 0ustar cajuscajusPNG  IHDRabKGDiBըIDATxڍ @ DjɁR[\L@5N K^F̳ ty]Ӽ8e 7iNx`bUe q' @@ B, Fܕbmk7Y89Oxr7Z|J[XmOQgc`}IQ~EeS}Hu'T2TR4attݨ<(!&4Bjs Wu!j/ g"gZCtEXtSoftware@(#)ImageMagick 4.2.7 99/07/01 cristy@mystic.es.dupont.comk*tEXtSignature6a376c77de97320ac0fe59101456f9a3]IENDB`gosa-plugin-fai-2.7.4/html/images/branch.png0000644000175000017500000000126611041603436017661 0ustar cajuscajusPNG  IHDRĴl;gAMA7tEXtSoftwareAdobe ImageReadyqe<HIDATxb?-@XM{69 ~ 4 R? ~}Z@, Cݍ~b`O ߡ ~= 4?ĥ'а_ 47? FbC(@,|%@ FfFпȂ@/,^@, r gϞ͐J0r@ 1}GTP Xgr)VC!|bt s- _8 lA gd-q0  6y\BL90ATM#>CA F. E@ dM`_Ѵ%!f` ,@l YJgj;@1Ҫ &;QL! <IENDB`gosa-plugin-fai-2.7.4/html/images/freeze.png0000644000175000017500000000135611041604435017704 0ustar cajuscajusPNG  IHDRabKGD pHYs  ~tIME $84Fe{IDATx}MHTQ81IR*CPw)DZjpn (E\Xʍ"4;!Mgq8ӌSgu=\ιuo#mmᇭ͏Ȳf\zrTw^áDZq(*# ɟZ&hVBuEέJyi3 iLuNWs$uUxv `57 'ՑPc(p"D$ nXAT)y {ˆP_ <J܋mǀP- qŝ;_~ʀ@1Džڐ8ʅfps0 * Kpp!93@`5 *VEXp@5lLl4m-(``X12I#2l0ٴ̦:pg*V7mp)āݹ[IENDB`gosa-plugin-fai-2.7.4/html/images/fai_partitionTable.png0000644000175000017500000000132511041615646022226 0ustar cajuscajusPNG  IHDRagAMA7IDATx͊U:u~ͨq"7 d&Ea. 7ހkDpې.!0xB43=]]]?3o^>ˇ޾a& "({iW-͘?z5WѥעirEs=nؖ[_ƁXIENDB`gosa-plugin-fai-2.7.4/plugin.dsc0000644000175000017500000000043211336200072015464 0ustar cajuscajus[gosa-plugin] name = fai description = "FAI plugin for managing system deployment" version = 2.6.8 author = "Cajus Pollmeier " maintainer = "GOsa packages maintainers group " homepage = https://oss.gonicus.de/labs/gosa/ depends = goto gosa-plugin-fai-2.7.4/locale/0000755000175000017500000000000011752422555014751 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/ru/0000755000175000017500000000000011752422555015377 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/ru/LC_MESSAGES/0000755000175000017500000000000011752422555017164 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/ru/LC_MESSAGES/messages.po0000644000175000017500000022301611475426262021340 0ustar cajuscajus# Translation of messages.po to Russian # Valia V. Vaneeva , 2004. # $Id: messages.po,v 1.61 2005/04/18 10:37:13 migor-guest Exp $ msgid "" msgstr "" "Project-Id-Version: messages\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: 2005-04-18 14:35+0300\n" "Last-Translator: Igor Muratov \n" "Language-Team: ALT Linux Team\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: poEdit 1.3.1\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "Общее" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 #, fuzzy msgid "FAI template entry" msgstr "Создать шаблон" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 #, fuzzy msgid "Generic settings" msgstr "Общая информация о пользователе" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 #, fuzzy msgid "File name" msgstr "Имя сервера" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 #, fuzzy msgid "Destination path" msgstr "Назначение" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "Описание" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 #, fuzzy msgid "Template attributes" msgstr "Атрибут DN пользователей" #: admin/fai/faiTemplateEntry.tpl:44 #, fuzzy msgid "Template file status" msgstr "Шаблон" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 #, fuzzy msgid "File" msgstr "Файлы" #: admin/fai/faiTemplateEntry.tpl:50 #, fuzzy msgid "Save template" msgstr "Создать шаблон" #: admin/fai/faiTemplateEntry.tpl:51 #, fuzzy msgid "Edit template" msgstr "Шаблон" #: admin/fai/faiTemplateEntry.tpl:58 #, fuzzy msgid "Full path" msgstr "Контакт" #: admin/fai/faiTemplateEntry.tpl:70 #, fuzzy msgid "Upload" msgstr "Загрузка процессора" #: admin/fai/faiTemplateEntry.tpl:77 #, fuzzy msgid "File attributes" msgstr "Атрибут DN пользователей" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "Группа" #: admin/fai/faiTemplateEntry.tpl:99 #, fuzzy msgid "Access" msgstr "Адрес" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 #, fuzzy msgid "File permissions" msgstr "Права для членов группы" #: admin/fai/faiTemplateEntry.tpl:103 #, fuzzy msgid "Class" msgstr "Выберите тип мыши" #: admin/fai/faiTemplateEntry.tpl:103 #, fuzzy msgid "Read" msgstr "чтение" #: admin/fai/faiTemplateEntry.tpl:103 #, fuzzy msgid "Write" msgstr "запись" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "Выполнить" #: admin/fai/faiTemplateEntry.tpl:103 #, fuzzy msgid "Special" msgstr "терминалы" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "Пользователь" #: admin/fai/faiTemplateEntry.tpl:162 #, fuzzy msgid "Others" msgstr "Фильтры" #: admin/fai/faiTemplateEntry.tpl:186 #, fuzzy msgid "sticky" msgstr "Состояние" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "" #: admin/fai/class_faiTemplateEdit.inc:60 #, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 #, fuzzy msgid "Device" msgstr "Устройства" #: admin/fai/faiDiskEntry.tpl:5 #, fuzzy msgid "FAI disk entry" msgstr "Ошибка LDAP:" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 #, fuzzy msgid "Disk options" msgstr "Добавить параметр" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "Фамилия" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 #, fuzzy msgid "Partition entries" msgstr "Переменная" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 #, fuzzy msgid "Add partition" msgstr "Добавить параметр" #: admin/fai/faiGroupHandle.tpl:3 #, fuzzy msgid "Please select the objects you want to remove:" msgstr "Введите адрес сервера" #: admin/fai/faiGroupHandle.tpl:5 #, fuzzy msgid "Select the object you want to edit:" msgstr "Выбрать объекты для добавления" #: admin/fai/faiGroupHandle.tpl:7 #, fuzzy msgid "Select the object you want to copy:" msgstr "Выберите чтобы посмотреть группы GOsa" #: admin/fai/faiGroupHandle.tpl:12 #, fuzzy msgid "FAI group selection" msgstr "Настройки Samba" #: admin/fai/faiGroupHandle.tpl:40 #, fuzzy msgid "Frozen" msgstr "Номер телефона" #: admin/fai/class_faiPartitionTableEntry.inc:142 #, fuzzy msgid "primary" msgstr "Основная группа" #: admin/fai/class_faiPartitionTableEntry.inc:142 #, fuzzy msgid "logical" msgstr "Добавить локально" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "Тип" #: admin/fai/class_faiPartitionTableEntry.inc:150 #, fuzzy msgid "Filesystem type" msgstr "Системы" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 #, fuzzy msgid "Mount point" msgstr "Мониторинг" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 #, fuzzy msgid "Size in MB" msgstr "Пользователь:" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 #, fuzzy msgid "Mount options" msgstr "Дополнительные параметры" #: admin/fai/class_faiPartitionTableEntry.inc:154 #, fuzzy msgid "Filesystem option" msgstr "Системная информация" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 #, fuzzy msgid "Preserve" msgstr "серверы" #: admin/fai/class_faiPartitionTableEntry.inc:246 #, fuzzy msgid "False" msgstr "женский" #: admin/fai/class_faiPartitionTableEntry.inc:248 #, fuzzy msgid "True" msgstr "Улица" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "Удалить" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:365 #, php-format msgid "partition %s mount point" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:374 msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, fuzzy, php-format msgid "partition %s size" msgstr "Назначение" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 #, fuzzy msgid "Partition table entry" msgstr "Переменная" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 #, fuzzy msgid "FAI partition table entry" msgstr "Принтер" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 #, fuzzy msgid "Partition type" msgstr "Переменная" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 #, fuzzy msgid "Partition no." msgstr "Назначение" #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 #, fuzzy msgid "File system type" msgstr "Системы" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 #, fuzzy msgid "Partition size" msgstr "Назначение" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 #, fuzzy msgid "File system options" msgstr "Системная информация" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 #, fuzzy msgid "Partition flags" msgstr "Назначение" #: admin/fai/faiVariable.tpl:32 #, fuzzy msgid "List of assigned variables" msgstr "Выберите тип мыши" #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "Изменить" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 msgid "Hook" msgstr "" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 #, fuzzy msgid "FAI hook" msgstr "Ошибка LDAP:" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 #, fuzzy msgid "Read only" msgstr "чтение" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 msgid "Options" msgstr "Параметры" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "" #: admin/fai/class_faiDiskEntry.inc:249 #, fuzzy msgid "UUID" msgstr "UID" #: admin/fai/class_faiDiskEntry.inc:317 #, fuzzy msgid "Disks" msgstr "Устройства" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "" #: admin/fai/class_faiDiskEntry.inc:501 msgid "encrypted" msgstr "" #: admin/fai/class_faiDiskEntry.inc:504 msgid "boot able" msgstr "" #: admin/fai/class_faiDiskEntry.inc:507 #, fuzzy msgid "preserve" msgstr "серверы" #: admin/fai/class_faiDiskEntry.inc:678 msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "" #: admin/fai/class_faiDiskEntry.inc:682 msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "" #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 #, fuzzy msgid "FAI profile" msgstr "Управление системами" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 #, fuzzy msgid "FAI classes" msgstr "Выберите тип мыши" #: admin/fai/faiProfile.tpl:35 #, fuzzy msgid "Choose a priority" msgstr "Выберите тип мыши" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 #, fuzzy msgid "FAI script" msgstr "Показать хосты" #: admin/fai/faiScriptEntry.tpl:32 #, fuzzy msgid "Script attributes" msgstr "Атрибут DN пользователей" #: admin/fai/faiScriptEntry.tpl:34 #, fuzzy msgid "Priority configuration" msgstr "Системная информация" #: admin/fai/faiScriptEntry.tpl:36 #, fuzzy msgid "Priority" msgstr "Порт" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "" #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 #, fuzzy msgid "Script" msgstr "Путь к сценариям" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 #, fuzzy msgid "Edit anyway" msgstr "Редактиовать объект" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 #, fuzzy msgid "Import script" msgstr "Показать хосты" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 #, fuzzy msgid "List of scripts" msgstr "Список пользователей" #: admin/fai/faiPackage.tpl:2 #, fuzzy msgid "FAI package" msgstr "Число страниц" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 #, fuzzy msgid "Repository" msgstr "Повторить" #: admin/fai/faiPackage.tpl:31 #, fuzzy msgid "Repository settings" msgstr "Повторить" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 #, fuzzy msgid "Release" msgstr "Набор правил" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 #, fuzzy msgid "Section" msgstr "Действие" #: admin/fai/faiPackage.tpl:47 #, fuzzy msgid "Install method" msgstr "Почтовые настройки" #: admin/fai/faiPackage.tpl:51 #, fuzzy msgid "Please select the installation method" msgstr "Введите корректный серийный номер" #: admin/fai/faiPackage.tpl:62 #, fuzzy msgid "Package settings" msgstr "Почтовые настройки пользователя" #: admin/fai/faiPackage.tpl:65 #, fuzzy msgid "Used packages" msgstr "Показать телефоны" #: admin/fai/faiPackage.tpl:76 msgid "Add from list" msgstr "" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 #, fuzzy msgid "Please select the desired entries" msgstr "Язык по умолчанию" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 #, fuzzy msgid "FAI" msgstr "Идентификатор факса" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 msgid "Properties" msgstr "Свойства" #: admin/fai/classSelect/class_classSelect.inc:29 #, fuzzy msgid "Class selection" msgstr "Настройки Samba" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 #, fuzzy msgid "Default filter" msgstr "Параметры загрузки" #: admin/fai/faiHook.tpl:31 #, fuzzy msgid "List of hooks" msgstr "Стоп-листы" #: admin/fai/faiHook.tpl:34 #, fuzzy msgid "List of hook scripts" msgstr "Стоп-листы" #: admin/fai/class_faiProfile.inc:105 #, fuzzy msgid "Types" msgstr "Тип" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 msgid "Hook bundle" msgstr "" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 #, fuzzy msgid "Template bundle" msgstr "Шаблон" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 #, fuzzy msgid "Script bundle" msgstr "Путь к сценариям" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 #, fuzzy msgid "Variable bundle" msgstr "Переменная" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 #, fuzzy msgid "Package bundle" msgstr "Показать телефоны" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 #, fuzzy msgid "Partition table" msgstr "Переменная" #: admin/fai/class_faiProfile.inc:185 msgid "Remove class from profile" msgstr "" #: admin/fai/class_faiProfile.inc:188 msgid "Up" msgstr "" #: admin/fai/class_faiProfile.inc:189 #, fuzzy msgid "Down" msgstr "Домен" #: admin/fai/class_faiProfile.inc:272 msgid "No class specified for this profile!" msgstr "" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 #, fuzzy msgid "Profile" msgstr "Путь к профилю" #: admin/fai/class_faiProfile.inc:365 #, fuzzy msgid "RDN for FAI profile storage." msgstr "Почтовые настройки пользователя" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 #, fuzzy msgid "FAI hook entry" msgstr "Ошибка LDAP:" #: admin/fai/faiHookEntry.tpl:33 #, fuzzy msgid "Hook attributes" msgstr "Атрибут DN пользователей" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 msgid "Task" msgstr "" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "" #: admin/fai/class_faiManagement.inc:25 #, fuzzy msgid "Software deployment" msgstr "Управление системами" #: admin/fai/class_faiManagement.inc:26 msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "" #: admin/fai/class_faiManagement.inc:208 #, fuzzy msgid "partition table" msgstr "Переменная" #: admin/fai/class_faiManagement.inc:209 #, fuzzy msgid "script" msgstr "Путь к сценариям" #: admin/fai/class_faiManagement.inc:210 #, fuzzy msgid "hook" msgstr "Ошибка LDAP:" #: admin/fai/class_faiManagement.inc:211 #, fuzzy msgid "variable" msgstr "Переменная" #: admin/fai/class_faiManagement.inc:212 #, fuzzy msgid "template" msgstr "Шаблон" #: admin/fai/class_faiManagement.inc:213 #, fuzzy msgid "package list" msgstr "Число страниц" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Permission error" msgstr "Права для членов группы" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, fuzzy, php-format msgid "You have no permission to create a new %s!" msgstr "У вас недостаточно прав для удаления этого группового объекта!" #: admin/fai/class_faiManagement.inc:244 #, fuzzy msgid "profile" msgstr "Путь к профилю" #: admin/fai/class_faiManagement.inc:398 #, fuzzy msgid "Branch locked" msgstr "Отмена" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "" #: admin/fai/class_faiManagement.inc:572 msgid "FAI branch/freeze" msgstr "" #: admin/fai/class_faiManagement.inc:575 #, fuzzy msgid "You have no permission to delete this release!" msgstr "У вас недостаточно прав для удаления этого пользователя!" #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "Предупреждение" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 #, fuzzy msgid "Configuration" msgstr "Настроить" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Branch" msgstr "Отмена" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 msgid "Continue" msgstr "Продолжить" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 #, fuzzy msgid "Service infrastructure" msgstr "Искать в поддеревьях" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 #, fuzzy msgid "Fatal error" msgstr "Терминал-сервер" #: admin/fai/class_faiManagement.inc:1003 #, fuzzy msgid "Freeze" msgstr "Номер телефона" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 #, fuzzy msgid "Package list" msgstr "Показать телефоны" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 #, fuzzy msgid "Scripts" msgstr "Путь к сценариям" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 #, fuzzy msgid "Variables" msgstr "Переменная" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 msgid "Hooks" msgstr "" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 #, fuzzy msgid "Templates" msgstr "Шаблон" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 #, fuzzy msgid "OPSI net boot product" msgstr "Объединения" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 #, fuzzy msgid "OPSI local boot product" msgstr "Объединения" #: admin/fai/class_faiManagement.inc:1228 #, fuzzy msgid "FAI releases" msgstr "Выберите тип мыши" #: admin/fai/class_faiManagement.inc:1229 #, fuzzy msgid "FAI release management" msgstr "Управление подразделениями" #: admin/fai/class_faiManagement.inc:1285 #, fuzzy msgid "RDN for FAI storage." msgstr "Хэширование паролей" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "" #: admin/fai/class_faiVariableEntry.inc:91 #, fuzzy msgid "Content" msgstr "Продолжить" #: admin/fai/class_faiVariableEntry.inc:126 #, fuzzy msgid "Variable entry" msgstr "Переменная" #: admin/fai/class_faiVariableEntry.inc:127 #, fuzzy msgid "FAI variable entry " msgstr "Устройство отображения" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 #, fuzzy msgid "Variable content" msgstr "Переменная" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 #, fuzzy msgid "Download" msgstr "Домен" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 msgid "Template" msgstr "Шаблон" #: admin/fai/class_faiTemplate.inc:522 #, fuzzy msgid "FAI template" msgstr "Создать шаблон" #: admin/fai/class_faiTemplate.inc:534 #, fuzzy msgid "RDN for FAI template storage." msgstr "Создать шаблон" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 #, fuzzy msgid "Read-only" msgstr "чтение" #: admin/fai/paste_generic.tpl:2 #, fuzzy msgid "FAI settings" msgstr "Выберите тип мыши" #: admin/fai/paste_generic.tpl:4 #, fuzzy msgid "Paste FAI class" msgstr "Имя стоп-листа" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 #, fuzzy msgid "Class name" msgstr "Выберите тип мыши" #: admin/fai/remove_branch.tpl:6 #, fuzzy msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" "Сюда входит вся информация об учетной записи этого пользователя, его права " "доступа в системе, настройки IMAP и т. д. Подумайте еще раз, действительно " "ли вам нужно удаление, так как GOsa не сможет отменить результаты этой " "операции." #: admin/fai/remove_branch.tpl:8 #, fuzzy msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" "Если вы уверены в своих действиях, нажмите на кнопку Удалить, иначе " "нажмите Отмена." #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 #, fuzzy msgid "Create new FAI object" msgstr "Объект группы" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 #, fuzzy msgid "Version" msgstr "Права для членов группы" #: admin/fai/packageSelect/class_packageSelect.inc:29 #, fuzzy msgid "Package selection" msgstr "Настройки Samba" #: admin/fai/class_faiScript.inc:522 #, fuzzy msgid "RDN for FAI script storage." msgstr "Показать хосты" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 #, fuzzy msgid "LDAP error" msgstr "Ошибка LDAP:" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 msgid "Object" msgstr "Объект" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1041 #, fuzzy, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "Подразделение с таким именем уже существует." #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "" #: admin/fai/class_FAI.inc:1077 #, fuzzy, php-format msgid "Creating copy of %s" msgstr "Список пользователей" #: admin/fai/class_FAI.inc:1080 #, fuzzy msgid "Processing" msgstr "Права для членов группы" #: admin/fai/class_FAI.inc:1098 #, fuzzy msgid "Could not create new release, the destination DN is already in use." msgstr "Подразделение с таким именем уже существует." #: admin/fai/class_FAI.inc:1111 msgid "Error while fetching source DN - aborted!" msgstr "" #: admin/fai/class_FAI.inc:1193 #, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "" #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 #, fuzzy msgid "file is empty" msgstr "Значение поля \"Файлы\" некорректно." #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 #, fuzzy msgid "Script entry" msgstr "Путь к сценариям" #: admin/fai/class_faiScriptEntry.inc:211 #, fuzzy msgid "FAI script entry" msgstr "Показать хосты" #: admin/fai/class_faiScriptEntry.inc:221 #, fuzzy msgid "Script Priority" msgstr "Путь к сценариям" #: admin/fai/fai-list.xml:11 #, fuzzy msgid "List of deployment classes and products" msgstr "Выберите тип мыши" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 msgid "Actions" msgstr "Действия" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 msgid "Create" msgstr "Создать" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 msgid "Variable" msgstr "Переменная" #: admin/fai/fai-list.xml:107 #, fuzzy msgid "Remove entries" msgstr "Включаемые объекты" #: admin/fai/fai-list.xml:118 #, fuzzy msgid "Create branch" msgstr "Создание нового объекта в" #: admin/fai/fai-list.xml:125 #, fuzzy msgid "Create freeze" msgstr "Текущий пароль" #: admin/fai/fai-list.xml:132 #, fuzzy msgid "Remove release" msgstr "Включаемые объекты" #: admin/fai/faiSummary.tpl:2 #, fuzzy msgid "Summary of used FAI classes" msgstr "Имя стоп-листа" #: admin/fai/faiSummary.tpl:5 #, fuzzy msgid "FAI object tree" msgstr "Имя объекта" #: admin/fai/faiSummary.tpl:13 msgid "Reload class and release configuration from parent object." msgstr "" #: admin/fai/faiSummary.tpl:24 #, fuzzy msgid "You are not allowed to view the FAI summary." msgstr "У вас недостаточно прав для удаления этого пользователя!" #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" #: admin/fai/faiTemplate.tpl:30 #, fuzzy msgid "List of template files" msgstr "Список подразделений" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 #, fuzzy msgid "Logical" msgstr "Добавить локально" #: admin/fai/class_faiPartition.inc:165 #, fuzzy msgid "Primary" msgstr "Основная группа" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "" #: admin/fai/class_faiPartition.inc:181 #, fuzzy msgid "fixed" msgstr "Файлы" #: admin/fai/class_faiPartition.inc:182 msgid "dynamic" msgstr "" #: admin/fai/class_faiPartition.inc:183 msgid "remaining space" msgstr "" #: admin/fai/class_faiPartition.inc:188 msgid "KB" msgstr "" #: admin/fai/class_faiPartition.inc:189 msgid "MB" msgstr "" #: admin/fai/class_faiPartition.inc:190 msgid "GB" msgstr "" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "" #: admin/fai/class_faiPartition.inc:198 msgid "always" msgstr "" #: admin/fai/class_faiPartition.inc:199 msgid "reinstall" msgstr "" #: admin/fai/class_faiPartition.inc:203 msgid "swap space" msgstr "" #: admin/fai/class_faiPartition.inc:312 #, fuzzy msgid "spare" msgstr "Сохранить" #: admin/fai/class_faiPartition.inc:315 #, fuzzy msgid "missing" msgstr "Права для членов группы" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Minimum partition size" msgstr "Назначение" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Maximum partition size" msgstr "Назначение" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 #, fuzzy msgid "FAI partition table" msgstr "Принтер" #: admin/fai/class_faiPartitionTable.inc:789 #, fuzzy msgid "RDN for FAI partition storage." msgstr "Принтер" #: admin/fai/faiVariableEntry.tpl:3 #, fuzzy msgid "FAI variable entry" msgstr "Устройство отображения" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 #, fuzzy msgid "Variable attributes" msgstr "Атрибут DN пользователей" #: admin/fai/fai-filter.xml:18 #, fuzzy msgid "FAI objects" msgstr "Имя объекта" #: admin/fai/fai-filter.xml:32 #, fuzzy msgid "Opsi packages" msgstr "Показать телефоны" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "" #: admin/fai/class_faiHookEntry.inc:229 #, fuzzy msgid "Hook entry" msgstr "Удалить объект" #: admin/fai/faiNewBranch.tpl:5 msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" #: admin/fai/faiNewBranch.tpl:7 msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" #: admin/fai/faiNewBranch.tpl:12 #, fuzzy msgid "Please enter a name for the branch" msgstr "Введите корректный номер телефона!" #: admin/fai/faiNewBranch.tpl:23 msgid "Processing the requested operation" msgstr "" #: admin/fai/faiNewBranch.tpl:24 msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" #: admin/fai/faiNewBranch.tpl:29 msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "" #: admin/fai/faiNewBranch.tpl:31 #, fuzzy msgid "Perform requested operation." msgstr "Выберите чтобы посмотреть рабочие станции" #: admin/fai/faiNewBranch.tpl:32 #, fuzzy msgid "Initiate operation" msgstr "Создать параметры" #: admin/fai/askClassName.tpl:6 msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "" #: admin/fai/askClassName.tpl:17 #, fuzzy msgid "FAI class creator" msgstr "Выберите тип мыши" #: admin/fai/askClassName.tpl:20 #, fuzzy msgid "Class settings" msgstr "Почтовые настройки пользователя" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "" #: admin/fai/askClassName.tpl:43 #, fuzzy msgid "Class name selector" msgstr "Выберите тип мыши" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "" #: admin/fai/askClassName.tpl:57 #, fuzzy msgid "Choose class name" msgstr "Выберите тип мыши" #: admin/fai/class_faiPackageConfiguration.inc:68 #, php-format msgid "Debconf information for package '%s'" msgstr "" #: admin/fai/class_faiVariable.inc:386 #, fuzzy msgid "FAI variable" msgstr "Устройство отображения" #: admin/fai/class_faiVariable.inc:399 #, fuzzy msgid "RDN for FAI variable storage." msgstr "Устройство отображения" #: admin/fai/faiPartition.tpl:2 #, fuzzy msgid "Partition" msgstr "Назначение" #: admin/fai/faiPartition.tpl:4 #, fuzzy msgid "FAI partition" msgstr "Добавить параметр" #: admin/fai/faiPartition.tpl:80 msgid "Resize existing partition" msgstr "" #: admin/fai/faiPartition.tpl:85 msgid "Boot able" msgstr "" #: admin/fai/faiPartition.tpl:122 #, fuzzy msgid "Toggle missing" msgstr "Личная информация" #: admin/fai/faiPartition.tpl:123 #, fuzzy msgid "Toggle spare" msgstr "по умолчанию" #: admin/fai/faiPartition.tpl:134 #, fuzzy msgid "File system" msgstr "Системы" #: admin/fai/faiPartition.tpl:141 #, fuzzy msgid "File system create options" msgstr "Системная информация" #: admin/fai/faiPartition.tpl:151 msgid "Encrypted" msgstr "" #: admin/fai/faiPartition.tpl:153 #, fuzzy msgid "Tune options" msgstr "Дополнительные параметры" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "Состояние" #: admin/fai/class_faiPackage.inc:233 msgid "Invalid package names" msgstr "" #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "" #: admin/fai/class_faiPackage.inc:424 #, fuzzy msgid "Configured" msgstr "Настроить" #: admin/fai/class_faiPackage.inc:430 msgid "Package marked for removal" msgstr "" #: admin/fai/class_faiPackage.inc:447 msgid "Mark package for removal" msgstr "" #: admin/fai/class_faiPackage.inc:453 #, fuzzy msgid "Configure this package" msgstr "Настроить" #: admin/fai/class_faiPackage.inc:458 #, fuzzy msgid "Remove this package" msgstr "Удалить изображение" #: admin/fai/class_faiPackage.inc:537 #, fuzzy msgid "Please select a least one package!" msgstr "Введите корректный номер телефона!" #: admin/fai/class_faiPackage.inc:541 #, fuzzy msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "Укажите корректный номер телефона." #: admin/fai/class_faiPackage.inc:668 #, fuzzy msgid "Package" msgstr "Показать телефоны" #: admin/fai/class_faiPackage.inc:669 #, fuzzy msgid "FAI Package list" msgstr "Число страниц" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "" #: admin/fai/class_faiPackage.inc:690 #, fuzzy msgid "Packages" msgstr "Показать телефоны" #: admin/fai/class_faiPackage.inc:692 #, fuzzy msgid "Install Method" msgstr "Почтовые настройки" #: admin/fai/class_faiPackage.inc:693 #, fuzzy msgid "Package configuration" msgstr "Базы данных" #: admin/fai/class_faiTemplateEntry.inc:118 #, fuzzy msgid "no file uploaded yet" msgstr "Файл небыл загружен" #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:290 #, fuzzy msgid "Template entry" msgstr "Шаблон" #: admin/fai/class_faiTemplateEntry.inc:300 #, fuzzy msgid "Template file" msgstr "Шаблон" #: admin/fai/class_faiTemplateEntry.inc:301 #, fuzzy msgid "Template path" msgstr "Шаблон" #: admin/fai/class_faiTemplateEntry.inc:302 #, fuzzy msgid "File owner" msgstr "Имя сервера" #: admin/fai/class_faiSummaryTab.inc:50 #, fuzzy msgid "Profiles" msgstr "Путь к профилю" #: admin/fai/class_faiSummaryTab.inc:95 #, fuzzy msgid "Unknown FAI information source!" msgstr "Личная информация" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 msgid "You can't use this plug-in until FAI is activated." msgstr "" #: admin/fai/class_faiSummaryTab.inc:228 msgid "This object has no FAI classes assigned." msgstr "" #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "" #: admin/fai/class_faiSummaryTab.inc:348 #, fuzzy msgid "No." msgstr "нет" #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "" #: admin/fai/faiPartitionTable.tpl:38 #, fuzzy msgid "Discs" msgstr "Устройства" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 #, fuzzy msgid "Add disk" msgstr "Добавить" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 msgid "Add RAID" msgstr "" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 msgid "Add volume group" msgstr "" #: admin/fai/class_debconfTemplate.inc:208 #, fuzzy msgid "This package has no debconf options." msgstr "В этой учетной записи нет атрибутов для телефона." #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" #: admin/systems/services/repository/repository-list.xml:10 #, fuzzy msgid "List of repositories" msgstr "Список пользователей" #: admin/systems/services/repository/repository-list.xml:14 #, fuzzy msgid "Service" msgstr "Сервисы" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 #, fuzzy msgid "Sections" msgstr "Действие" #: admin/systems/services/repository/servRepositorySetup.tpl:3 #, fuzzy msgid "FAI Repository" msgstr "Повторить" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 #, fuzzy msgid "Parent server" msgstr "серверы" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 msgid "URL" msgstr "" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 #, fuzzy msgid "Repository service" msgstr "Повторить" #: admin/systems/services/repository/class_servRepository.inc:158 #, fuzzy msgid "FAI release" msgstr "Выберите тип мыши" #: admin/systems/services/repository/class_servRepository.inc:402 msgid "Services" msgstr "Сервисы" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" #: admin/systems/services/repository/class_servRepository.inc:424 #, fuzzy msgid "Releases" msgstr "Набор правил" #, fuzzy #~ msgid "SUID" #~ msgstr "UID" #, fuzzy #~ msgid "SGID" #~ msgstr "GID" #, fuzzy #~ msgid "Freezed" #~ msgstr "Номер телефона" #, fuzzy #~ msgid "FS type" #~ msgstr "Тип" #, fuzzy #~ msgid "FS option" #~ msgstr "Добавить параметр" #, fuzzy #~ msgid "FS options" #~ msgstr "Добавить параметр" #~ msgid "" #~ "This includes all account data, system access rules, imap settings, etc. " #~ "for this user. Please double check if your really want to do this since " #~ "there is no way for GOsa to get your data back." #~ msgstr "" #~ "Сюда входит вся информация об учетной записи этого пользователя, его " #~ "права доступа в системе, настройки IMAP и т. д. Подумайте еще раз, " #~ "действительно ли вам нужно удаление, так как GOsa не сможет отменить " #~ "результаты этой операции." #, fuzzy #~ msgid "Objects" #~ msgstr "Объект" #~ msgid "Delete" #~ msgstr "Удалить" #, fuzzy #~ msgid "Filter" #~ msgstr "Фильтры" #~ msgid "Base" #~ msgstr "Ветка" #, fuzzy #~ msgid "edit" #~ msgstr "Изменить" #, fuzzy #~ msgid "delete" #~ msgstr "Удалить" #~ msgid "Information" #~ msgstr "Информация" #, fuzzy #~ msgid "" #~ "This menu allows you to select FAI class names and to add them to the " #~ "currently edited profile." #~ msgstr "" #~ "С помощью этого меню вы можете добавлять, изменять и удалять выбранные " #~ "стоп-листы. Если у вас достаточно большое количество списков, вы можете " #~ "использовать групповое выделение." #~ msgid "Filters" #~ msgstr "Фильтры" #, fuzzy #~ msgid "Show only classes with templates" #~ msgstr "Показать шаблоны" #, fuzzy #~ msgid "Show only classes with variables" #~ msgstr "Показать терминалы" #, fuzzy #~ msgid "Show only classes with partitions" #~ msgstr "Показать рабочие станции" #~ msgid "Display objects matching" #~ msgstr "Показать совпадения объектов" #~ msgid "Regular expression for matching object names" #~ msgstr "Регулярное выражение, соответствующее именам объектов" #, fuzzy #~ msgid "Sort direction" #~ msgstr "Действие" #~ msgid "Action" #~ msgstr "Действие" #, fuzzy #~ msgid "Current release" #~ msgstr "Текущий пароль" #, fuzzy #~ msgid "Create read-only release" #~ msgstr "Текущий пароль" #, fuzzy #~ msgid "Delete current release" #~ msgstr "Удалить" #, fuzzy #~ msgid "Show profiles" #~ msgstr "Показать принтеры" #~ msgid "Show templates" #~ msgstr "Показать шаблоны" #, fuzzy #~ msgid "Show scripts" #~ msgstr "Показать хосты" #, fuzzy #~ msgid "Show hooks" #~ msgstr "Показать хосты" #, fuzzy #~ msgid "Show variables" #~ msgstr "Показать терминалы" #, fuzzy #~ msgid "Show packages" #~ msgstr "Показать телефоны" #, fuzzy #~ msgid "Show partitions" #~ msgstr "Показать рабочие станции" #, fuzzy #~ msgid "Show netboot products" #~ msgstr "Объединения" #, fuzzy #~ msgid "Show localboot products" #~ msgstr "Объединения" #, fuzzy #~ msgid "Open" #~ msgstr "Параметры" #, fuzzy #~ msgid "Close" #~ msgstr "Выбрать" #, fuzzy #~ msgid "List of available packages" #~ msgstr "Выберите тип мыши" #, fuzzy #~ msgid "" #~ "This menu allows you to select multiple packages to add them to the " #~ "currently edited package list." #~ msgstr "" #~ "С помощью этого меню вы можете добавлять, изменять и удалять выбранные " #~ "стоп-листы. Если у вас достаточно большое количество списков, вы можете " #~ "использовать групповое выделение." #, fuzzy #~ msgid "Please enter your search string here" #~ msgstr "Введите корректный серийный номер" #, fuzzy #~ msgid "This menu allows you to create, delete and edit repository settings." #~ msgstr "" #~ "С помощью этого меню вы можете добавлять, изменять и удалять выбранные " #~ "стоп-листы. Если у вас достаточно большое количество списков, вы можете " #~ "использовать групповое выделение." #, fuzzy #~ msgid "Add repository" #~ msgstr "Каталог" #, fuzzy #~ msgid "" #~ "This includes 'all' object information. Please double check if your " #~ "really want to do this since there is no way for GOsa to get your data " #~ "back." #~ msgstr "" #~ "Сюда входит вся информация о системе и ее настройках. Подумайте " #~ "еще раз, действительно ли вам нужно удаление, так как GOsa не сможет " #~ "отменить результаты этой операции." #, fuzzy #~ msgid "" #~ "Best thing to do before performing this action would be to save the " #~ "current contents of your LDAP tree in a file. So - if you've done so - " #~ "press 'Delete' to continue or 'Cancel' to abort." #~ msgstr "" #~ "Лучше всего перед удалением сохранить резервную копию текущего дерева " #~ "LDAP в файл. Если вы сделали это и действительно хотите выполнить " #~ "удаление, нажмите Удалить, иначе нажмите Отмена." #, fuzzy #~ msgid "Select the object you want to cut:" #~ msgstr "Выберите чтобы посмотреть группы GOsa" #, fuzzy #~ msgid "Roles" #~ msgstr "Роль" #, fuzzy #~ msgid "Role management" #~ msgstr "Управление подразделениями" #~ msgid "Role" #~ msgstr "Роль" #, fuzzy #~ msgid "Edit role" #~ msgstr "Пользователи домена" #, fuzzy #~ msgid "Use" #~ msgstr "Пользователь" #, fuzzy #~ msgid "A new class name." #~ msgstr "Доступные приложения" #, fuzzy #~ msgid "List of classes" #~ msgstr "Выберите тип мыши" #, fuzzy #~ msgid "Select all" #~ msgstr "Удалить" #, fuzzy #~ msgid "Class types" #~ msgstr "Выберите тип мыши" #, fuzzy #~ msgid "Display objects of type '%s'." #~ msgstr "Показать совпадения объектов" #~ msgid "Display users matching" #~ msgstr "Фильтр" #, fuzzy #~ msgid "Templates " #~ msgstr "Шаблон" #, fuzzy #~ msgid "I" #~ msgstr "Unix" #, fuzzy #~ msgid "Number of listed %s" #~ msgstr "Подразделение" #, fuzzy #~ msgid "profiles" #~ msgstr "Путь к профилю" #, fuzzy #~ msgid "partitions" #~ msgstr "Показать рабочие станции" #, fuzzy #~ msgid "scripts" #~ msgstr "Путь к сценариям" #, fuzzy #~ msgid "hooks" #~ msgstr "Ошибка LDAP:" #, fuzzy #~ msgid "variables" #~ msgstr "Переменная" #, fuzzy #~ msgid "templates" #~ msgstr "Шаблон" #, fuzzy #~ msgid "packages" #~ msgstr "Показать телефоны" #, fuzzy #~ msgid "departments" #~ msgstr "Показать подразделения" #, fuzzy #~ msgid "localboot products" #~ msgstr "Объединения" #, fuzzy #~ msgid "Partition start size" #~ msgstr "Назначение" #, fuzzy #~ msgid "Partition stop size" #~ msgstr "Назначение" #, fuzzy #~ msgid "Secondary" #~ msgstr "Действие" #, fuzzy #~ msgid "Raid 0" #~ msgstr "чтение" #, fuzzy #~ msgid "Raid 1" #~ msgstr "чтение" #, fuzzy #~ msgid "Raid 5" #~ msgstr "чтение" #, fuzzy #~ msgid "Raid 6" #~ msgstr "чтение" #, fuzzy #~ msgid "%s partition" #~ msgstr "Показать рабочие станции" #, fuzzy #~ msgid "%s partition(s)" #~ msgstr "Показать рабочие станции" #, fuzzy #~ msgid "Number of listed '%s'" #~ msgstr "Подразделение" #, fuzzy #~ msgid "Deployment status" #~ msgstr "Состояние системы" #, fuzzy #~ msgid "System deployment status" #~ msgstr "Управление системами" #, fuzzy #~ msgid "" #~ "This menu allows you to remove and change the properties of GOsa tasks." #~ msgstr "" #~ "С помощью этого меню вы можете добавлять, изменять и удалять свойства " #~ "отдельных систем. Вы можете только добавлять системы которые однажды уже " #~ "были запущены." #, fuzzy #~ msgid "List of queued jobs" #~ msgstr "Список подразделений" #~ msgid "Import" #~ msgstr "Импортировать" #, fuzzy #~ msgid "Resume" #~ msgstr "Удалить" #, fuzzy #~ msgid "Pause" #~ msgstr "Дата" #, fuzzy #~ msgid "Abort" #~ msgstr "Порт" #, fuzzy #~ msgid "Reload" #~ msgstr "чтение" #, fuzzy #~ msgid "Target" #~ msgstr "сброс" #, fuzzy #~ msgid "Schedule" #~ msgstr "Учетная запись Groupware" #, fuzzy #~ msgid "Move up" #~ msgstr "Режим" #, fuzzy #~ msgid "Move down" #~ msgstr "Режим" #, fuzzy #~ msgid "Execute now" #~ msgstr "Выполнить" #, fuzzy #~ msgid "Abort job" #~ msgstr "Порт" #, fuzzy #~ msgid "Waiting" #~ msgstr "Предупреждение" #, fuzzy #~ msgid "Detection" #~ msgstr "Действие" #, fuzzy #~ msgid "Cannot update queue entry: %s" #~ msgstr "состояние неизвестно" #, fuzzy #~ msgid "Cannot load queue entries: %s" #~ msgstr "состояние неизвестно" #, fuzzy #~ msgid "System deployment" #~ msgstr "Управление системами" #, fuzzy #~ msgid "System list" #~ msgstr "Системные доверия" #, fuzzy #~ msgid "ID" #~ msgstr "GID" #, fuzzy #~ msgid "Timestamp" #~ msgstr "Таймаут (с)" #, fuzzy #~ msgid "Targets" #~ msgstr "сброс" #, fuzzy #~ msgid "System / Department" #~ msgstr "Подразделение" #, fuzzy #~ msgid "Display users" #~ msgstr "Фильтр" #, fuzzy #~ msgid "Display groups" #~ msgstr "Показать группы пользователей" #, fuzzy #~ msgid "Submit department" #~ msgstr "Показать подразделения" #, fuzzy #~ msgid "Abort installation" #~ msgstr "Рабочая станция" #, fuzzy #~ msgid "Reload GOto settings" #~ msgstr "Атрибуты UNIX" #, fuzzy #~ msgid "System analysis" #~ msgstr "Системы" #, fuzzy #~ msgid "Installation activation" #~ msgstr "Рабочая станция" #, fuzzy #~ msgid "Time schedule" #~ msgstr "Учетная запись Groupware" #, fuzzy #~ msgid "Year" #~ msgstr "Поиск" #, fuzzy #~ msgid "Month" #~ msgstr "месяц" #, fuzzy #~ msgid "Day" #~ msgstr "день" #, fuzzy #~ msgid "Hour" #~ msgstr "час" #, fuzzy #~ msgid "Minute" #~ msgstr "Принтер" #, fuzzy #~ msgid "Reload fai release db" #~ msgstr "Загрузка процессора" #, fuzzy #~ msgid "Send message" #~ msgstr "Домашняя страница" #, fuzzy #~ msgid "Subject" #~ msgstr "Объект" #~ msgid "Message" #~ msgstr "Сообщение" #, fuzzy #~ msgid "Create '%s' job" #~ msgstr "Объект группы" #~ msgid "Add" #~ msgstr "Добавить" #~ msgid "Apply" #~ msgstr "Применить" #~ msgid "Cancel" #~ msgstr "Отмена" #, fuzzy #~ msgid "Display server" #~ msgstr "Отображаемое имя" #, fuzzy #~ msgid "Display workstation" #~ msgstr "рабочие станции" #, fuzzy #~ msgid "Display object groups" #~ msgstr "Название группы" #~ msgid "Server" #~ msgstr "Сервер" #~ msgid "Workstation" #~ msgstr "Рабочая станция" #~ msgid "Object group" #~ msgstr "Объект группы" #, fuzzy #~ msgid "Activate new" #~ msgstr "Личный" #, fuzzy #~ msgid "Progress" #~ msgstr "Свойства" #, fuzzy #~ msgid "Sender" #~ msgstr "Отправитель" #, fuzzy #~ msgid "Target users" #~ msgstr "Пользователи домена" #, fuzzy #~ msgid "Target groups" #~ msgstr "подразделения" #, fuzzy #~ msgid "Available targets" #~ msgstr "Доступные приложения" #~ msgid "Object name" #~ msgstr "Имя объекта" #, fuzzy #~ msgid "Select to see object groups" #~ msgstr "Выберите чтобы посмотреть группы GOsa" #, fuzzy #~ msgid "Show object groups" #~ msgstr "Объединения" #~ msgid "Select to see servers" #~ msgstr "Выберите, чтобы просмотреть серверы" #~ msgid "Show servers" #~ msgstr "Показать серверы" #~ msgid "Select to see workstations" #~ msgstr "Выберите чтобы посмотреть рабочие станции" #~ msgid "Show workstations" #~ msgstr "Показать рабочие станции" #, fuzzy #~ msgid "Select to see incoming objects" #~ msgstr "Выберите чтобы посмотреть телефоны" #, fuzzy #~ msgid "Show new objects" #~ msgstr "Включаемые объекты" #~ msgid "Regular expression for matching group names" #~ msgstr "Регулярное выражение, соответствующее именам групп" #, fuzzy #~ msgid "Available logs" #~ msgstr "Доступные приложения" #, fuzzy #~ msgid "Selected log" #~ msgstr "Удалить" #, fuzzy #~ msgid "Import jobs" #~ msgstr "Импортировать" #, fuzzy #~ msgid "timestamp" #~ msgstr "Таймаут (с)" #, fuzzy #~ msgid "MAC-address" #~ msgstr "Адрес" #, fuzzy #~ msgid "job type" #~ msgstr "Тип" #, fuzzy #~ msgid "object group" #~ msgstr "Объект группы" #, fuzzy #~ msgid "import base" #~ msgstr "Приложение" #, fuzzy #~ msgid "IP-address" #~ msgstr "Адрес" #, fuzzy #~ msgid "Select list to import" #~ msgstr "Выберите чтобы посмотреть принтеры" #, fuzzy #~ msgid "Browse" #~ msgstr "Ветка" #, fuzzy #~ msgid "MAC" #~ msgstr "Доступ" #, fuzzy #~ msgid "IP" #~ msgstr "Unix" #~ msgid "none" #~ msgstr "нет" #, fuzzy #~ msgid "Date" #~ msgstr "Дата" #, fuzzy #~ msgid "System mass deployment" #~ msgstr "Управление системами" #, fuzzy #~ msgid "Edit product" #~ msgstr "Список систем" #, fuzzy #~ msgid "Edit class" #~ msgstr "Список систем" #, fuzzy #~ msgid "Delete class" #~ msgstr "Удалить" #, fuzzy #~ msgid "Opsi netboot package" #~ msgstr "Показать телефоны" #, fuzzy #~ msgid "Copy" #~ msgstr "Компания" #, fuzzy #~ msgid "Copy this entry" #~ msgstr "Редактиовать объект" #, fuzzy #~ msgid "Sudo generic" #~ msgstr "Общее" #, fuzzy #~ msgid "package is configured" #~ msgstr "Не настроено" #, fuzzy #~ msgid "Branches" #~ msgstr "Отмена" #, fuzzy #~ msgid "Create new locked branch" #~ msgstr "Создание нового объекта в" #, fuzzy #~ msgid "Cut" #~ msgstr "Выполнить" #, fuzzy #~ msgid "cut" #~ msgstr "Выполнить" #, fuzzy #~ msgid "Cut this entry" #~ msgstr "Редактиовать объект" #, fuzzy #~ msgid "Choosen packages" #~ msgstr "Показать телефоны" #, fuzzy #~ msgid "File system encryption" #~ msgstr "Системная информация" #, fuzzy #~ msgid "Fully Automatic Installation - management" #~ msgstr "Управление приложениями" #, fuzzy #~ msgid "Fully Automatic Installation" #~ msgstr "Управление приложениями" #, fuzzy #~ msgid "This table displays all FAI classes in the selected tree." #~ msgstr "Приложение с таким именем уже существует." #, fuzzy #~ msgid "Name is already in use!" #~ msgstr "Указанное имя уже используется." #, fuzzy #~ msgid "Please enter a script!" #~ msgstr "Введите корректный серийный номер" #, fuzzy #~ msgid "You're about to delete all information about the FAI class at '%s'." #~ msgstr "Вы собираетесь удалить всю информацию о терминале (\"%s\")." #, fuzzy #~ msgid "You have no permission to delete this entry!" #~ msgstr "У вас недостаточно прав для удаления этого объекта!" #, fuzzy #~ msgid "You're about to delete the following entry %s" #~ msgstr "Вы собираетесь удалить объект %s." #, fuzzy #~ msgid "You're about to delete the following entries %s" #~ msgstr "Вы собираетесь удалить объект %s." #, fuzzy #~ msgid "You're about to delete a fai branch / freeze '%s'." #~ msgstr "Вы собираетесь удалить группу \"%s\"." #, fuzzy #~ msgid "Branch name is not valid!" #~ msgstr "Указанное имя уже используется." #, fuzzy #~ msgid "Freeze name is not valid!" #~ msgstr "Указанное имя уже используется." #, fuzzy #~ msgid "You have no permission to create a new branch!" #~ msgstr "Вам не разрешено менять пароль." #, fuzzy #~ msgid "There is already a template with the given name." #~ msgstr "" #~ "Пользователь с таким регистрационным именем в базе данных уже существует." #, fuzzy #~ msgid "Please specify a value for attribute 'file'." #~ msgstr "Укажите корректный номер телефона." #, fuzzy #~ msgid "Please specify a valid value for attribute 'Destination path'." #~ msgstr "Укажите корректный номер телефона." #, fuzzy #~ msgid "Please enter a file name." #~ msgstr "Введите адрес сервера" #, fuzzy #~ msgid "Please enter a user." #~ msgstr "Введите адрес сервера" #, fuzzy #~ msgid "Please enter a valid user. Only a-z/0-9 are allowed." #~ msgstr "Введите корректное имя пользователя!" #, fuzzy #~ msgid "Please enter a group." #~ msgstr "Введите адрес сервера" #, fuzzy #~ msgid "Please enter a valid group. Only a-z/0-9 are allowed." #~ msgstr "Введите корректное имя пользователя!" #, fuzzy #~ msgid "Create new FAI object - partition table." #~ msgstr "Объект группы" #, fuzzy #~ msgid "Create new FAI object - package bundle." #~ msgstr "Объект группы" #, fuzzy #~ msgid "Create new FAI object - script bundle." #~ msgstr "Объект группы" #, fuzzy #~ msgid "Create new FAI object - variable bundle." #~ msgstr "Объект группы" #, fuzzy #~ msgid "Create new FAI object - hook bundle." #~ msgstr "Объект группы" #, fuzzy #~ msgid "Create new FAI object - profile." #~ msgstr "Объект группы" #, fuzzy #~ msgid "Create new FAI object - template." #~ msgstr "Создать шаблон" #, fuzzy #~ msgid "Spaces are not allowed within class names." #~ msgstr "Вам не разрешено менять пароль." #, fuzzy #~ msgid "The given class name is empty." #~ msgstr "Значение поля \"Файлы\" некорректно." #, fuzzy #~ msgid "The specified class name is already in use for this object type." #~ msgstr "Группа с таким именем уже существует." #, fuzzy #~ msgid "There is already a variable with the given name." #~ msgstr "" #~ "Пользователь с таким регистрационным именем в базе данных уже существует." #, fuzzy #~ msgid "Please specify a value for the attribute 'content'." #~ msgstr "Укажите корректный номер телефона." #, fuzzy #~ msgid "Please enter a name." #~ msgstr "Введите адрес сервера" #, fuzzy #~ msgid "Display FAI template objects" #~ msgstr "Список подразделений" #, fuzzy #~ msgid "Display FAI scripts" #~ msgstr "Список пользователей" #, fuzzy #~ msgid "Display FAI hooks" #~ msgstr "Ошибка LDAP:" #, fuzzy #~ msgid "Display FAI variables" #~ msgstr "Устройство отображения" #, fuzzy #~ msgid "Display FAI packages" #~ msgstr "Отображаемое имя" #, fuzzy #~ msgid "Display FAI partitions" #~ msgstr "Показать рабочие станции" #, fuzzy #~ msgid "Number of listed profiles" #~ msgstr "Подразделение" #, fuzzy #~ msgid "Number of listed partitions" #~ msgstr "Подразделение" #, fuzzy #~ msgid "Number of listed scripts" #~ msgstr "Список пользователей" #, fuzzy #~ msgid "Number of listed variables" #~ msgstr "Выберите тип мыши" #, fuzzy #~ msgid "Number of listed templates" #~ msgstr "Подразделение" #, fuzzy #~ msgid "Number of listed packages" #~ msgstr "Подразделение" #, fuzzy #~ msgid "Number of listed departments" #~ msgstr "Подразделение" #, fuzzy #~ msgid "Please specify a valid disc name." #~ msgstr "Введите корректное имя пользователя!" #, fuzzy #~ msgid "Please enter a valid mount point for partition %s." #~ msgstr "Введите корректный путь в поле \"Домашний каталог\"." #, fuzzy #~ msgid "Please enter a valid partition size for partition %s." #~ msgstr "Введите корректный путь в поле \"Домашний каталог\"." #, fuzzy #~ msgid "Please enter a valid range for partition %s." #~ msgstr "Введите корректный серийный номер" #, fuzzy #~ msgid "Please enter a range for partition size for partition %s." #~ msgstr "Введите корректный серийный номер" #~ msgid "Back" #~ msgstr "Назад" #, fuzzy #~ msgid "Saving of FAI/package list with dn '%s' failed." #~ msgstr "Дополнительные записи в fstab" #, fuzzy #~ msgid "Saving of FAI/hook with dn '%s' failed." #~ msgstr "Атрибуты UNIX" #, fuzzy #~ msgid "Saving of FAI/variable with dn '%s' failed." #~ msgstr "Дополнительные записи в fstab" #, fuzzy #~ msgid "Saving of FAI/template with dn '%s' failed." #~ msgstr "Список подразделений" #, fuzzy #~ msgid "Creating of FAI/script with dn '%s' failed." #~ msgstr "Объект группы" #, fuzzy #~ msgid "Saving of FAI/partition table with dn '%s' failed." #~ msgstr "Дополнительные записи в fstab" #, fuzzy #~ msgid "Saving of FAI/profile with dn '%s' failed." #~ msgstr "Дополнительные записи в fstab" #, fuzzy #~ msgid "Please select a valid file." #~ msgstr "Введите корректный серийный номер" #, fuzzy #~ msgid "There is already a hook with the given name." #~ msgstr "" #~ "Пользователь с таким регистрационным именем в базе данных уже существует." #, fuzzy #~ msgid "Please enter a value for script." #~ msgstr "Введите корректный серийный номер" #, fuzzy #~ msgid "There is already a script with the given name." #~ msgstr "" #~ "Пользователь с таким регистрационным именем в базе данных уже существует." #, fuzzy #~ msgid "Please enter a valid name." #~ msgstr "Введите корректный серийный номер" #, fuzzy #~ msgid "There is already a FAI object with this class name defined." #~ msgstr "" #~ "Пользователь с таким регистрационным именем в базе данных уже существует." gosa-plugin-fai-2.7.4/locale/pl/0000755000175000017500000000000011752422555015364 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/pl/LC_MESSAGES/0000755000175000017500000000000011752422555017151 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/pl/LC_MESSAGES/messages.po0000644000175000017500000021127411475426262021330 0ustar cajuscajusmsgid "" msgstr "" "Project-Id-Version: polski\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: 2007-07-14 21:45+0100\n" "Last-Translator: Piotr Rybicki \n" "Language-Team: Piotr Rybicki \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Polish\n" "X-Poedit-Country: POLAND\n" "X-Poedit-SourceCharset: iso-8859-2\n" "X-Poedit-Basepath: tedst\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "Ogólne" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 #, fuzzy msgid "FAI template entry" msgstr "Szablon FAI" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 #, fuzzy msgid "Generic settings" msgstr "Ogólne ustawienia użytkownika" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 #, fuzzy msgid "File name" msgstr "Nazwa pliku" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 msgid "Destination path" msgstr "Ścieżka docelowa" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "Opis" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 msgid "Template attributes" msgstr "Atrybuty szablonu" #: admin/fai/faiTemplateEntry.tpl:44 #, fuzzy msgid "Template file status" msgstr "Plik szablonu" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 msgid "File" msgstr "Plik" #: admin/fai/faiTemplateEntry.tpl:50 msgid "Save template" msgstr "Zapisz szablon" #: admin/fai/faiTemplateEntry.tpl:51 #, fuzzy msgid "Edit template" msgstr "Szablony" #: admin/fai/faiTemplateEntry.tpl:58 #, fuzzy msgid "Full path" msgstr "Ścieżka do fontów" #: admin/fai/faiTemplateEntry.tpl:70 msgid "Upload" msgstr "Wgraj" #: admin/fai/faiTemplateEntry.tpl:77 #, fuzzy msgid "File attributes" msgstr "Atrybuty zmiennych" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "Właściciel" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "Grupa" #: admin/fai/faiTemplateEntry.tpl:99 msgid "Access" msgstr "Dostęp" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 msgid "File permissions" msgstr "Uprawnienia pliku" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Class" msgstr "Klasa" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Read" msgstr "Odczyt" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Write" msgstr "Zapis" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "Uruchom" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Special" msgstr "Specjalne" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "Użytkownik" #: admin/fai/faiTemplateEntry.tpl:162 msgid "Others" msgstr "Inne" #: admin/fai/faiTemplateEntry.tpl:186 msgid "sticky" msgstr "sticky" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "Błąd" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 #, fuzzy msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "" "Próba przeniesienia drzewa nieudana. Docelowe drzewo jest poddrzewem w " "drzewie źródłowym." #: admin/fai/class_faiTemplateEdit.inc:60 #, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 msgid "Device" msgstr "Urządzenie" #: admin/fai/faiDiskEntry.tpl:5 #, fuzzy msgid "FAI disk entry" msgstr "Zaczep FAI" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 #, fuzzy msgid "Disk options" msgstr "Opcje systemu plików" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "Imię" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 msgid "Partition entries" msgstr "Partycje" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 msgid "Add partition" msgstr "Dodaj partycje" #: admin/fai/faiGroupHandle.tpl:3 #, fuzzy msgid "Please select the objects you want to remove:" msgstr "Proszę podać nową nazwę." #: admin/fai/faiGroupHandle.tpl:5 #, fuzzy msgid "Select the object you want to edit:" msgstr "Wybierz obiekty do dodania" #: admin/fai/faiGroupHandle.tpl:7 #, fuzzy msgid "Select the object you want to copy:" msgstr "Wybierz aby zobaczyć grupy GOsa" #: admin/fai/faiGroupHandle.tpl:12 #, fuzzy msgid "FAI group selection" msgstr "Ustawienia grupy" #: admin/fai/faiGroupHandle.tpl:40 #, fuzzy msgid "Frozen" msgstr "Częstotliwość" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "primary" msgstr "podstawowa" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "logical" msgstr "logiczna" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "Typ" #: admin/fai/class_faiPartitionTableEntry.inc:150 #, fuzzy msgid "Filesystem type" msgstr "Typ systemu plików" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 msgid "Mount point" msgstr "Punkt montowania" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 msgid "Size in MB" msgstr "Rozmiar w MB" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 msgid "Mount options" msgstr "Opcje montowania" #: admin/fai/class_faiPartitionTableEntry.inc:154 #, fuzzy msgid "Filesystem option" msgstr "Opcje systemu plików" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 msgid "Preserve" msgstr "Zachowaj" #: admin/fai/class_faiPartitionTableEntry.inc:246 msgid "False" msgstr "Nie" #: admin/fai/class_faiPartitionTableEntry.inc:248 msgid "True" msgstr "Tak" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "Usuń" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "proszę podać unikalny punkt montowania dla partycji %s" #: admin/fai/class_faiPartitionTableEntry.inc:365 #, php-format msgid "partition %s mount point" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "" "Typ systemu plików 'swap' jest już użyty. Zmień system plików dla partycji " "%s." #: admin/fai/class_faiPartitionTableEntry.inc:374 #, fuzzy msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "" "Proszę użyć 'swap' jako punkt montowania w przypadku użycia systemu plików " "'swap'." #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, fuzzy, php-format msgid "partition %s size" msgstr "Rozmiar partycji" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "" "Jest więcej niż 3 wpisy w podstawowej tablicy partycji. Proszę sprawdzić " "konfigurację." #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 #, fuzzy msgid "Partition table entry" msgstr "Tablica partycji" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 #, fuzzy msgid "FAI partition table entry" msgstr "Tablica partycji FAI" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 msgid "Partition type" msgstr "Typ partycji" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 msgid "Partition no." msgstr "Nr. Partycji" #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 msgid "File system type" msgstr "Typ systemu plików" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 msgid "Partition size" msgstr "Rozmiar partycji" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 msgid "File system options" msgstr "Opcje systemu plików" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 msgid "Partition flags" msgstr "Flagi partycji" #: admin/fai/faiVariable.tpl:32 msgid "List of assigned variables" msgstr "Lista przypisanych zmiennych" #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "Wybierz zmienną do usunięcia lub edycji" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "Edytuj" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 msgid "Hook" msgstr "Zaczep" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 msgid "FAI hook" msgstr "Zaczep FAI" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 #, fuzzy msgid "Read only" msgstr "Odczyt" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 msgid "Options" msgstr "Opcje" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "" #: admin/fai/class_faiDiskEntry.inc:249 #, fuzzy msgid "UUID" msgstr "SUID" #: admin/fai/class_faiDiskEntry.inc:317 #, fuzzy msgid "Disks" msgstr "Dyski" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "" #: admin/fai/class_faiDiskEntry.inc:501 msgid "encrypted" msgstr "" #: admin/fai/class_faiDiskEntry.inc:504 #, fuzzy msgid "boot able" msgstr "Zestaw zaczepów" #: admin/fai/class_faiDiskEntry.inc:507 #, fuzzy msgid "preserve" msgstr "Zachowaj" #: admin/fai/class_faiDiskEntry.inc:678 #, fuzzy msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "" "Jest więcej niż 3 wpisy w podstawowej tablicy partycji. Proszę sprawdzić " "konfigurację." #: admin/fai/class_faiDiskEntry.inc:682 #, fuzzy msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "" "Jest więcej niż 3 wpisy w podstawowej tablicy partycji. Proszę sprawdzić " "konfigurację." #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 msgid "FAI profile" msgstr "Profil FAI" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 msgid "FAI classes" msgstr "Klasy FAI" #: admin/fai/faiProfile.tpl:35 msgid "Choose a priority" msgstr "Wybierz priorytet" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 msgid "FAI script" msgstr "Skrypt FAI" #: admin/fai/faiScriptEntry.tpl:32 msgid "Script attributes" msgstr "Atrybuty skryptu" #: admin/fai/faiScriptEntry.tpl:34 #, fuzzy msgid "Priority configuration" msgstr "Konfiguracja hasła" #: admin/fai/faiScriptEntry.tpl:36 msgid "Priority" msgstr "Priorytet" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "" #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 msgid "Script" msgstr "Skrypt" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 msgid "Edit anyway" msgstr "Edytuj mimo wszystko" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 msgid "Import script" msgstr "Importuj skrypt" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 msgid "List of scripts" msgstr "Lista skryptów" #: admin/fai/faiPackage.tpl:2 #, fuzzy msgid "FAI package" msgstr "Lista pakietów FAI" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 msgid "Repository" msgstr "Repozytorium" #: admin/fai/faiPackage.tpl:31 #, fuzzy msgid "Repository settings" msgstr "Repozytorium" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 msgid "Release" msgstr "Wersja" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 msgid "Section" msgstr "Sekcja" #: admin/fai/faiPackage.tpl:47 msgid "Install method" msgstr "Metoda instalacji" #: admin/fai/faiPackage.tpl:51 #, fuzzy msgid "Please select the installation method" msgstr "Proszę wybrać prawidłowy plik" #: admin/fai/faiPackage.tpl:62 #, fuzzy msgid "Package settings" msgstr "Ustawienia użytkownika" #: admin/fai/faiPackage.tpl:65 msgid "Used packages" msgstr "Użyte pakiety" #: admin/fai/faiPackage.tpl:76 msgid "Add from list" msgstr "" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 #, fuzzy msgid "Please select the desired entries" msgstr "Preferowany język" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 msgid "FAI" msgstr "FAI" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 msgid "Properties" msgstr "Właściwości" #: admin/fai/classSelect/class_classSelect.inc:29 #, fuzzy msgid "Class selection" msgstr "Ustawienia grupy" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 #, fuzzy msgid "Default filter" msgstr "Parametr" #: admin/fai/faiHook.tpl:31 #, fuzzy msgid "List of hooks" msgstr "Lista zaczepionych slryptów" #: admin/fai/faiHook.tpl:34 msgid "List of hook scripts" msgstr "Lista zaczepionych slryptów" #: admin/fai/class_faiProfile.inc:105 #, fuzzy msgid "Types" msgstr "Typ" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 msgid "Hook bundle" msgstr "Zestaw zaczepów" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 msgid "Template bundle" msgstr "Zestaw szablonów" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 msgid "Script bundle" msgstr "Zestaw skryptów" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 msgid "Variable bundle" msgstr "Zestaw zmiennych" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 msgid "Package bundle" msgstr "Zestaw pakietu" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 msgid "Partition table" msgstr "Tablica partycji" #: admin/fai/class_faiProfile.inc:185 msgid "Remove class from profile" msgstr "Usuń klasę z profilu" #: admin/fai/class_faiProfile.inc:188 msgid "Up" msgstr "Góra" #: admin/fai/class_faiProfile.inc:189 msgid "Down" msgstr "W dół" #: admin/fai/class_faiProfile.inc:272 msgid "No class specified for this profile!" msgstr "" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 msgid "Profile" msgstr "Profile" #: admin/fai/class_faiProfile.inc:365 #, fuzzy msgid "RDN for FAI profile storage." msgstr "Ustawienia profilu Kiosk" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 #, fuzzy msgid "FAI hook entry" msgstr "Zaczep FAI" #: admin/fai/faiHookEntry.tpl:33 msgid "Hook attributes" msgstr "Atrybuty zaczepu" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 msgid "Task" msgstr "Zadanie" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "Proszę wybrać istniejące zadanie FAI" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "" #: admin/fai/class_faiManagement.inc:25 #, fuzzy msgid "Software deployment" msgstr "Zarządzanie systemem" #: admin/fai/class_faiManagement.inc:26 msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "" #: admin/fai/class_faiManagement.inc:208 #, fuzzy msgid "partition table" msgstr "Tablica partycji" #: admin/fai/class_faiManagement.inc:209 #, fuzzy msgid "script" msgstr "Skrypt" #: admin/fai/class_faiManagement.inc:210 #, fuzzy msgid "hook" msgstr "Zaczep" #: admin/fai/class_faiManagement.inc:211 #, fuzzy msgid "variable" msgstr "Zmienna" #: admin/fai/class_faiManagement.inc:212 #, fuzzy msgid "template" msgstr "Szablon" #: admin/fai/class_faiManagement.inc:213 #, fuzzy msgid "package list" msgstr "Lista pakietów" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Permission error" msgstr "Uprawnienia" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, fuzzy, php-format msgid "You have no permission to create a new %s!" msgstr "Brak uprawnień do usunięcia grupy obiektowej." #: admin/fai/class_faiManagement.inc:244 #, fuzzy msgid "profile" msgstr "Profile" #: admin/fai/class_faiManagement.inc:398 #, fuzzy msgid "Branch locked" msgstr "Gałęzie" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "" #: admin/fai/class_faiManagement.inc:572 msgid "FAI branch/freeze" msgstr "" #: admin/fai/class_faiManagement.inc:575 #, fuzzy msgid "You have no permission to delete this release!" msgstr "Brak uprawnień do usunięcia tego wydania!" #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "Ostrzeżenie" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 msgid "Configuration" msgstr "Konfiguracja" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Branch" msgstr "Gałęzie" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 msgid "Continue" msgstr "Kontynuuj" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 #, fuzzy msgid "Service infrastructure" msgstr "Szukaj wewnątrz tego poddrzewa" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 #, fuzzy msgid "Fatal error" msgstr "Terminal Server" #: admin/fai/class_faiManagement.inc:1003 #, fuzzy msgid "Freeze" msgstr "Częstotliwość" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 msgid "Package list" msgstr "Lista pakietów" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 msgid "Scripts" msgstr "Skrypty" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 msgid "Variables" msgstr "Zmienie" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 msgid "Hooks" msgstr "Zaczepy" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 msgid "Templates" msgstr "Szablony" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 #, fuzzy msgid "OPSI net boot product" msgstr "Grupy obiektów" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 #, fuzzy msgid "OPSI local boot product" msgstr "Grupy obiektów" #: admin/fai/class_faiManagement.inc:1228 #, fuzzy msgid "FAI releases" msgstr "Klasy FAI" #: admin/fai/class_faiManagement.inc:1229 #, fuzzy msgid "FAI release management" msgstr "Zarządzanie FAI" #: admin/fai/class_faiManagement.inc:1285 #, fuzzy msgid "RDN for FAI storage." msgstr "Przechowywanie hasła" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "" #: admin/fai/class_faiVariableEntry.inc:91 #, fuzzy msgid "Content" msgstr "Kontynuuj" #: admin/fai/class_faiVariableEntry.inc:126 #, fuzzy msgid "Variable entry" msgstr "Zawartość zmiennych" #: admin/fai/class_faiVariableEntry.inc:127 #, fuzzy msgid "FAI variable entry " msgstr "Zmienna FAI" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 msgid "Variable content" msgstr "Zawartość zmiennych" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 msgid "Download" msgstr "Ściągnij" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 msgid "Template" msgstr "Szablon" #: admin/fai/class_faiTemplate.inc:522 msgid "FAI template" msgstr "Szablon FAI" #: admin/fai/class_faiTemplate.inc:534 #, fuzzy msgid "RDN for FAI template storage." msgstr "Szablon FAI" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 #, fuzzy msgid "Read-only" msgstr "Odczyt" #: admin/fai/paste_generic.tpl:2 #, fuzzy msgid "FAI settings" msgstr "Klasy FAI" #: admin/fai/paste_generic.tpl:4 #, fuzzy msgid "Paste FAI class" msgstr "Nazwy klasy FAI" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 msgid "Class name" msgstr "Nazwa klasy" #: admin/fai/remove_branch.tpl:6 msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" "Operacja odnosi się do wszystkich danych kont, dostępów, etc dla tej gałęzi. " "Proszę upewnić się czy na pewno wykonać operację, gdyż nie ma możliwości " "powrotu." #: admin/fai/remove_branch.tpl:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" "Jeśli jesteś pewien - naciśnij 'Usuń' aby kontynuować lub 'Anuluj' aby " "anulować." #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 msgid "Create new FAI object" msgstr "Utwórz nowy obiekt FAI" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 #, fuzzy msgid "Version" msgstr "Uprawnienie" #: admin/fai/packageSelect/class_packageSelect.inc:29 #, fuzzy msgid "Package selection" msgstr "Ustawienia grupy" #: admin/fai/class_faiScript.inc:522 #, fuzzy msgid "RDN for FAI script storage." msgstr "Skrypt FAI" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 #, fuzzy msgid "LDAP error" msgstr "błąd LDAP:" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "Błąd, następujące obiekty powinny być równe '%s' oraz '%s'" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 msgid "Object" msgstr "Obiekt" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1041 #, fuzzy, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "Nie można utworzyć '%s', nazwa docelowa już istnieje." #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "" #: admin/fai/class_FAI.inc:1077 #, php-format msgid "Creating copy of %s" msgstr "Tworzenie kopii %s" #: admin/fai/class_FAI.inc:1080 msgid "Processing" msgstr "Przetwarzanie" #: admin/fai/class_FAI.inc:1098 #, fuzzy msgid "Could not create new release, the destination DN is already in use." msgstr "Nie można utworzyć '%s', nazwa docelowa już istnieje." #: admin/fai/class_FAI.inc:1111 #, fuzzy msgid "Error while fetching source DN - aborted!" msgstr "Błąd podczas pobierania źródłowego dn - anulowano!" #: admin/fai/class_FAI.inc:1193 #, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "" #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 #, fuzzy msgid "file is empty" msgstr "Wybrany plik jest pusty" #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 #, fuzzy msgid "Script entry" msgstr "Zawartość skryptu" #: admin/fai/class_faiScriptEntry.inc:211 #, fuzzy msgid "FAI script entry" msgstr "Skrypt FAI" #: admin/fai/class_faiScriptEntry.inc:221 #, fuzzy msgid "Script Priority" msgstr "Priorytet skryptu" #: admin/fai/fai-list.xml:11 #, fuzzy msgid "List of deployment classes and products" msgstr "Pokaż tylko klasy z pakietami" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 msgid "Actions" msgstr "Akcje" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 msgid "Create" msgstr "Utwórz" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 msgid "Variable" msgstr "Zmienna" #: admin/fai/fai-list.xml:107 #, fuzzy msgid "Remove entries" msgstr "Usuń obiekt" #: admin/fai/fai-list.xml:118 #, fuzzy msgid "Create branch" msgstr "Utwórz nową gałąź" #: admin/fai/fai-list.xml:125 #, fuzzy msgid "Create freeze" msgstr "Obecne wydanie" #: admin/fai/fai-list.xml:132 #, fuzzy msgid "Remove release" msgstr "Usuń obiekt" #: admin/fai/faiSummary.tpl:2 #, fuzzy msgid "Summary of used FAI classes" msgstr "Nazwy klasy FAI" #: admin/fai/faiSummary.tpl:5 msgid "FAI object tree" msgstr "Drzewo obiektów FAI" #: admin/fai/faiSummary.tpl:13 msgid "Reload class and release configuration from parent object." msgstr "Przeładuj klasę i uwolnij konfigurację z obiektu nadrzędnego." #: admin/fai/faiSummary.tpl:24 #, fuzzy msgid "You are not allowed to view the FAI summary." msgstr "Brak uprawnień do usunięcia tego użytkownika!" #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" #: admin/fai/faiTemplate.tpl:30 msgid "List of template files" msgstr "Lista plików szablonów" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 #, fuzzy msgid "Logical" msgstr "logiczna" #: admin/fai/class_faiPartition.inc:165 #, fuzzy msgid "Primary" msgstr "podstawowa" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "" #: admin/fai/class_faiPartition.inc:181 #, fuzzy msgid "fixed" msgstr "Plik" #: admin/fai/class_faiPartition.inc:182 msgid "dynamic" msgstr "" #: admin/fai/class_faiPartition.inc:183 msgid "remaining space" msgstr "" #: admin/fai/class_faiPartition.inc:188 msgid "KB" msgstr "" #: admin/fai/class_faiPartition.inc:189 msgid "MB" msgstr "" #: admin/fai/class_faiPartition.inc:190 msgid "GB" msgstr "" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "" #: admin/fai/class_faiPartition.inc:198 msgid "always" msgstr "" #: admin/fai/class_faiPartition.inc:199 msgid "reinstall" msgstr "" #: admin/fai/class_faiPartition.inc:203 msgid "swap space" msgstr "" #: admin/fai/class_faiPartition.inc:312 #, fuzzy msgid "spare" msgstr "Zapisz" #: admin/fai/class_faiPartition.inc:315 #, fuzzy msgid "missing" msgstr "Uprawnienia" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Minimum partition size" msgstr "Rozmiar partycji" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Maximum partition size" msgstr "Rozmiar partycji" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 msgid "FAI partition table" msgstr "Tablica partycji FAI" #: admin/fai/class_faiPartitionTable.inc:789 #, fuzzy msgid "RDN for FAI partition storage." msgstr "Tablica partycji FAI" #: admin/fai/faiVariableEntry.tpl:3 #, fuzzy msgid "FAI variable entry" msgstr "Zmienna FAI" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 msgid "Variable attributes" msgstr "Atrybuty zmiennych" #: admin/fai/fai-filter.xml:18 #, fuzzy msgid "FAI objects" msgstr "Drzewo obiektów FAI" #: admin/fai/fai-filter.xml:32 #, fuzzy msgid "Opsi packages" msgstr "Użyte pakiety" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "" #: admin/fai/class_faiHookEntry.inc:229 #, fuzzy msgid "Hook entry" msgstr "Usuń pozycję" #: admin/fai/faiNewBranch.tpl:5 #, fuzzy msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" "Zamierzasz utworzyć gałąź lub zablokowaną gałąź. Ta akcja klonuje istniejące " "wydanie do innej nazwy wydania. Gałęzie mogą być zwyczajnie modyfikowane. " "Klasy FAI zablokowanych gałęzi nie mogą być modyfikowane, można tylko " "dodawać klasy. Nazwy gałęzi powinny składać się ze znaków alfanumerycznych i " "nie zawierać zarezerwowanych nazw 'scripts', 'hooks', 'partitions', " "'variables', 'templates', oraz 'fai'." #: admin/fai/faiNewBranch.tpl:7 msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" #: admin/fai/faiNewBranch.tpl:12 msgid "Please enter a name for the branch" msgstr "Proszę podać nazwę gałęzi" #: admin/fai/faiNewBranch.tpl:23 msgid "Processing the requested operation" msgstr "Przetwarzam zadaną operację" #: admin/fai/faiNewBranch.tpl:24 #, fuzzy msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" "Jak tylko operacja kopiowania zakończy się, można przewinąć stronę na dół i " "nacisnąć przycisk 'Kontynuuj' aby przejść do dialogu zarządzania FAI." #: admin/fai/faiNewBranch.tpl:29 #, fuzzy msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "" "Twoja przeglądarka nie obsługuje iframes, proszę użyć tego linku aby wykonać " "żądaną operację." #: admin/fai/faiNewBranch.tpl:31 msgid "Perform requested operation." msgstr "Wykonaj żądaną operację." #: admin/fai/faiNewBranch.tpl:32 msgid "Initiate operation" msgstr "Zainicjiuj operację" #: admin/fai/askClassName.tpl:6 #, fuzzy msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" "Dodawanie nowej klasy do zarządzania FAI wymaga nazwy klasy. Należy podać " "unikalną nazwę klasy dla unikalnych typów klas FAI, podczas gdy można użyć " "tej samej nazwy klasy dla różnych typów klas FAI. W ostatnim przypadku, FAI " "automatycznie połączy wszystkie różne typy klas w jedną unikalną nazwę klasy." #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "" "Proszę użyć jedną z poniższych metod dla wybrania nazwy nowej klasy FAI." #: admin/fai/askClassName.tpl:17 #, fuzzy msgid "FAI class creator" msgstr "Klasy FAI" #: admin/fai/askClassName.tpl:20 #, fuzzy msgid "Class settings" msgstr "Ustawienia hasła" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "Podaj nazwę klasy FAI ręcznie" #: admin/fai/askClassName.tpl:43 #, fuzzy msgid "Class name selector" msgstr "Nazwa klasy" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "Wybierz nazwę klasy FAI z listy istniejących klas" #: admin/fai/askClassName.tpl:57 msgid "Choose class name" msgstr "Wybierz nazwę klasy" #: admin/fai/class_faiPackageConfiguration.inc:68 #, php-format msgid "Debconf information for package '%s'" msgstr "Informacja Debconf dla pakietu '%s'" #: admin/fai/class_faiVariable.inc:386 msgid "FAI variable" msgstr "Zmienna FAI" #: admin/fai/class_faiVariable.inc:399 #, fuzzy msgid "RDN for FAI variable storage." msgstr "Zmienna FAI" #: admin/fai/faiPartition.tpl:2 #, fuzzy msgid "Partition" msgstr "Nr. Partycji" #: admin/fai/faiPartition.tpl:4 #, fuzzy msgid "FAI partition" msgstr "Dodaj partycje" #: admin/fai/faiPartition.tpl:80 msgid "Resize existing partition" msgstr "" #: admin/fai/faiPartition.tpl:85 #, fuzzy msgid "Boot able" msgstr "Zestaw zaczepów" #: admin/fai/faiPartition.tpl:122 #, fuzzy msgid "Toggle missing" msgstr "Przełącz informacje" #: admin/fai/faiPartition.tpl:123 #, fuzzy msgid "Toggle spare" msgstr "Przełącz flagę usuwania" #: admin/fai/faiPartition.tpl:134 #, fuzzy msgid "File system" msgstr "Typ systemu plików" #: admin/fai/faiPartition.tpl:141 #, fuzzy msgid "File system create options" msgstr "Opcje systemu plików" #: admin/fai/faiPartition.tpl:151 msgid "Encrypted" msgstr "" #: admin/fai/faiPartition.tpl:153 #, fuzzy msgid "Tune options" msgstr "Opcje montowania" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "Status" #: admin/fai/class_faiPackage.inc:233 msgid "Invalid package names" msgstr "" #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "" #: admin/fai/class_faiPackage.inc:424 #, fuzzy msgid "Configured" msgstr "Konfiguruj" #: admin/fai/class_faiPackage.inc:430 msgid "Package marked for removal" msgstr "Pakiet zaznaczony do usunięcia" #: admin/fai/class_faiPackage.inc:447 #, fuzzy msgid "Mark package for removal" msgstr "Pakiet zaznaczony do usunięcia" #: admin/fai/class_faiPackage.inc:453 #, fuzzy msgid "Configure this package" msgstr "Plik konfiguracyjny" #: admin/fai/class_faiPackage.inc:458 #, fuzzy msgid "Remove this package" msgstr "Usuń obrazek" #: admin/fai/class_faiPackage.inc:537 #, fuzzy msgid "Please select a least one package!" msgstr "Prosze wybrać przynajmniej jeden pakiet." #: admin/fai/class_faiPackage.inc:541 #, fuzzy msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "Proszę wybrać poprawną kombinację dla ustawień repozytorium." #: admin/fai/class_faiPackage.inc:668 msgid "Package" msgstr "Pakiet" #: admin/fai/class_faiPackage.inc:669 msgid "FAI Package list" msgstr "Lista pakietów FAI" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "" #: admin/fai/class_faiPackage.inc:690 msgid "Packages" msgstr "Pakiety" #: admin/fai/class_faiPackage.inc:692 msgid "Install Method" msgstr "Metoda instalacji" #: admin/fai/class_faiPackage.inc:693 #, fuzzy msgid "Package configuration" msgstr "Konfiguracja bazy FAX" #: admin/fai/class_faiTemplateEntry.inc:118 msgid "no file uploaded yet" msgstr "Nie wgrano jeszcze żadnego pliku" #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "istnieje w bazie danych (rozmiar %s bajtów)" #: admin/fai/class_faiTemplateEntry.inc:290 #, fuzzy msgid "Template entry" msgstr "Szablon użytkownika" #: admin/fai/class_faiTemplateEntry.inc:300 msgid "Template file" msgstr "Plik szablonu" #: admin/fai/class_faiTemplateEntry.inc:301 msgid "Template path" msgstr "Ścieżka szablonu" #: admin/fai/class_faiTemplateEntry.inc:302 msgid "File owner" msgstr "Właściciel pliku" #: admin/fai/class_faiSummaryTab.inc:50 msgid "Profiles" msgstr "Profile" #: admin/fai/class_faiSummaryTab.inc:95 #, fuzzy msgid "Unknown FAI information source!" msgstr "Informacje osobiste" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 msgid "You can't use this plug-in until FAI is activated." msgstr "" #: admin/fai/class_faiSummaryTab.inc:228 msgid "This object has no FAI classes assigned." msgstr "Ten obiekt nie ma przypisanych klas FAI." #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "Podsumowanie FAI" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "" #: admin/fai/class_faiSummaryTab.inc:348 msgid "No." msgstr "Nie." #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "" #: admin/fai/faiPartitionTable.tpl:38 msgid "Discs" msgstr "Dyski" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 #, fuzzy msgid "Add disk" msgstr "Dodaj" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 msgid "Add RAID" msgstr "" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 msgid "Add volume group" msgstr "" #: admin/fai/class_debconfTemplate.inc:208 msgid "This package has no debconf options." msgstr "Ten pakiet nie ma opcji debconf." #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" #: admin/systems/services/repository/repository-list.xml:10 #, fuzzy msgid "List of repositories" msgstr "Lista użytkowników" #: admin/systems/services/repository/repository-list.xml:14 #, fuzzy msgid "Service" msgstr "Usługi" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 #, fuzzy msgid "Sections" msgstr "Sekcja" #: admin/systems/services/repository/servRepositorySetup.tpl:3 #, fuzzy msgid "FAI Repository" msgstr "Repozytorium" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 #, fuzzy msgid "Parent server" msgstr "Zachowaj" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 msgid "URL" msgstr "" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 #, fuzzy msgid "Repository service" msgstr "Repozytorium" #: admin/systems/services/repository/class_servRepository.inc:158 #, fuzzy msgid "FAI release" msgstr "Klasy FAI" #: admin/systems/services/repository/class_servRepository.inc:402 msgid "Services" msgstr "Usługi" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" #: admin/systems/services/repository/class_servRepository.inc:424 #, fuzzy msgid "Releases" msgstr "Wersja" #~ msgid "SUID" #~ msgstr "SUID" #~ msgid "SGID" #~ msgstr "SGID" #, fuzzy #~ msgid "Freezed" #~ msgstr "Częstotliwość" #~ msgid "FS type" #~ msgstr "Typ FS" #~ msgid "FS option" #~ msgstr "Opcje systemu plików" #~ msgid "FS options" #~ msgstr "Opcje systemu plików" #~ msgid "" #~ "This includes all account data, system access rules, imap settings, etc. " #~ "for this user. Please double check if your really want to do this since " #~ "there is no way for GOsa to get your data back." #~ msgstr "" #~ "Operacja odnosi się do wszystkich danych dotyczących konta, dostępu, " #~ "ustawień imap, etc dla tego użytkownika. Proszę upewnić się czy na pewno " #~ "kontynuować, gdyż nie ma możliwości powrotu." #~ msgid "Objects" #~ msgstr "Obiekty" #~ msgid "Delete" #~ msgstr "Usuń" #, fuzzy #~ msgid "Filter" #~ msgstr "Filtry" #~ msgid "Base" #~ msgstr "Kontener" #~ msgid "Update" #~ msgstr "Aktualizuj" #~ msgid "Submit" #~ msgstr "Wyślij" #~ msgid "This list displays all assigned class names for this profile." #~ msgstr "" #~ "Ta lista wyświetla wszystkie przypisane nazwy klas dla tego profilu." #~ msgid "edit" #~ msgstr "edytuj" #~ msgid "delete" #~ msgstr "Usuń" #~ msgid "List of FAI objects (Fully Automatic Installation)" #~ msgstr "Lista obiektów FAI (Fully Automatic Installation)" #~ msgid "Information" #~ msgstr "Informacja" #~ msgid "" #~ "This menu allows you to select FAI class names and to add them to the " #~ "currently edited profile." #~ msgstr "" #~ "To menu umożliwia wybór nazw klas FAI i dodawania ich do obecnie " #~ "edytowanego profilu." #~ msgid "Filters" #~ msgstr "Filtry" #~ msgid "Show only classes with templates" #~ msgstr "Pokaż tylko klasy z szablonami" #~ msgid "Show only classes with scripts" #~ msgstr "Pokaż tylko klasy ze skryptami" #~ msgid "Show only classes with hooks" #~ msgstr "Pokaż tylko klasy z zaczepami" #~ msgid "Show only classes with variables" #~ msgstr "Pokaż tylko klasy ze zmiennymi" #~ msgid "Show only classes with packages" #~ msgstr "Pokaż tylko klasy z pakietami" #~ msgid "Show only classes with partitions" #~ msgstr "Pokaż tylko klasy z partycjami" #~ msgid "Display objects matching" #~ msgstr "Wyświetl obiekty pasujące" #~ msgid "Regular expression for matching object names" #~ msgstr "Wyrażenie regularne dla dopasowania nazw obiektów" #, fuzzy #~ msgid "Sort direction" #~ msgstr "Sekcja" #~ msgid "Action" #~ msgstr "Akcja" #~ msgid "Current release" #~ msgstr "Obecne wydanie" #, fuzzy #~ msgid "Create read-only release" #~ msgstr "Obecne wydanie" #~ msgid "Delete current release" #~ msgstr "Usuń bieżące wydanie" #~ msgid "Show profiles" #~ msgstr "Pokaż profile" #~ msgid "Show templates" #~ msgstr "Pokaż szablony" #~ msgid "Show scripts" #~ msgstr "Pokaż skrypty" #~ msgid "Show hooks" #~ msgstr "Pokaż zaczepy" #~ msgid "Show variables" #~ msgstr "Pokaż zmienne" #~ msgid "Show packages" #~ msgstr "Pokaż pakiety" #, fuzzy #~ msgid "Show partitions" #~ msgstr "Pokaż partycje" #, fuzzy #~ msgid "Show netboot products" #~ msgstr "Grupy obiektów" #, fuzzy #~ msgid "Show localboot products" #~ msgstr "Grupy obiektów" #~ msgid "Open" #~ msgstr "Otwórz" #~ msgid "Close" #~ msgstr "Zamknij" #~ msgid "List of available packages" #~ msgstr "Lista dostępnych pakietów" #, fuzzy #~ msgid "" #~ "The search returned too many results, only the first 200 entries are " #~ "shown." #~ msgstr "" #~ "Szukany ciąg znaków '%s' zwrócił za dużo wyników. Pokazanych jest tylko " #~ "pierwsze 200 elementów aby zaoszczędzić pamięć. " #~ msgid "" #~ "This menu allows you to select multiple packages to add them to the " #~ "currently edited package list." #~ msgstr "" #~ "To menu umożliwia wybieranie wielu pakietów i dodawanie ich do obecnie " #~ "edytowanej listy pakietów." #~ msgid "Please enter your search string here" #~ msgstr "Proszę podać szukany ciąg znaków" #~ msgid "" #~ "This list displays all assigned package names for this repository " #~ "settings." #~ msgstr "" #~ "Ta lista wyświetla wszystkie przypisane nazwy pakietó dla tych ustawień " #~ "repozytorium." #, fuzzy #~ msgid "This menu allows you to create, delete and edit repository settings." #~ msgstr "To menu umożliwia tworzenie, usuwanie oraz edycję klas FAI." #, fuzzy #~ msgid "Add repository" #~ msgstr "Katalog" #~ msgid "" #~ "This includes 'all' object information. Please double check if your " #~ "really want to do this since there is no way for GOsa to get your data " #~ "back." #~ msgstr "" #~ "Operacja odnosi się do 'wszystkich' informacji obiektowych. Proszę " #~ "upewnić się, czy na pewno wykonać tą operację, gdyż nie ma możliwości " #~ "powrotu." #~ msgid "" #~ "Best thing to do before performing this action would be to save the " #~ "current contents of your LDAP tree in a file. So - if you've done so - " #~ "press 'Delete' to continue or 'Cancel' to abort." #~ msgstr "" #~ "Przed wykonaniem tej operacji zaleca się wykonanie kopii bezpieczeństwa " #~ "drzewa LDAP. Naciśnij 'Usuń' aby kontynuować, lub 'Anuluj' aby przerwać." #, fuzzy #~ msgid "Select the object you want to cut:" #~ msgstr "Wybierz aby zobaczyć grupy GOsa" #, fuzzy #~ msgid "Roles" #~ msgstr "Pełniona funkcja" #, fuzzy #~ msgid "Role management" #~ msgstr "Zarządzanie ACL" #~ msgid "Role" #~ msgstr "Pełniona funkcja" #, fuzzy #~ msgid "Edit role" #~ msgstr "Edytuj makro" #~ msgid "Use" #~ msgstr "Użyj" #~ msgid "A new class name." #~ msgstr "Nowa nazwa klasy" #, fuzzy #~ msgid "List of classes" #~ msgstr "Nazwy klas FAI" #, fuzzy #~ msgid "Select all" #~ msgstr "Wybierz" #, fuzzy #~ msgid "Class types" #~ msgstr "Typ klasy" #, fuzzy #~ msgid "Display objects of type '%s'." #~ msgstr "Wyświetl obiekty pasujące" #~ msgid "Display users matching" #~ msgstr "Wyświetl użytkowników pasujących" #~ msgid "PT" #~ msgstr "PT" #~ msgid "S" #~ msgstr "S" #~ msgid "H" #~ msgstr "H" #~ msgid "V" #~ msgstr "V" #, fuzzy #~ msgid "Templates " #~ msgstr "Szablony" #, fuzzy #~ msgid "I" #~ msgstr "NI" #~ msgid "PK" #~ msgstr "PK" #, fuzzy #~ msgid "Number of listed %s" #~ msgstr "Nazwa departamentu" #, fuzzy #~ msgid "profiles" #~ msgstr "Profile" #, fuzzy #~ msgid "partitions" #~ msgstr "partycja %s" #, fuzzy #~ msgid "scripts" #~ msgstr "Skrypt" #, fuzzy #~ msgid "hooks" #~ msgstr "Zaczep" #, fuzzy #~ msgid "variables" #~ msgstr "Zmienna" #, fuzzy #~ msgid "templates" #~ msgstr "Szablon" #, fuzzy #~ msgid "packages" #~ msgstr "Pakiety" #, fuzzy #~ msgid "departments" #~ msgstr "Zatwierdź departament" #, fuzzy #~ msgid "localboot products" #~ msgstr "Grupy obiektów" #, fuzzy #~ msgid "Partition start size" #~ msgstr "Rozmiar partycji" #, fuzzy #~ msgid "Partition stop size" #~ msgstr "Rozmiar partycji" #, fuzzy #~ msgid "Secondary" #~ msgstr "Sekcja" #, fuzzy #~ msgid "Raid 0" #~ msgstr "Odczyt" #, fuzzy #~ msgid "Raid 1" #~ msgstr "Odczyt" #, fuzzy #~ msgid "Raid 5" #~ msgstr "Odczyt" #, fuzzy #~ msgid "Raid 6" #~ msgstr "Odczyt" #~ msgid "%s partition" #~ msgstr "partycja %s" #~ msgid "%s partition(s)" #~ msgstr "partycje %s" #~ msgid "Choose a disk to delete or edit" #~ msgstr "Wybierz dysk do usunięcia lub edycji" #, fuzzy #~ msgid "Number of listed '%s'" #~ msgstr "Nazwa departamentu" #, fuzzy #~ msgid "Deployment status" #~ msgstr "Ustaw status" #, fuzzy #~ msgid "System deployment status" #~ msgstr "Zarządzanie systemem" #, fuzzy #~ msgid "" #~ "This menu allows you to remove and change the properties of GOsa tasks." #~ msgstr "" #~ "To menu umożliwia tworzenie, usuwanie oraz edycję właściwości usług." #, fuzzy #~ msgid "List of queued jobs" #~ msgstr "Lista departamentów" #~ msgid "Import" #~ msgstr "Import" #, fuzzy #~ msgid "Resume" #~ msgstr "Usuń" #, fuzzy #~ msgid "Pause" #~ msgstr "Wklej" #, fuzzy #~ msgid "Abort" #~ msgstr "Port" #, fuzzy #~ msgid "Reload" #~ msgstr "Odczyt" #, fuzzy #~ msgid "Target" #~ msgstr "Kodowanie" #, fuzzy #~ msgid "Schedule" #~ msgstr "PHP schedule it" #, fuzzy #~ msgid "Move up" #~ msgstr "Tryb" #, fuzzy #~ msgid "Move down" #~ msgstr "Tryb" #, fuzzy #~ msgid "Execute now" #~ msgstr "Uruchom" #, fuzzy #~ msgid "Abort job" #~ msgstr "Port" #, fuzzy #~ msgid "Waiting" #~ msgstr "Ostrzeżenie" #, fuzzy #~ msgid "Processed" #~ msgstr "Przetwarzanie" #, fuzzy #~ msgid "Detection" #~ msgstr "Sekcja" #, fuzzy #~ msgid "Cannot update queue entry: %s" #~ msgstr "Nieznany wpis '%s'!" #, fuzzy #~ msgid "Cannot load queue entries: %s" #~ msgstr "Nieznany wpis '%s'!" #, fuzzy #~ msgid "System deployment" #~ msgstr "Zarządzanie systemem" #, fuzzy #~ msgid "System list" #~ msgstr "Zaufanie systemowe" #, fuzzy #~ msgid "ID" #~ msgstr "GID" #~ msgid "Timestamp" #~ msgstr "Czas" #, fuzzy #~ msgid "Targets" #~ msgstr "Kodowanie" #, fuzzy #~ msgid "System / Department" #~ msgstr "Departament" #, fuzzy #~ msgid "Display users" #~ msgstr "Wyświetl użytkowników pasujących" #, fuzzy #~ msgid "Display groups" #~ msgstr "Wyświetl grupy użytkownika" #~ msgid "Submit department" #~ msgstr "Zatwierdź departament" #, fuzzy #~ msgid "Abort installation" #~ msgstr "Stacja Windows" #, fuzzy #~ msgid "Reload GOto settings" #~ msgstr "Ustawienia Posix" #, fuzzy #~ msgid "System analysis" #~ msgstr "System" #, fuzzy #~ msgid "Installation activation" #~ msgstr "Stacja Windows" #, fuzzy #~ msgid "Reload LDAP config" #~ msgstr "Przeładuj listę" #, fuzzy #~ msgid "Time schedule" #~ msgstr "PHP schedule it" #, fuzzy #~ msgid "Year" #~ msgstr "Szukaj" #, fuzzy #~ msgid "Month" #~ msgstr "miesiąc" #, fuzzy #~ msgid "Day" #~ msgstr "dzień" #, fuzzy #~ msgid "Hour" #~ msgstr "godzina" #, fuzzy #~ msgid "Minute" #~ msgstr "Drukarka" #, fuzzy #~ msgid "Reload fai release db" #~ msgstr "Wgraj" #~ msgid "Send message" #~ msgstr "Wyślij wiadomość" #, fuzzy #~ msgid "Subject" #~ msgstr "Obiekt" #~ msgid "Message" #~ msgstr "Wiadomość" #, fuzzy #~ msgid "Create '%s' job" #~ msgstr "Utwórz obiekty" #~ msgid "Add" #~ msgstr "Dodaj" #~ msgid "Apply" #~ msgstr "Zastosuj" #~ msgid "Cancel" #~ msgstr "Anuluj" #, fuzzy #~ msgid "Display server" #~ msgstr "Wyświetl nazwę" #, fuzzy #~ msgid "Display workstation" #~ msgstr "stacje robocze" #, fuzzy #~ msgid "Display object groups" #~ msgstr "Lista grupy obiektów" #~ msgid "Server" #~ msgstr "Serwer" #~ msgid "Workstation" #~ msgstr "Stacja robocza" #~ msgid "Object group" #~ msgstr "Grupa obiektu" #, fuzzy #~ msgid "Activate new" #~ msgstr "Aktywne" #, fuzzy #~ msgid "Progress" #~ msgstr "Przetwarzanie" #, fuzzy #~ msgid "Sender" #~ msgstr "Płeć" #, fuzzy #~ msgid "Target users" #~ msgstr "Użytkownicy domeny" #, fuzzy #~ msgid "Target groups" #~ msgstr "departamenty" #, fuzzy #~ msgid "Available targets" #~ msgstr "Dostępni członkowie" #~ msgid "Object name" #~ msgstr "Nazwa obiektu" #, fuzzy #~ msgid "Select to see object groups" #~ msgstr "Wybierz aby zobaczyć grupy GOsa" #, fuzzy #~ msgid "Show object groups" #~ msgstr "Grupy obiektów" #~ msgid "Select to see servers" #~ msgstr "Proszę aby zobaczyć serwery" #~ msgid "Show servers" #~ msgstr "Pokaż serwery" #~ msgid "Select to see workstations" #~ msgstr "Wybierz aby zobaczyc stacje robocze" #~ msgid "Show workstations" #~ msgstr "Pokaż stacje robocze" #, fuzzy #~ msgid "Select to see incoming objects" #~ msgstr "Wybież aby zobaczyć telefony" #, fuzzy #~ msgid "Show new objects" #~ msgstr "Przenieś obiekty" #~ msgid "Regular expression for matching group names" #~ msgstr "Wyrażenie regularne dla dopasowania nazw grup" #, fuzzy #~ msgid "Available logs" #~ msgstr "Dostępni członkowie" #, fuzzy #~ msgid "Selected log" #~ msgstr "Wybierz" #, fuzzy #~ msgid "No logs for this host available!" #~ msgstr "Plik jest dostępny" #, fuzzy #~ msgid "Import jobs" #~ msgstr "Import" #, fuzzy #~ msgid "timestamp" #~ msgstr "Czas" #, fuzzy #~ msgid "MAC-address" #~ msgstr "Adres" #, fuzzy #~ msgid "job type" #~ msgstr "Typ FS" #, fuzzy #~ msgid "object group" #~ msgstr "Grupa obiektu" #, fuzzy #~ msgid "import base" #~ msgstr "Tworzenie snapshot'u nieudane" #, fuzzy #~ msgid "IP-address" #~ msgstr "Adres" #, fuzzy #~ msgid "Select list to import" #~ msgstr "Wybierz aby zobaczyć drukarki" #, fuzzy #~ msgid "Browse" #~ msgstr "Kontener" #, fuzzy #~ msgid "MAC" #~ msgstr "ACL" #, fuzzy #~ msgid "IP" #~ msgstr "NI" #~ msgid "none" #~ msgstr "żaden" #, fuzzy #~ msgid "Date" #~ msgstr "Wklej" #, fuzzy #~ msgid "GOto log view" #~ msgstr "Podgląd pomocy GOsa" #, fuzzy #~ msgid "Cannot delete '%s': object does not exist!" #~ msgstr "Plik pakietu '%s' nie istnieje." #, fuzzy #~ msgid "The job could not be aborted, the required class '%s' was not found." #~ msgstr "" #~ "Funkcjonalność snapshot jest włączona, lecz wymagana zmienna '%s' nie " #~ "jest skonfigurowana w gosa.conf." #, fuzzy #~ msgid "System mass deployment" #~ msgstr "Zarządzanie systemem" #, fuzzy #~ msgid "Edit product" #~ msgstr "Edytuj klasę" #~ msgid "Edit class" #~ msgstr "Edytuj klasę" #~ msgid "Delete class" #~ msgstr "Usuń klasę" #, fuzzy #~ msgid "Opsi netboot package" #~ msgstr "Użyte pakiety" #, fuzzy #~ msgid "Copy" #~ msgstr "kopiuj" #~ msgid "copy" #~ msgstr "kopiuj" #~ msgid "Copy this entry" #~ msgstr "Kopiuj ten obiekt" #, fuzzy #~ msgid "Sudo generic" #~ msgstr "Ogólne" #~ msgid "package is configured" #~ msgstr "pakiet jest skonfigurowany" #~ msgid "Branches" #~ msgstr "Gałęzie" #~ msgid "Create new locked branch" #~ msgstr "Utwórz nową zablokowaną gałąź" #, fuzzy #~ msgid "Cut" #~ msgstr "wytnij" #~ msgid "cut" #~ msgstr "wytnij" #~ msgid "Cut this entry" #~ msgstr "Wytnij ten obiekt" #~ msgid "Choosen packages" #~ msgstr "Wybrane pakiety" #, fuzzy #~ msgid "File system encryption" #~ msgstr "Opcje systemu plików" #~ msgid "Fully Automatic Installation - management" #~ msgstr "Fully Automatic Installation - zarządzanie" #~ msgid "Fully Automatic Installation" #~ msgstr "Fully Automatic Installation" #, fuzzy #~ msgid "This table displays all FAI classes in the selected tree." #~ msgstr "Ta tabela wyświetla wszystkie klasy FAI w wybranym drzewie." #, fuzzy #~ msgid "Package file '%s' does not exist!" #~ msgstr "Plik pakietu '%s' nie istnieje." #, fuzzy #~ msgid "Name is already in use!" #~ msgstr "Ta nazwa jest już w użyciu." #, fuzzy #~ msgid "Please enter a script!" #~ msgstr "Proszę podać skrypt" #~ msgid "You're about to delete all information about the FAI class at '%s'." #~ msgstr "Zamierzasz usunąć wszyskie informacje o klasie FAI w '%s'." #, fuzzy #~ msgid "You have no permission to delete this entry!" #~ msgstr "Brak uprawnień do usunięcia tego elementu!" #, fuzzy #~ msgid "You're about to delete the following entry %s" #~ msgstr "Zamierzasz usunąć element %s." #, fuzzy #~ msgid "You're about to delete the following entries %s" #~ msgstr "Zamierzasz usunąć element %s." #~ msgid "You're about to delete a fai branch / freeze '%s'." #~ msgstr "Zamierzasz usunąć gałąź / zamrożenie FAI '%s'." #, fuzzy #~ msgid "Branch name is not valid!" #~ msgstr "Podana nazwa gałęzi jest niepoprawna." #, fuzzy #~ msgid "Freeze name is not valid!" #~ msgstr "Podana nazwa zamrożenia jest niepoprawna." #, fuzzy #~ msgid "You have no permission to create a new branch!" #~ msgstr "Brak uprawnień do zmiany przekazywania poczty" #~ msgid "Ok" #~ msgstr "Ok" #~ msgid "Packages bundle" #~ msgstr "Zestaw pakietów" #, fuzzy #~ msgid "There is already a template with the given name." #~ msgstr "Już istnieje wgrany plik z tą samą nazwą." #~ msgid "Please specify a value for attribute 'file'." #~ msgstr "Proszę podać wartość dla atrybutu 'plik'." #, fuzzy #~ msgid "Please specify a valid value for attribute 'Destination path'." #~ msgstr "Proszę podać wartość dla atrybutu 'ścieżka'." #, fuzzy #~ msgid "Please enter a file name." #~ msgstr "Proszę podać nazwę" #~ msgid "Please enter a user." #~ msgstr "Proszę podać użytkownika" #~ msgid "Please enter a valid user. Only a-z/0-9 are allowed." #~ msgstr "Proszę podać prawidłowego użytkownika. Tylko a-z/0-9 są dozwolone." #~ msgid "Please enter a group." #~ msgstr "Proszę podać grupę" #~ msgid "Please enter a valid group. Only a-z/0-9 are allowed." #~ msgstr "Proszę podać prawidłową grupę. Tylko a-z/0-9 są dozwolone." #~ msgid "Create new FAI object - partition table." #~ msgstr "Utwórz nowy obiekt FAI - tablica partycji." #~ msgid "Create new FAI object - package bundle." #~ msgstr "Utwórz nowy obiekt FAI - zestaw pakietów." #~ msgid "Create new FAI object - script bundle." #~ msgstr "Utwórz nowy obiekt FAI - zestaw skryptów." #~ msgid "Create new FAI object - variable bundle." #~ msgstr "Utwórz nowy obiekt FAI - zestaw zmiennych." #~ msgid "Create new FAI object - hook bundle." #~ msgstr "Utwórz nowy obiekt FAI - zestaw zaczepów." #~ msgid "Create new FAI object - profile." #~ msgstr "Utwórz nowy obiekt FAI - profil." #~ msgid "Create new FAI object - template." #~ msgstr "Utwórz nowy obiekt FAI - szablon." #, fuzzy #~ msgid "Spaces are not allowed within class names." #~ msgstr "Brak uprawnień do zmiany własnego hasła" #~ msgid "The given class name is empty." #~ msgstr "Podana klasa jest pusta." #~ msgid "The specified class name is already in use for this object type." #~ msgstr "Podana nazwa klasy jest już używana dla tego typu obiektu." #, fuzzy #~ msgid "There is already a variable with the given name." #~ msgstr "Już istnieje wgrany plik z tą samą nazwą." #~ msgid "Please specify a value for the attribute 'content'." #~ msgstr "Proszę podać wartość dla atrybutu 'zawartość'." #~ msgid "Please enter a name." #~ msgstr "Proszę podać nazwę" #~ msgid "Display FAI profile objects" #~ msgstr "Wyświetl obiekty profili FAI" #~ msgid "Display FAI template objects" #~ msgstr "Wyświetl szablony FAI" #~ msgid "Display FAI scripts" #~ msgstr "Wyświetl skrypty FAI" #~ msgid "Display FAI hooks" #~ msgstr "Wyświetl zaczepy FAI" #~ msgid "Display FAI variables" #~ msgstr "Wyświetl zmienne FAI" #~ msgid "Display FAI packages" #~ msgstr "Wyświetl pakiety FAI" #~ msgid "Display FAI partitions" #~ msgstr "Wyświetl partycje FAI" #, fuzzy #~ msgid "Number of listed profiles" #~ msgstr "Nazwa departamentu" #, fuzzy #~ msgid "Number of listed partitions" #~ msgstr "Nazwa departamentu" #, fuzzy #~ msgid "Number of listed scripts" #~ msgstr "Lista skryptów" #, fuzzy #~ msgid "Number of listed variables" #~ msgstr "Lista przypisanych zmiennych" #, fuzzy #~ msgid "Number of listed templates" #~ msgstr "Nazwa departamentu" #, fuzzy #~ msgid "Number of listed packages" #~ msgstr "Nazwa departamentu" #, fuzzy #~ msgid "Number of listed departments" #~ msgstr "Nazwa departamentu" #, fuzzy #~ msgid "Please specify a valid disc name." #~ msgstr "Proszę podać prawidłową nazwę skryptu." #~ msgid "Please enter a valid mount point for partition %s." #~ msgstr "Proszę podać poprawny punkt montowania dla partycji %s." #~ msgid "Please enter a valid partition size for partition %s." #~ msgstr "Proszę podać poprawny rozmiar partycji dla partycji %s." #~ msgid "Please enter a valid range for partition %s." #~ msgstr "Proszę podać prawidłowy zasięg dla partycji %s." #~ msgid "Please enter a range for partition size for partition %s." #~ msgstr "Proszę podać zasięg dla rozmiaru partycji %s." #~ msgid "Back" #~ msgstr "Wróć" #~ msgid "Saving of FAI/package list with dn '%s' failed." #~ msgstr "Zapisywanie FAI/listy pakietów z dn '%s' nieudane." #~ msgid "Saving of FAI/hook with dn '%s' failed." #~ msgstr "Zapisywanie FAI/zaczepu z dn '%s' nieudane." #~ msgid "Release management failed, can't save '%s'" #~ msgstr "Zarządzanie wydaniem nieudane, nie można zapisać '%s'" #~ msgid "Saving of FAI/variable with dn '%s' failed." #~ msgstr "Zapisywanie FAI/zmiennej z dn '%s' nieudane." #~ msgid "Saving of FAI/template with dn '%s' failed." #~ msgstr "Zapisywanie FAI/szablonu z dn '%s' nieudane." #~ msgid "Creating of FAI/script with dn '%s' failed." #~ msgstr "Tworzenie FAI/skryptu z dn '%s' nieudane." #~ msgid "Saving of FAI/partition table with dn '%s' failed." #~ msgstr "Zapisywanie FAI/tablicy partycji z dn '%s' nieudane." #~ msgid "Saving of FAI/profile with dn '%s' failed." #~ msgstr "Zapisywanie FAI/profilu z dn '%s' nieudane." #~ msgid "Please select a valid file." #~ msgstr "Proszę wybrać prawidłowy plik" #, fuzzy #~ msgid "There is already a hook with the given name." #~ msgstr "Już istnieje obiekt z tym cn." #~ msgid "Please enter a value for script." #~ msgstr "Proszę podać wartość dla skryptu." #, fuzzy #~ msgid "There is already a script with the given name." #~ msgstr "Już istnieje obiekt z tym cn." #~ msgid "Please assign at least one class to this profile." #~ msgstr "Proszę przypisać przynajmniej jedną klasę do tego profilu." #~ msgid "Please enter a valid name." #~ msgstr "Proszę podać prawidłową nazwę." #, fuzzy #~ msgid "There is already a FAI object with this class name defined." #~ msgstr "Już istnieje profil ze zdefiniowaną tą nazwą klasy." gosa-plugin-fai-2.7.4/locale/it/0000755000175000017500000000000011752422555015365 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/it/LC_MESSAGES/0000755000175000017500000000000011752422555017152 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/it/LC_MESSAGES/messages.po0000644000175000017500000017312411475426262021332 0ustar cajuscajus# translation of messages.po to Italian # Copyright (c) 2005 B-Open Solutions srl - http://www.bopen.it/ # Copyright (c) 2005 Alessandro Amici # Alessandro Amici , 2005. msgid "" msgstr "" "Project-Id-Version: messages\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: 2005-11-18 15:26+0100\n" "Last-Translator: Alessandro Amici \n" "Language-Team: Italian\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.9.1\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "Generale" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 #, fuzzy msgid "FAI template entry" msgstr "Nuovo template" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 #, fuzzy msgid "Generic settings" msgstr "Impostazioni generali delle code" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 #, fuzzy msgid "File name" msgstr "Cognome" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 #, fuzzy msgid "Destination path" msgstr "Destinazione" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "Descrizione" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 #, fuzzy msgid "Template attributes" msgstr "Attributo DN delle persone" #: admin/fai/faiTemplateEntry.tpl:44 #, fuzzy msgid "Template file status" msgstr "Template" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 msgid "File" msgstr "" #: admin/fai/faiTemplateEntry.tpl:50 #, fuzzy msgid "Save template" msgstr "Nuovo template" #: admin/fai/faiTemplateEntry.tpl:51 #, fuzzy msgid "Edit template" msgstr "Template" #: admin/fai/faiTemplateEntry.tpl:58 #, fuzzy msgid "Full path" msgstr "Monitoraggio" #: admin/fai/faiTemplateEntry.tpl:70 #, fuzzy msgid "Upload" msgstr "leggere" #: admin/fai/faiTemplateEntry.tpl:77 #, fuzzy msgid "File attributes" msgstr "Attributo DN delle persone" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "Gruppo" #: admin/fai/faiTemplateEntry.tpl:99 #, fuzzy msgid "Access" msgstr "Indirizzo" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 #, fuzzy msgid "File permissions" msgstr "Permessi" #: admin/fai/faiTemplateEntry.tpl:103 #, fuzzy msgid "Class" msgstr "classe" #: admin/fai/faiTemplateEntry.tpl:103 #, fuzzy msgid "Read" msgstr "leggere" #: admin/fai/faiTemplateEntry.tpl:103 #, fuzzy msgid "Write" msgstr "scrivere" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "Esegui" #: admin/fai/faiTemplateEntry.tpl:103 #, fuzzy msgid "Special" msgstr "Terminali" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "" #: admin/fai/faiTemplateEntry.tpl:162 #, fuzzy msgid "Others" msgstr "Filtri" #: admin/fai/faiTemplateEntry.tpl:186 #, fuzzy msgid "sticky" msgstr "statico" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "" #: admin/fai/class_faiTemplateEdit.inc:60 #, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 #, fuzzy msgid "Device" msgstr "Dispositivi" #: admin/fai/faiDiskEntry.tpl:5 #, fuzzy msgid "FAI disk entry" msgstr "Mostra errori PHP" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 #, fuzzy msgid "Disk options" msgstr "Opzioni" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "Cognome" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 #, fuzzy msgid "Partition entries" msgstr "Destinazione" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 #, fuzzy msgid "Add partition" msgstr "Partizioni" #: admin/fai/faiGroupHandle.tpl:3 #, fuzzy msgid "Please select the objects you want to remove:" msgstr "Inserisci la URI del server LDAP" #: admin/fai/faiGroupHandle.tpl:5 #, fuzzy msgid "Select the object you want to edit:" msgstr "Mostra gruppi che contengono gruppi" #: admin/fai/faiGroupHandle.tpl:7 #, fuzzy msgid "Select the object you want to copy:" msgstr "Mostra gruppi che contengono gruppi" #: admin/fai/faiGroupHandle.tpl:12 #, fuzzy msgid "FAI group selection" msgstr "Impostazioni FAX" #: admin/fai/faiGroupHandle.tpl:40 #, fuzzy msgid "Frozen" msgstr "Numero di telefono" #: admin/fai/class_faiPartitionTableEntry.inc:142 #, fuzzy msgid "primary" msgstr "Gruppo primario" #: admin/fai/class_faiPartitionTableEntry.inc:142 #, fuzzy msgid "logical" msgstr "Aggiungi localmente" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "Tipo" #: admin/fai/class_faiPartitionTableEntry.inc:150 #, fuzzy msgid "Filesystem type" msgstr "Sistemi" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 #, fuzzy msgid "Mount point" msgstr "Monitoraggio" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 #, fuzzy msgid "Size in MB" msgstr "Connesso:" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 #, fuzzy msgid "Mount options" msgstr "Opzioni di posta" #: admin/fai/class_faiPartitionTableEntry.inc:154 #, fuzzy msgid "Filesystem option" msgstr "Informazioni organizzazione" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 #, fuzzy msgid "Preserve" msgstr "server" #: admin/fai/class_faiPartitionTableEntry.inc:246 #, fuzzy msgid "False" msgstr "femmina" #: admin/fai/class_faiPartitionTableEntry.inc:248 #, fuzzy msgid "True" msgstr "Futuro" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "Rimuovi" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:365 #, php-format msgid "partition %s mount point" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:374 msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, fuzzy, php-format msgid "partition %s size" msgstr "Partizioni" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 #, fuzzy msgid "Partition table entry" msgstr "Destinazione" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 #, fuzzy msgid "FAI partition table entry" msgstr "Stampante" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 #, fuzzy msgid "Partition type" msgstr "Destinazione" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 #, fuzzy msgid "Partition no." msgstr "Partizioni" #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 #, fuzzy msgid "File system type" msgstr "Sistemi" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 #, fuzzy msgid "Partition size" msgstr "Partizioni" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 #, fuzzy msgid "File system options" msgstr "Informazioni organizzazione" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 #, fuzzy msgid "Partition flags" msgstr "Partizioni" #: admin/fai/faiVariable.tpl:32 #, fuzzy msgid "List of assigned variables" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "Modifica" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 msgid "Hook" msgstr "" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 #, fuzzy msgid "FAI hook" msgstr "Mostra errori PHP" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 #, fuzzy msgid "Read only" msgstr "leggere" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 msgid "Options" msgstr "Opzioni" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "" #: admin/fai/class_faiDiskEntry.inc:249 #, fuzzy msgid "UUID" msgstr "UID" #: admin/fai/class_faiDiskEntry.inc:317 #, fuzzy msgid "Disks" msgstr "Dispositivi" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "" #: admin/fai/class_faiDiskEntry.inc:501 msgid "encrypted" msgstr "" #: admin/fai/class_faiDiskEntry.inc:504 msgid "boot able" msgstr "" #: admin/fai/class_faiDiskEntry.inc:507 #, fuzzy msgid "preserve" msgstr "server" #: admin/fai/class_faiDiskEntry.inc:678 msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "" #: admin/fai/class_faiDiskEntry.inc:682 msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "" #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 #, fuzzy msgid "FAI profile" msgstr "Riferimenti" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 #, fuzzy msgid "FAI classes" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/faiProfile.tpl:35 #, fuzzy msgid "Choose a priority" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 #, fuzzy msgid "FAI script" msgstr "Mostra stampanti" #: admin/fai/faiScriptEntry.tpl:32 #, fuzzy msgid "Script attributes" msgstr "Attributo DN delle persone" #: admin/fai/faiScriptEntry.tpl:34 #, fuzzy msgid "Priority configuration" msgstr "Scarica il file di configurazione" #: admin/fai/faiScriptEntry.tpl:36 #, fuzzy msgid "Priority" msgstr "Proxy" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "" #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 msgid "Script" msgstr "Script" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 #, fuzzy msgid "Edit anyway" msgstr "Modifica contatto" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 #, fuzzy msgid "Import script" msgstr "Mostra stampanti" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 #, fuzzy msgid "List of scripts" msgstr "Lista degli utenti" #: admin/fai/faiPackage.tpl:2 #, fuzzy msgid "FAI package" msgstr "Liste di blocco" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 #, fuzzy msgid "Repository" msgstr "Riprova" #: admin/fai/faiPackage.tpl:31 #, fuzzy msgid "Repository settings" msgstr "Riprova" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 #, fuzzy msgid "Release" msgstr "Rimuovi" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 #, fuzzy msgid "Section" msgstr "Azione" #: admin/fai/faiPackage.tpl:47 #, fuzzy msgid "Install method" msgstr "Metodo di amministrazione della posta" #: admin/fai/faiPackage.tpl:51 #, fuzzy msgid "Please select the installation method" msgstr "Prego inserire un numero di telefono valido!" #: admin/fai/faiPackage.tpl:62 #, fuzzy msgid "Package settings" msgstr "Opzioni di posta dell'identità" #: admin/fai/faiPackage.tpl:65 #, fuzzy msgid "Used packages" msgstr "Mostra telefoni" #: admin/fai/faiPackage.tpl:76 msgid "Add from list" msgstr "" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 #, fuzzy msgid "Please select the desired entries" msgstr "Lingua preferita" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 #, fuzzy msgid "FAI" msgstr "FAX" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 msgid "Properties" msgstr "" #: admin/fai/classSelect/class_classSelect.inc:29 #, fuzzy msgid "Class selection" msgstr "Impostazioni FAX" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 #, fuzzy msgid "Default filter" msgstr "Parametro" #: admin/fai/faiHook.tpl:31 #, fuzzy msgid "List of hooks" msgstr "Lista delle liste di blocchi" #: admin/fai/faiHook.tpl:34 #, fuzzy msgid "List of hook scripts" msgstr "Lista delle liste di blocchi" #: admin/fai/class_faiProfile.inc:105 #, fuzzy msgid "Types" msgstr "Tipo" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 msgid "Hook bundle" msgstr "" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 #, fuzzy msgid "Template bundle" msgstr "Template" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 #, fuzzy msgid "Script bundle" msgstr "Script path" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 #, fuzzy msgid "Variable bundle" msgstr "Variabili" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 #, fuzzy msgid "Package bundle" msgstr "Pacchetti" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 #, fuzzy msgid "Partition table" msgstr "Partizioni" #: admin/fai/class_faiProfile.inc:185 msgid "Remove class from profile" msgstr "" #: admin/fai/class_faiProfile.inc:188 msgid "Up" msgstr "" #: admin/fai/class_faiProfile.inc:189 #, fuzzy msgid "Down" msgstr "Dominio" #: admin/fai/class_faiProfile.inc:272 msgid "No class specified for this profile!" msgstr "" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 #, fuzzy msgid "Profile" msgstr "Path del profilo" #: admin/fai/class_faiProfile.inc:365 #, fuzzy msgid "RDN for FAI profile storage." msgstr "Opzioni di posta dell'identità" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 #, fuzzy msgid "FAI hook entry" msgstr "Mostra errori PHP" #: admin/fai/faiHookEntry.tpl:33 #, fuzzy msgid "Hook attributes" msgstr "Attributo DN delle persone" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 msgid "Task" msgstr "" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "" #: admin/fai/class_faiManagement.inc:25 #, fuzzy msgid "Software deployment" msgstr "Dipartimento" #: admin/fai/class_faiManagement.inc:26 msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "" #: admin/fai/class_faiManagement.inc:208 #, fuzzy msgid "partition table" msgstr "Stampante" #: admin/fai/class_faiManagement.inc:209 #, fuzzy msgid "script" msgstr "Script" #: admin/fai/class_faiManagement.inc:210 #, fuzzy msgid "hook" msgstr "Mostra errori PHP" #: admin/fai/class_faiManagement.inc:211 #, fuzzy msgid "variable" msgstr "Variabili" #: admin/fai/class_faiManagement.inc:212 #, fuzzy msgid "template" msgstr "Template" #: admin/fai/class_faiManagement.inc:213 #, fuzzy msgid "package list" msgstr "Liste di blocco" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Permission error" msgstr "Permessi" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, fuzzy, php-format msgid "You have no permission to create a new %s!" msgstr "Non hai il permesso di cambiare la tua password." #: admin/fai/class_faiManagement.inc:244 #, fuzzy msgid "profile" msgstr "Path del profilo" #: admin/fai/class_faiManagement.inc:398 #, fuzzy msgid "Branch locked" msgstr "Annulla" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "" #: admin/fai/class_faiManagement.inc:572 msgid "FAI branch/freeze" msgstr "" #: admin/fai/class_faiManagement.inc:575 #, fuzzy msgid "You have no permission to delete this release!" msgstr "Non hai il permesso di cambiare la tua password." #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "Attenzione" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 #, fuzzy msgid "Configuration" msgstr "File di configurazione" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Branch" msgstr "Annulla" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 msgid "Continue" msgstr "Continua" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 #, fuzzy msgid "Service infrastructure" msgstr "Seleziona per mostrare le applicazioni" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 #, fuzzy msgid "Fatal error" msgstr "Terminal Server" #: admin/fai/class_faiManagement.inc:1003 #, fuzzy msgid "Freeze" msgstr "Numero di telefono" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 #, fuzzy msgid "Package list" msgstr "Pacchetti" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 #, fuzzy msgid "Scripts" msgstr "Script path" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 msgid "Variables" msgstr "Variabili" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 msgid "Hooks" msgstr "" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 msgid "Templates" msgstr "Template" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 #, fuzzy msgid "OPSI net boot product" msgstr "Gruppi di oggetti" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 #, fuzzy msgid "OPSI local boot product" msgstr "Gruppi di oggetti" #: admin/fai/class_faiManagement.inc:1228 #, fuzzy msgid "FAI releases" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/class_faiManagement.inc:1229 #, fuzzy msgid "FAI release management" msgstr "Riferimenti" #: admin/fai/class_faiManagement.inc:1285 #, fuzzy msgid "RDN for FAI storage." msgstr "Algorimo password" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "" #: admin/fai/class_faiVariableEntry.inc:91 #, fuzzy msgid "Content" msgstr "Continua" #: admin/fai/class_faiVariableEntry.inc:126 #, fuzzy msgid "Variable entry" msgstr "Mostra terminali" #: admin/fai/class_faiVariableEntry.inc:127 #, fuzzy msgid "FAI variable entry " msgstr "Mostra il nome" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 #, fuzzy msgid "Variable content" msgstr "Mostra terminali" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 #, fuzzy msgid "Download" msgstr "Dominio" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 msgid "Template" msgstr "" #: admin/fai/class_faiTemplate.inc:522 #, fuzzy msgid "FAI template" msgstr "Nuovo template" #: admin/fai/class_faiTemplate.inc:534 #, fuzzy msgid "RDN for FAI template storage." msgstr "Nuovo template" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 #, fuzzy msgid "Read-only" msgstr "leggere" #: admin/fai/paste_generic.tpl:2 #, fuzzy msgid "FAI settings" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/paste_generic.tpl:4 #, fuzzy msgid "Paste FAI class" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 #, fuzzy msgid "Class name" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/remove_branch.tpl:6 msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" #: admin/fai/remove_branch.tpl:8 #, fuzzy msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" "Quindi - Se sei sicuro - premi Rimuovi per continuare o Annulla per abortire." #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 #, fuzzy msgid "Create new FAI object" msgstr "Gruppo di oggetti" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 #, fuzzy msgid "Version" msgstr "Permessi" #: admin/fai/packageSelect/class_packageSelect.inc:29 #, fuzzy msgid "Package selection" msgstr "Impostazioni FAX" #: admin/fai/class_faiScript.inc:522 #, fuzzy msgid "RDN for FAI script storage." msgstr "Mostra stampanti" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 #, fuzzy msgid "LDAP error" msgstr "Errore LDAP" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 msgid "Object" msgstr "Oggetto" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1041 #, fuzzy, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "Il valore specificato come '%s' contiene dei caratteri invalidi!" #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "" #: admin/fai/class_FAI.inc:1077 #, fuzzy, php-format msgid "Creating copy of %s" msgstr "Lista degli utenti di %s su %s" #: admin/fai/class_FAI.inc:1080 #, fuzzy msgid "Processing" msgstr "Permessi" #: admin/fai/class_FAI.inc:1098 #, fuzzy msgid "Could not create new release, the destination DN is already in use." msgstr "Il valore specificato come '%s' contiene dei caratteri invalidi!" #: admin/fai/class_FAI.inc:1111 msgid "Error while fetching source DN - aborted!" msgstr "" #: admin/fai/class_FAI.inc:1193 #, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "" #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 #, fuzzy msgid "file is empty" msgstr "Rimuovi" #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 #, fuzzy msgid "Script entry" msgstr "Mostra terminali" #: admin/fai/class_faiScriptEntry.inc:211 #, fuzzy msgid "FAI script entry" msgstr "Mostra stampanti" #: admin/fai/class_faiScriptEntry.inc:221 #, fuzzy msgid "Script Priority" msgstr "Script path" #: admin/fai/fai-list.xml:11 #, fuzzy msgid "List of deployment classes and products" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 msgid "Actions" msgstr "Azioni" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 msgid "Create" msgstr "Creare" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 #, fuzzy msgid "Variable" msgstr "Variabili" #: admin/fai/fai-list.xml:107 #, fuzzy msgid "Remove entries" msgstr "Oggetti membri" #: admin/fai/fai-list.xml:118 #, fuzzy msgid "Create branch" msgstr "Crea in" #: admin/fai/fai-list.xml:125 #, fuzzy msgid "Create freeze" msgstr "Password attuale" #: admin/fai/fai-list.xml:132 #, fuzzy msgid "Remove release" msgstr "Oggetti membri" #: admin/fai/faiSummary.tpl:2 msgid "Summary of used FAI classes" msgstr "" #: admin/fai/faiSummary.tpl:5 msgid "FAI object tree" msgstr "" #: admin/fai/faiSummary.tpl:13 msgid "Reload class and release configuration from parent object." msgstr "" #: admin/fai/faiSummary.tpl:24 #, fuzzy msgid "You are not allowed to view the FAI summary." msgstr "Non hai il permesso di cambiare la tua password." #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" #: admin/fai/faiTemplate.tpl:30 #, fuzzy msgid "List of template files" msgstr "Lista dei dipartimenti" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 #, fuzzy msgid "Logical" msgstr "Aggiungi localmente" #: admin/fai/class_faiPartition.inc:165 #, fuzzy msgid "Primary" msgstr "Gruppo primario" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "" #: admin/fai/class_faiPartition.inc:181 msgid "fixed" msgstr "" #: admin/fai/class_faiPartition.inc:182 msgid "dynamic" msgstr "" #: admin/fai/class_faiPartition.inc:183 msgid "remaining space" msgstr "" #: admin/fai/class_faiPartition.inc:188 msgid "KB" msgstr "" #: admin/fai/class_faiPartition.inc:189 msgid "MB" msgstr "" #: admin/fai/class_faiPartition.inc:190 msgid "GB" msgstr "" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "" #: admin/fai/class_faiPartition.inc:198 msgid "always" msgstr "" #: admin/fai/class_faiPartition.inc:199 msgid "reinstall" msgstr "" #: admin/fai/class_faiPartition.inc:203 msgid "swap space" msgstr "" #: admin/fai/class_faiPartition.inc:312 #, fuzzy msgid "spare" msgstr "Salva" #: admin/fai/class_faiPartition.inc:315 #, fuzzy msgid "missing" msgstr "Permessi" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Minimum partition size" msgstr "Partizioni" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Maximum partition size" msgstr "Partizioni" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 #, fuzzy msgid "FAI partition table" msgstr "Stampante" #: admin/fai/class_faiPartitionTable.inc:789 #, fuzzy msgid "RDN for FAI partition storage." msgstr "Stampante" #: admin/fai/faiVariableEntry.tpl:3 #, fuzzy msgid "FAI variable entry" msgstr "Mostra il nome" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 #, fuzzy msgid "Variable attributes" msgstr "Attributo DN delle persone" #: admin/fai/fai-filter.xml:18 #, fuzzy msgid "FAI objects" msgstr "Gruppo di oggetti" #: admin/fai/fai-filter.xml:32 #, fuzzy msgid "Opsi packages" msgstr "Mostra telefoni" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "" #: admin/fai/class_faiHookEntry.inc:229 #, fuzzy msgid "Hook entry" msgstr "Elimina contatto" #: admin/fai/faiNewBranch.tpl:5 msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" #: admin/fai/faiNewBranch.tpl:7 msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" #: admin/fai/faiNewBranch.tpl:12 #, fuzzy msgid "Please enter a name for the branch" msgstr "Prego inserire un numero di telefono valido!" #: admin/fai/faiNewBranch.tpl:23 msgid "Processing the requested operation" msgstr "" #: admin/fai/faiNewBranch.tpl:24 msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" #: admin/fai/faiNewBranch.tpl:29 msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "" #: admin/fai/faiNewBranch.tpl:31 #, fuzzy msgid "Perform requested operation." msgstr "Selezione le workstation da aggiungere" #: admin/fai/faiNewBranch.tpl:32 #, fuzzy msgid "Initiate operation" msgstr "Contatto" #: admin/fai/askClassName.tpl:6 msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "" #: admin/fai/askClassName.tpl:17 #, fuzzy msgid "FAI class creator" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/askClassName.tpl:20 #, fuzzy msgid "Class settings" msgstr "Opzioni di posta dell'identità" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "" #: admin/fai/askClassName.tpl:43 #, fuzzy msgid "Class name selector" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "" #: admin/fai/askClassName.tpl:57 #, fuzzy msgid "Choose class name" msgstr "Scegli il tuo numero di telefono personale" #: admin/fai/class_faiPackageConfiguration.inc:68 #, php-format msgid "Debconf information for package '%s'" msgstr "" #: admin/fai/class_faiVariable.inc:386 #, fuzzy msgid "FAI variable" msgstr "Mostra il nome" #: admin/fai/class_faiVariable.inc:399 #, fuzzy msgid "RDN for FAI variable storage." msgstr "Mostra il nome" #: admin/fai/faiPartition.tpl:2 #, fuzzy msgid "Partition" msgstr "Partizioni" #: admin/fai/faiPartition.tpl:4 #, fuzzy msgid "FAI partition" msgstr "Partizioni" #: admin/fai/faiPartition.tpl:80 msgid "Resize existing partition" msgstr "" #: admin/fai/faiPartition.tpl:85 msgid "Boot able" msgstr "" #: admin/fai/faiPartition.tpl:122 #, fuzzy msgid "Toggle missing" msgstr "Permessi" #: admin/fai/faiPartition.tpl:123 msgid "Toggle spare" msgstr "" #: admin/fai/faiPartition.tpl:134 #, fuzzy msgid "File system" msgstr "Sistemi" #: admin/fai/faiPartition.tpl:141 #, fuzzy msgid "File system create options" msgstr "Informazioni organizzazione" #: admin/fai/faiPartition.tpl:151 msgid "Encrypted" msgstr "" #: admin/fai/faiPartition.tpl:153 #, fuzzy msgid "Tune options" msgstr "Opzioni di posta" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "Stato" #: admin/fai/class_faiPackage.inc:233 msgid "Invalid package names" msgstr "" #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "" #: admin/fai/class_faiPackage.inc:424 #, fuzzy msgid "Configured" msgstr "Configura" #: admin/fai/class_faiPackage.inc:430 msgid "Package marked for removal" msgstr "" #: admin/fai/class_faiPackage.inc:447 msgid "Mark package for removal" msgstr "" #: admin/fai/class_faiPackage.inc:453 #, fuzzy msgid "Configure this package" msgstr "File di configurazione" #: admin/fai/class_faiPackage.inc:458 #, fuzzy msgid "Remove this package" msgstr "Elimina foto" #: admin/fai/class_faiPackage.inc:537 #, fuzzy msgid "Please select a least one package!" msgstr "Prego inserire un numero di telefono valido!" #: admin/fai/class_faiPackage.inc:541 #, fuzzy msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "Specificare una dimenzione valida per le mail da rigettare." #: admin/fai/class_faiPackage.inc:668 #, fuzzy msgid "Package" msgstr "Pacchetti" #: admin/fai/class_faiPackage.inc:669 #, fuzzy msgid "FAI Package list" msgstr "Liste di blocco" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "" #: admin/fai/class_faiPackage.inc:690 msgid "Packages" msgstr "Pacchetti" #: admin/fai/class_faiPackage.inc:692 #, fuzzy msgid "Install Method" msgstr "Metodo di amministrazione della posta" #: admin/fai/class_faiPackage.inc:693 #, fuzzy msgid "Package configuration" msgstr "Scarica il file di configurazione" #: admin/fai/class_faiTemplateEntry.inc:118 msgid "no file uploaded yet" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:290 #, fuzzy msgid "Template entry" msgstr "Template" #: admin/fai/class_faiTemplateEntry.inc:300 #, fuzzy msgid "Template file" msgstr "Template" #: admin/fai/class_faiTemplateEntry.inc:301 #, fuzzy msgid "Template path" msgstr "Template" #: admin/fai/class_faiTemplateEntry.inc:302 #, fuzzy msgid "File owner" msgstr "Cognome" #: admin/fai/class_faiSummaryTab.inc:50 msgid "Profiles" msgstr "Profili" #: admin/fai/class_faiSummaryTab.inc:95 #, fuzzy msgid "Unknown FAI information source!" msgstr "Informazioni personali" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 msgid "You can't use this plug-in until FAI is activated." msgstr "" #: admin/fai/class_faiSummaryTab.inc:228 msgid "This object has no FAI classes assigned." msgstr "" #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "" #: admin/fai/class_faiSummaryTab.inc:348 #, fuzzy msgid "No." msgstr "nessuno" #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "" #: admin/fai/faiPartitionTable.tpl:38 #, fuzzy msgid "Discs" msgstr "Dispositivi" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 #, fuzzy msgid "Add disk" msgstr "Aggiungi" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 msgid "Add RAID" msgstr "" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 msgid "Add volume group" msgstr "" #: admin/fai/class_debconfTemplate.inc:208 #, fuzzy msgid "This package has no debconf options." msgstr "Questa identità non possiede estensioni telefoniche" #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" #: admin/systems/services/repository/repository-list.xml:10 #, fuzzy msgid "List of repositories" msgstr "Lista degli utenti" #: admin/systems/services/repository/repository-list.xml:14 #, fuzzy msgid "Service" msgstr "Servizi" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 #, fuzzy msgid "Sections" msgstr "Azione" #: admin/systems/services/repository/servRepositorySetup.tpl:3 #, fuzzy msgid "FAI Repository" msgstr "Riprova" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 #, fuzzy msgid "Parent server" msgstr "server" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 msgid "URL" msgstr "" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 #, fuzzy msgid "Repository service" msgstr "Riprova" #: admin/systems/services/repository/class_servRepository.inc:158 #, fuzzy msgid "FAI release" msgstr "Scegli il tuo numero di telefono personale" #: admin/systems/services/repository/class_servRepository.inc:402 msgid "Services" msgstr "Servizi" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" #: admin/systems/services/repository/class_servRepository.inc:424 #, fuzzy msgid "Releases" msgstr "Rimuovi" #, fuzzy #~ msgid "SUID" #~ msgstr "UID" #, fuzzy #~ msgid "SGID" #~ msgstr "GID" #, fuzzy #~ msgid "Freezed" #~ msgstr "Numero di telefono" #, fuzzy #~ msgid "FS type" #~ msgstr "Tipo" #, fuzzy #~ msgid "FS option" #~ msgstr "Opzioni" #, fuzzy #~ msgid "FS options" #~ msgstr "Opzioni" #, fuzzy #~ msgid "Objects" #~ msgstr "Oggetto" #~ msgid "Delete" #~ msgstr "Rimuovi" #, fuzzy #~ msgid "Filter" #~ msgstr "Filtri" #~ msgid "Base" #~ msgstr "Base" #~ msgid "edit" #~ msgstr "modifica" #~ msgid "delete" #~ msgstr "elimina" #~ msgid "Information" #~ msgstr "Informazioni" #~ msgid "Filters" #~ msgstr "Filtri" #, fuzzy #~ msgid "Show only classes with templates" #~ msgstr "Mostra utenti template" #, fuzzy #~ msgid "Show only classes with variables" #~ msgstr "Mostra terminali" #, fuzzy #~ msgid "Show only classes with partitions" #~ msgstr "Mostra workstation" #, fuzzy #~ msgid "Sort direction" #~ msgstr "Azione" #~ msgid "Action" #~ msgstr "Azione" #, fuzzy #~ msgid "Current release" #~ msgstr "Password attuale" #, fuzzy #~ msgid "Create read-only release" #~ msgstr "Password attuale" #, fuzzy #~ msgid "Delete current release" #~ msgstr "Rimuovi" #, fuzzy #~ msgid "Show profiles" #~ msgstr "Mostra stampanti" #~ msgid "Show templates" #~ msgstr "Mostra utenti template" #, fuzzy #~ msgid "Show scripts" #~ msgstr "Mostra stampanti" #, fuzzy #~ msgid "Show hooks" #~ msgstr "Mostra telefoni" #, fuzzy #~ msgid "Show variables" #~ msgstr "Mostra terminali" #, fuzzy #~ msgid "Show packages" #~ msgstr "Mostra telefoni" #, fuzzy #~ msgid "Show partitions" #~ msgstr "Mostra workstation" #, fuzzy #~ msgid "Show netboot products" #~ msgstr "Gruppi di oggetti" #, fuzzy #~ msgid "Show localboot products" #~ msgstr "Gruppi di oggetti" #, fuzzy #~ msgid "Open" #~ msgstr "Opzioni" #, fuzzy #~ msgid "Close" #~ msgstr "Scegli" #, fuzzy #~ msgid "List of available packages" #~ msgstr "Scegli il tuo numero di telefono personale" #, fuzzy #~ msgid "Please enter your search string here" #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "Add repository" #~ msgstr "Directory" #, fuzzy #~ msgid "Select the object you want to cut:" #~ msgstr "Mostra gruppi che contengono gruppi" #, fuzzy #~ msgid "Roles" #~ msgstr "Ruolo" #, fuzzy #~ msgid "Role management" #~ msgstr "Riferimenti" #~ msgid "Role" #~ msgstr "Ruolo" #, fuzzy #~ msgid "Edit role" #~ msgstr "Modifica contatto" #, fuzzy #~ msgid "Use" #~ msgstr "Utenti" #, fuzzy #~ msgid "A new class name." #~ msgstr "Applicazioni disponibili" #, fuzzy #~ msgid "List of classes" #~ msgstr "Scegli il tuo numero di telefono personale" #, fuzzy #~ msgid "Select all" #~ msgstr "Rimuovi" #, fuzzy #~ msgid "Class types" #~ msgstr "Scegli il tuo numero di telefono personale" #, fuzzy #~ msgid "Display objects of type '%s'." #~ msgstr "Gruppo di oggetti" #~ msgid "Display users matching" #~ msgstr "Mostra utenti che corrispondono a" #, fuzzy #~ msgid "Templates " #~ msgstr "Template" #, fuzzy #~ msgid "I" #~ msgstr "Unix" #, fuzzy #~ msgid "Number of listed %s" #~ msgstr "Nome del gruppo" #, fuzzy #~ msgid "profiles" #~ msgstr "Path del profilo" #, fuzzy #~ msgid "partitions" #~ msgstr "Mostra workstation" #, fuzzy #~ msgid "scripts" #~ msgstr "Script" #, fuzzy #~ msgid "hooks" #~ msgstr "Mostra errori PHP" #, fuzzy #~ msgid "variables" #~ msgstr "Variabili" #, fuzzy #~ msgid "templates" #~ msgstr "Template" #, fuzzy #~ msgid "packages" #~ msgstr "Pacchetti" #, fuzzy #~ msgid "departments" #~ msgstr "Imposta dipartimento" #, fuzzy #~ msgid "localboot products" #~ msgstr "Gruppi di oggetti" #, fuzzy #~ msgid "Partition start size" #~ msgstr "Partizioni" #, fuzzy #~ msgid "Partition stop size" #~ msgstr "Partizioni" #, fuzzy #~ msgid "Secondary" #~ msgstr "Azione" #, fuzzy #~ msgid "Raid 0" #~ msgstr "leggere" #, fuzzy #~ msgid "Raid 1" #~ msgstr "leggere" #, fuzzy #~ msgid "Raid 5" #~ msgstr "leggere" #, fuzzy #~ msgid "Raid 6" #~ msgstr "leggere" #, fuzzy #~ msgid "%s partition" #~ msgstr "Mostra workstation" #, fuzzy #~ msgid "%s partition(s)" #~ msgstr "Mostra workstation" #, fuzzy #~ msgid "Number of listed '%s'" #~ msgstr "Lista degli utenti" #, fuzzy #~ msgid "Deployment status" #~ msgstr "Stato" #, fuzzy #~ msgid "System deployment status" #~ msgstr "Dipartimento" #, fuzzy #~ msgid "List of queued jobs" #~ msgstr "Lista dei dipartimenti" #~ msgid "Import" #~ msgstr "Importa" #, fuzzy #~ msgid "Resume" #~ msgstr "Rimuovi" #, fuzzy #~ msgid "Pause" #~ msgstr "Data" #, fuzzy #~ msgid "Reload" #~ msgstr "leggere" #, fuzzy #~ msgid "Target" #~ msgstr "reset" #, fuzzy #~ msgid "Schedule" #~ msgstr "Estenzioni PHPGroupware" #, fuzzy #~ msgid "Move up" #~ msgstr "Dominio" #, fuzzy #~ msgid "Move down" #~ msgstr "Dominio" #, fuzzy #~ msgid "Execute now" #~ msgstr "Esegui" #, fuzzy #~ msgid "Waiting" #~ msgstr "Attenzione" #, fuzzy #~ msgid "Detection" #~ msgstr "Azione" #, fuzzy #~ msgid "Cannot update queue entry: %s" #~ msgstr "Rimuovi" #, fuzzy #~ msgid "Cannot load queue entries: %s" #~ msgstr "Rimuovi" #, fuzzy #~ msgid "System deployment" #~ msgstr "Dipartimento" #, fuzzy #~ msgid "System list" #~ msgstr "Accesso ai sistemi" #, fuzzy #~ msgid "ID" #~ msgstr "GID" #, fuzzy #~ msgid "Timestamp" #~ msgstr "Timeout" #, fuzzy #~ msgid "Targets" #~ msgstr "reset" #, fuzzy #~ msgid "System / Department" #~ msgstr "Dipartimento" #, fuzzy #~ msgid "Display users" #~ msgstr "Mostra utenti che corrispondono a" #, fuzzy #~ msgid "Display groups" #~ msgstr "Mostra gruppi di utenti" #~ msgid "Submit department" #~ msgstr "Imposta dipartimento" #, fuzzy #~ msgid "Abort installation" #~ msgstr "Amministrazione" #, fuzzy #~ msgid "Reload GOto settings" #~ msgstr "Impostazioni Unix" #, fuzzy #~ msgid "System analysis" #~ msgstr "Sistemi" #, fuzzy #~ msgid "Installation activation" #~ msgstr "Amministrazione" #, fuzzy #~ msgid "Time schedule" #~ msgstr "Estenzioni PHPGroupware" #, fuzzy #~ msgid "Year" #~ msgstr "Cerca" #, fuzzy #~ msgid "Month" #~ msgstr "mese" #, fuzzy #~ msgid "Day" #~ msgstr "giorno" #, fuzzy #~ msgid "Hour" #~ msgstr "ora" #, fuzzy #~ msgid "Minute" #~ msgstr "Stampante" #, fuzzy #~ msgid "Reload fai release db" #~ msgstr "Nome applicazione" #, fuzzy #~ msgid "Send message" #~ msgstr "Home Page" #, fuzzy #~ msgid "Subject" #~ msgstr "Oggetto" #, fuzzy #~ msgid "Message" #~ msgstr "Home Page" #, fuzzy #~ msgid "Create '%s' job" #~ msgstr "Gruppo di oggetti" #~ msgid "Add" #~ msgstr "Aggiungi" #~ msgid "Apply" #~ msgstr "Applica" #~ msgid "Cancel" #~ msgstr "Annulla" #, fuzzy #~ msgid "Display server" #~ msgstr "Mostra il nome" #, fuzzy #~ msgid "Display workstation" #~ msgstr "Mostra utenti che corrispondono a" #, fuzzy #~ msgid "Display object groups" #~ msgstr "Nome del gruppo" #~ msgid "Server" #~ msgstr "Server" #~ msgid "Object group" #~ msgstr "Gruppo di oggetti" #, fuzzy #~ msgid "Activate new" #~ msgstr "Privato" #, fuzzy #~ msgid "Progress" #~ msgstr "Profili" #, fuzzy #~ msgid "Sender" #~ msgstr "Generale" #, fuzzy #~ msgid "Target users" #~ msgstr "Utenti di Dominio" #, fuzzy #~ msgid "Target groups" #~ msgstr "dipartimenti" #, fuzzy #~ msgid "Available targets" #~ msgstr "Applicazioni disponibili" #~ msgid "Object name" #~ msgstr "Nome dell'oggetto" #, fuzzy #~ msgid "Select to see object groups" #~ msgstr "Mostra gruppi che contengono gruppi" #, fuzzy #~ msgid "Show object groups" #~ msgstr "Gruppi di oggetti" #~ msgid "Show servers" #~ msgstr "Mostra server" #, fuzzy #~ msgid "Select to see workstations" #~ msgstr "Seleziona per mostrare le applicazioni" #~ msgid "Show workstations" #~ msgstr "Mostra workstation" #, fuzzy #~ msgid "Select to see incoming objects" #~ msgstr "Seleziona per mostrare le applicazioni" #, fuzzy #~ msgid "Show new objects" #~ msgstr "Oggetti membri" #~ msgid "Regular expression for matching group names" #~ msgstr "Espressioni regolare per selezionare il nome del gruppo" #, fuzzy #~ msgid "Available logs" #~ msgstr "Applicazioni disponibili" #, fuzzy #~ msgid "Selected log" #~ msgstr "Rimuovi" #, fuzzy #~ msgid "Import jobs" #~ msgstr "Importa" #, fuzzy #~ msgid "timestamp" #~ msgstr "Timeout" #, fuzzy #~ msgid "MAC-address" #~ msgstr "Indirizzo" #, fuzzy #~ msgid "job type" #~ msgstr "Tipo" #, fuzzy #~ msgid "object group" #~ msgstr "Gruppo di oggetti" #, fuzzy #~ msgid "import base" #~ msgstr "Nome applicazione" #, fuzzy #~ msgid "IP-address" #~ msgstr "Indirizzo" #, fuzzy #~ msgid "Select list to import" #~ msgstr "Seleziona un sistema da aggiungere" #, fuzzy #~ msgid "Browse" #~ msgstr "Base" #, fuzzy #~ msgid "MAC" #~ msgstr "ACL" #, fuzzy #~ msgid "IP" #~ msgstr "Unix" #~ msgid "none" #~ msgstr "nessuno" #, fuzzy #~ msgid "Date" #~ msgstr "Data" #, fuzzy #~ msgid "System mass deployment" #~ msgstr "Dipartimento" #, fuzzy #~ msgid "Edit product" #~ msgstr "classe" #, fuzzy #~ msgid "Edit class" #~ msgstr "classe" #, fuzzy #~ msgid "Delete class" #~ msgstr "Rimuovi" #, fuzzy #~ msgid "Opsi netboot package" #~ msgstr "Mostra telefoni" #, fuzzy #~ msgid "Copy" #~ msgstr "Azienda" #, fuzzy #~ msgid "Copy this entry" #~ msgstr "Modifica questo record" #, fuzzy #~ msgid "Sudo generic" #~ msgstr "Generale" #, fuzzy #~ msgid "package is configured" #~ msgstr "non configurata" #, fuzzy #~ msgid "Branches" #~ msgstr "Annulla" #, fuzzy #~ msgid "Create new locked branch" #~ msgstr "Crea nuova conferenza" #, fuzzy #~ msgid "Cut" #~ msgstr "Esegui" #, fuzzy #~ msgid "cut" #~ msgstr "Esegui" #, fuzzy #~ msgid "Cut this entry" #~ msgstr "Modifica questo record" #, fuzzy #~ msgid "Choosen packages" #~ msgstr "Mostra telefoni" #, fuzzy #~ msgid "File system encryption" #~ msgstr "Informazioni organizzazione" #, fuzzy #~ msgid "Name is already in use!" #~ msgstr "L'indirizzo principale inserito è già in uso." #, fuzzy #~ msgid "Please enter a script!" #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "You have no permission to delete this entry!" #~ msgstr "Non hai il permesso di cambiare la tua password." #, fuzzy #~ msgid "You're about to delete the following entry %s" #~ msgstr "Non hai il permesso di cambiare la tua password." #, fuzzy #~ msgid "You're about to delete the following entries %s" #~ msgstr "Non hai il permesso di cambiare la tua password." #, fuzzy #~ msgid "Branch name is not valid!" #~ msgstr "Il valore specificato per l'UID non è valido." #, fuzzy #~ msgid "Freeze name is not valid!" #~ msgstr "Il valore specificato per l'UID non è valido." #, fuzzy #~ msgid "You have no permission to create a new branch!" #~ msgstr "Non hai il permesso di cambiare la tua password." #, fuzzy #~ msgid "There is already a template with the given name." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "Please specify a value for attribute 'file'." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "Please specify a valid value for attribute 'Destination path'." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "Please enter a file name." #~ msgstr "Inserisci la URI del server LDAP" #, fuzzy #~ msgid "Please enter a user." #~ msgstr "Inserisci la URI del server LDAP" #, fuzzy #~ msgid "Please enter a valid user. Only a-z/0-9 are allowed." #~ msgstr "Specificare una dimenzione valida per le mail da rigettare." #, fuzzy #~ msgid "Please enter a group." #~ msgstr "Inserisci la URI del server LDAP" #, fuzzy #~ msgid "Please enter a valid group. Only a-z/0-9 are allowed." #~ msgstr "Specificare una dimenzione valida per le mail da rigettare." #, fuzzy #~ msgid "Create new FAI object - partition table." #~ msgstr "Gruppo di oggetti" #, fuzzy #~ msgid "Create new FAI object - package bundle." #~ msgstr "Gruppo di oggetti" #, fuzzy #~ msgid "Create new FAI object - script bundle." #~ msgstr "Gruppo di oggetti" #, fuzzy #~ msgid "Create new FAI object - variable bundle." #~ msgstr "Gruppo di oggetti" #, fuzzy #~ msgid "Create new FAI object - hook bundle." #~ msgstr "Gruppo di oggetti" #, fuzzy #~ msgid "Create new FAI object - profile." #~ msgstr "Gruppo di oggetti" #, fuzzy #~ msgid "Create new FAI object - template." #~ msgstr "Nuovo template" #, fuzzy #~ msgid "Spaces are not allowed within class names." #~ msgstr "Non hai il permesso di cambiare la tua password." #, fuzzy #~ msgid "There is already a variable with the given name." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "Please specify a value for the attribute 'content'." #~ msgstr "Specificare una dimenzione valida per le mail da rigettare." #, fuzzy #~ msgid "Please enter a name." #~ msgstr "Inserisci la URI del server LDAP" #, fuzzy #~ msgid "Display FAI template objects" #~ msgstr "Lista dei dipartimenti" #, fuzzy #~ msgid "Display FAI scripts" #~ msgstr "Lista degli utenti" #, fuzzy #~ msgid "Display FAI hooks" #~ msgstr "Mostra errori PHP" #, fuzzy #~ msgid "Display FAI variables" #~ msgstr "Mostra il nome" #, fuzzy #~ msgid "Display FAI packages" #~ msgstr "Mostra il nome" #, fuzzy #~ msgid "Display FAI partitions" #~ msgstr "Mostra workstation" #, fuzzy #~ msgid "Number of listed variables" #~ msgstr "Scegli il tuo numero di telefono personale" #, fuzzy #~ msgid "Number of listed templates" #~ msgstr "Opzioni di accesso" #, fuzzy #~ msgid "Number of listed packages" #~ msgstr "Mostra telefoni" #, fuzzy #~ msgid "Number of listed departments" #~ msgstr "Imposta dipartimento" #, fuzzy #~ msgid "Please specify a valid disc name." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "Please enter a valid mount point for partition %s." #~ msgstr "Inserire un nome cartella valido per il campo 'Home directory'." #, fuzzy #~ msgid "Please enter a valid partition size for partition %s." #~ msgstr "Inserire un nome cartella valido per il campo 'Home directory'." #, fuzzy #~ msgid "Please enter a valid range for partition %s." #~ msgstr "Inserire un nome cartella valido per il campo 'Home directory'." #, fuzzy #~ msgid "Please enter a range for partition size for partition %s." #~ msgstr "Inserire un nome cartella valido per il campo 'Home directory'." #~ msgid "Back" #~ msgstr "Indietro" #, fuzzy #~ msgid "Saving of FAI/package list with dn '%s' failed." #~ msgstr "Stampante" #, fuzzy #~ msgid "Saving of FAI/hook with dn '%s' failed." #~ msgstr "Stampante" #, fuzzy #~ msgid "Saving of FAI/variable with dn '%s' failed." #~ msgstr "Stampante" #, fuzzy #~ msgid "Saving of FAI/template with dn '%s' failed." #~ msgstr "Lista dei dipartimenti" #, fuzzy #~ msgid "Creating of FAI/script with dn '%s' failed." #~ msgstr "Gruppo di oggetti" #, fuzzy #~ msgid "Saving of FAI/partition table with dn '%s' failed." #~ msgstr "Stampante" #, fuzzy #~ msgid "Saving of FAI/profile with dn '%s' failed." #~ msgstr "Stampante" #, fuzzy #~ msgid "Please select a valid file." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "There is already a hook with the given name." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "Please enter a value for script." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "There is already a script with the given name." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "Please enter a valid name." #~ msgstr "Prego inserire un numero di telefono valido!" #, fuzzy #~ msgid "There is already a FAI object with this class name defined." #~ msgstr "Prego inserire un numero di telefono valido!" gosa-plugin-fai-2.7.4/locale/pt_BR/0000755000175000017500000000000011752422555015757 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/pt_BR/LC_MESSAGES/0000755000175000017500000000000011752422555017544 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/pt_BR/LC_MESSAGES/messages.po0000644000175000017500000015100611475426262021717 0ustar cajuscajus# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: GOsa plugins - fai\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: 2010-03-13 17:49-0300\n" "Last-Translator: Marcos Amorim \n" "Language-Team: Marcos Amorim Clever de Oliveira " " \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Portuguese\n" "X-Poedit-Country: BRAZIL\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "Geral" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 #, fuzzy msgid "FAI template entry" msgstr "Falha removendo a entrada de modelo FAI" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 #, fuzzy msgid "Generic settings" msgstr "GOsa configurações gerais" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 msgid "File name" msgstr "Nome do arquivo" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 msgid "Destination path" msgstr "Destino" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "Descrição" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 msgid "Template attributes" msgstr "Atributos do modelo" #: admin/fai/faiTemplateEntry.tpl:44 #, fuzzy msgid "Template file status" msgstr "" "\n" "Arquivo de configuração '%s'" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 msgid "File" msgstr "Arquivo" #: admin/fai/faiTemplateEntry.tpl:50 msgid "Save template" msgstr "Salvar modelo" #: admin/fai/faiTemplateEntry.tpl:51 msgid "Edit template" msgstr "Editar modelo" #: admin/fai/faiTemplateEntry.tpl:58 msgid "Full path" msgstr "Caminho do completo" #: admin/fai/faiTemplateEntry.tpl:70 msgid "Upload" msgstr "Upload" #: admin/fai/faiTemplateEntry.tpl:77 #, fuzzy msgid "File attributes" msgstr "Atributos do script" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "Dono" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "Grupo" #: admin/fai/faiTemplateEntry.tpl:99 msgid "Access" msgstr "Acesso" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 #, fuzzy msgid "File permissions" msgstr "" "\n" "Arquivo de configuração '%s'" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Class" msgstr "Classe" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Read" msgstr "Leitura" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Write" msgstr "Gravar" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "Executar" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Special" msgstr "Especial" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "Usuário" #: admin/fai/faiTemplateEntry.tpl:162 #, fuzzy msgid "Others" msgstr "Outros" #: admin/fai/faiTemplateEntry.tpl:186 msgid "sticky" msgstr "" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "Erro" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "" "Falha ao mover a árvore. A árvore de destino é uma subárvore da árvore de " "origem" #: admin/fai/class_faiTemplateEdit.inc:60 #, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 msgid "Device" msgstr "Dispositivo" #: admin/fai/faiDiskEntry.tpl:5 #, fuzzy msgid "FAI disk entry" msgstr "Falha removendo redirecionamento FAI" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 #, fuzzy msgid "Disk options" msgstr "Opções de Correio" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "Nome" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "chave fstab" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "Rótulo do disco" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "Partições físicas combinadas" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 msgid "Partition entries" msgstr "Partições" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 msgid "Add partition" msgstr "Adicionar partição" #: admin/fai/faiGroupHandle.tpl:3 msgid "Please select the objects you want to remove:" msgstr "" #: admin/fai/faiGroupHandle.tpl:5 msgid "Select the object you want to edit:" msgstr "" #: admin/fai/faiGroupHandle.tpl:7 msgid "Select the object you want to copy:" msgstr "" #: admin/fai/faiGroupHandle.tpl:12 #, fuzzy msgid "FAI group selection" msgstr "Configurações de grupo" #: admin/fai/faiGroupHandle.tpl:40 #, fuzzy msgid "Frozen" msgstr "Congelar" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "primary" msgstr "primária" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "logical" msgstr "lógica" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "Tipo" #: admin/fai/class_faiPartitionTableEntry.inc:150 #, fuzzy msgid "Filesystem type" msgstr "Tipo de sistema de arquivo" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 msgid "Mount point" msgstr "Ponto de montagem" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 msgid "Size in MB" msgstr "Tamanho em MB" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 msgid "Mount options" msgstr "Opções de montagem" #: admin/fai/class_faiPartitionTableEntry.inc:154 #, fuzzy msgid "Filesystem option" msgstr "Opções do sistema de arquivos" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 msgid "Preserve" msgstr "Preservar" #: admin/fai/class_faiPartitionTableEntry.inc:246 msgid "False" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:248 msgid "True" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "Remover" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "por favor, entre com um ponto de montagem único para a partição %s" #: admin/fai/class_faiPartitionTableEntry.inc:365 #, fuzzy, php-format msgid "partition %s mount point" msgstr "Impossível executar \"stat\" no ponto de montagem %s" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "" "O tipo de sistema de arquivos 'swap' já está sendo usado, altere o tipo para " "a partição %s." #: admin/fai/class_faiPartitionTableEntry.inc:374 #, fuzzy msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "" "Por favor, use 'swap' como ponto de montagem se 'swap' estiver sendo usado " "como tipo de sistema de arquivos." #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, fuzzy, php-format msgid "partition %s size" msgstr "Tamanho da quota" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "" "Voce tem mais que 3 entradas de partições primárias na sua configuração, por " "favor verifique novamente." #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 #, fuzzy msgid "Partition table entry" msgstr "Cortar esta entrada" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 #, fuzzy msgid "FAI partition table entry" msgstr "Falha removendo a entrada de modelo FAI" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 msgid "Partition type" msgstr "Tipo de partição" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 msgid "Partition no." msgstr "No. da Partição" #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 msgid "File system type" msgstr "Tipo de sistema de arquivo" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 #, fuzzy msgid "Partition size" msgstr "Tamanho da quota" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 msgid "File system options" msgstr "Opções do sistema de arquivos" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 #, fuzzy msgid "Partition flags" msgstr "Tabela de partição" #: admin/fai/faiVariable.tpl:32 msgid "List of assigned variables" msgstr "Lista das variáveis atribuídas " #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "Escolha uma variável para deletar ou editar" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "Editar" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 #, fuzzy msgid "Hook" msgstr "Conjunto de redirecionamento" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 #, fuzzy msgid "FAI hook" msgstr "Falha removendo redirecionamento FAI" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 msgid "Read only" msgstr "Somente leitura" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 #, fuzzy msgid "Options" msgstr "Opções" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "Rótulo" #: admin/fai/class_faiDiskEntry.inc:249 msgid "UUID" msgstr "" #: admin/fai/class_faiDiskEntry.inc:317 msgid "Disks" msgstr "" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "Tamanho" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "" #: admin/fai/class_faiDiskEntry.inc:501 #, fuzzy msgid "encrypted" msgstr "Impor conexões criptografadas" #: admin/fai/class_faiDiskEntry.inc:504 #, fuzzy msgid "boot able" msgstr "Conjunto de redirecionamento" #: admin/fai/class_faiDiskEntry.inc:507 #, fuzzy msgid "preserve" msgstr "Preservar" #: admin/fai/class_faiDiskEntry.inc:678 msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "" #: admin/fai/class_faiDiskEntry.inc:682 msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "" #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 #, fuzzy msgid "FAI profile" msgstr "Falha removendo perfil FAI" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 #, fuzzy msgid "FAI classes" msgstr "Classes FAI" #: admin/fai/faiProfile.tpl:35 #, fuzzy msgid "Choose a priority" msgstr "Escolha a prioridade" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 #, fuzzy msgid "FAI script" msgstr "Falha removendo script FAI" #: admin/fai/faiScriptEntry.tpl:32 #, fuzzy msgid "Script attributes" msgstr "Atributos do script" #: admin/fai/faiScriptEntry.tpl:34 #, fuzzy msgid "Priority configuration" msgstr "Configuração do PHP" #: admin/fai/faiScriptEntry.tpl:36 #, fuzzy msgid "Priority" msgstr "Prioridade" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "" #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 #, fuzzy msgid "Script" msgstr "Script" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 #, fuzzy msgid "Edit anyway" msgstr "Editar de qualquer maneira" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 #, fuzzy msgid "Import script" msgstr "Importar script" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 #, fuzzy msgid "List of scripts" msgstr "Lista dos scripts" #: admin/fai/faiPackage.tpl:2 #, fuzzy msgid "FAI package" msgstr "lista de arquivos do pacote '%.250s'" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 #, fuzzy msgid "Repository" msgstr "Repositório" #: admin/fai/faiPackage.tpl:31 #, fuzzy msgid "Repository settings" msgstr "Serviço DNS" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 #, fuzzy msgid "Release" msgstr "Release" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 #, fuzzy msgid "Section" msgstr "Seção" #: admin/fai/faiPackage.tpl:47 #, fuzzy msgid "Install method" msgstr "Método de instalação" #: admin/fai/faiPackage.tpl:51 #, fuzzy msgid "Please select the installation method" msgstr "Por favor verifique a sua instalação." #: admin/fai/faiPackage.tpl:62 #, fuzzy msgid "Package settings" msgstr "Configurações do Samba" #: admin/fai/faiPackage.tpl:65 #, fuzzy msgid "Used packages" msgstr "Pacotes usados" #: admin/fai/faiPackage.tpl:76 #, fuzzy msgid "Add from list" msgstr "Adicionar da lista" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 #, fuzzy msgid "Please select the desired entries" msgstr "Por favor selecione as entradas desejadas" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 #, fuzzy msgid "FAI" msgstr "FAI" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 #, fuzzy msgid "Properties" msgstr "Propriedade" #: admin/fai/classSelect/class_classSelect.inc:29 msgid "Class selection" msgstr "" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 #, fuzzy msgid "Default filter" msgstr "Aplicar filtro" #: admin/fai/faiHook.tpl:31 #, fuzzy msgid "List of hooks" msgstr "Comando auxiliar para alteração de senha" #: admin/fai/faiHook.tpl:34 #, fuzzy msgid "List of hook scripts" msgstr "Comando auxiliar para alteração de senha" #: admin/fai/class_faiProfile.inc:105 #, fuzzy msgid "Types" msgstr "Tipo" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 #, fuzzy msgid "Hook bundle" msgstr "Conjunto de redirecionamento" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 #, fuzzy msgid "Template bundle" msgstr "Conjunto de modelo" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 #, fuzzy msgid "Script bundle" msgstr "Conjunto de script" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 #, fuzzy msgid "Variable bundle" msgstr "Conjunto de variável" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 #, fuzzy msgid "Package bundle" msgstr "Conjunto de redirecionamento" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 #, fuzzy msgid "Partition table" msgstr "Tabela de partição" #: admin/fai/class_faiProfile.inc:185 #, fuzzy msgid "Remove class from profile" msgstr "Remover classe do perfil" #: admin/fai/class_faiProfile.inc:188 #, fuzzy msgid "Up" msgstr "Acima" #: admin/fai/class_faiProfile.inc:189 #, fuzzy msgid "Down" msgstr "Abaixo" #: admin/fai/class_faiProfile.inc:272 #, fuzzy msgid "No class specified for this profile!" msgstr "Não há arquivo de ajuda especificado para esta classe" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 #, fuzzy msgid "Profile" msgstr "Perfil" #: admin/fai/class_faiProfile.inc:365 #, fuzzy msgid "RDN for FAI profile storage." msgstr "Caminho dos perfis Kiosk" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 #, fuzzy msgid "FAI hook entry" msgstr "Falha removendo redirecionamento FAI" #: admin/fai/faiHookEntry.tpl:33 #, fuzzy msgid "Hook attributes" msgstr "Atributos do script" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 #, fuzzy msgid "Task" msgstr "Dias de tarefa" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "" #: admin/fai/class_faiManagement.inc:25 #, fuzzy msgid "Software deployment" msgstr "Distribuir aplicativo" #: admin/fai/class_faiManagement.inc:26 msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "" #: admin/fai/class_faiManagement.inc:208 #, fuzzy msgid "partition table" msgstr "Tabela de partição" #: admin/fai/class_faiManagement.inc:209 #, fuzzy msgid "script" msgstr "Script" #: admin/fai/class_faiManagement.inc:210 #, fuzzy msgid "hook" msgstr "Conjunto de redirecionamento" #: admin/fai/class_faiManagement.inc:211 #, fuzzy msgid "variable" msgstr "Conjunto de variável" #: admin/fai/class_faiManagement.inc:212 #, fuzzy msgid "template" msgstr "Modelo" #: admin/fai/class_faiManagement.inc:213 #, fuzzy msgid "package list" msgstr "Lista de pacotes" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Permission error" msgstr "Erro de permissão" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, fuzzy, php-format msgid "You have no permission to create a new %s!" msgstr "Vocẽ não tem permissão para criar o objeto:" #: admin/fai/class_faiManagement.inc:244 #, fuzzy msgid "profile" msgstr "Perfil" #: admin/fai/class_faiManagement.inc:398 #, fuzzy msgid "Branch locked" msgstr "Criar nova filial bloqueada" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "" #: admin/fai/class_faiManagement.inc:572 #, fuzzy msgid "FAI branch/freeze" msgstr "Criar nova filial" #: admin/fai/class_faiManagement.inc:575 #, fuzzy msgid "You have no permission to delete this release!" msgstr "Você não tem permissão para excluir esse objeto!" #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "Aviso" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 #, fuzzy msgid "Configuration" msgstr "Configuração" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Branch" msgstr "Criar nova filial" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 #, fuzzy msgid "Continue" msgstr "Continuar" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 #, fuzzy msgid "Service infrastructure" msgstr "Erro de infraestrutura" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 #, fuzzy msgid "Fatal error" msgstr "Erro fatal" #: admin/fai/class_faiManagement.inc:1003 #, fuzzy msgid "Freeze" msgstr "Congelar" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 #, fuzzy msgid "Package list" msgstr "Lista de pacotes" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 #, fuzzy msgid "Scripts" msgstr "Scripts" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 #, fuzzy msgid "Variables" msgstr "Variáveis" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 #, fuzzy msgid "Hooks" msgstr "Redirecionamentos" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 #, fuzzy msgid "Templates" msgstr "Modelos" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 #, fuzzy msgid "OPSI net boot product" msgstr "Mostrar clientes OPSI" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 #, fuzzy msgid "OPSI local boot product" msgstr "Mostrar clientes OPSI" #: admin/fai/class_faiManagement.inc:1228 #, fuzzy msgid "FAI releases" msgstr "Sumário FAI" #: admin/fai/class_faiManagement.inc:1229 #, fuzzy msgid "FAI release management" msgstr "Gerenciamento script de logon" #: admin/fai/class_faiManagement.inc:1285 #, fuzzy msgid "RDN for FAI storage." msgstr "Caminho para arquivos PPD" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "" #: admin/fai/class_faiVariableEntry.inc:91 msgid "Content" msgstr "" #: admin/fai/class_faiVariableEntry.inc:126 #, fuzzy msgid "Variable entry" msgstr "Entrada desconhecida '%s'!" #: admin/fai/class_faiVariableEntry.inc:127 #, fuzzy msgid "FAI variable entry " msgstr "Falha removendo a entrada de modelo FAI" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 #, fuzzy msgid "Variable content" msgstr "Conjunto de variável" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 msgid "Download" msgstr "Download" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 #, fuzzy msgid "Template" msgstr "Modelo" #: admin/fai/class_faiTemplate.inc:522 #, fuzzy msgid "FAI template" msgstr "Aplicar template" #: admin/fai/class_faiTemplate.inc:534 #, fuzzy msgid "RDN for FAI template storage." msgstr "Falha removendo a entrada de modelo FAI" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 #, fuzzy msgid "Read-only" msgstr "Somente leitura" #: admin/fai/paste_generic.tpl:2 #, fuzzy msgid "FAI settings" msgstr "Configurações de grupo" #: admin/fai/paste_generic.tpl:4 #, fuzzy msgid "Paste FAI class" msgstr "Classes FAI" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 #, fuzzy msgid "Class name" msgstr "Nome da classe:" #: admin/fai/remove_branch.tpl:6 msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" #: admin/fai/remove_branch.tpl:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" "Portanto - se você está certo - pressione 'Excluir' para continuar ou " "\"Cancelar\" para abortar." #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 #, fuzzy msgid "Create new FAI object" msgstr "Entre com o nome do objeto FAI" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 #, fuzzy msgid "Version" msgstr "Versão" #: admin/fai/packageSelect/class_packageSelect.inc:29 #, fuzzy msgid "Package selection" msgstr "Lista de pacotes" #: admin/fai/class_faiScript.inc:522 #, fuzzy msgid "RDN for FAI script storage." msgstr "Falha removendo script FAI" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 #, fuzzy msgid "LDAP error" msgstr "Erro LDAP" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 #, fuzzy msgid "Object" msgstr "Objeto" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1041 #, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "" #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "" #: admin/fai/class_FAI.inc:1077 #, fuzzy, php-format msgid "Creating copy of %s" msgstr "_Copiar Localização" #: admin/fai/class_FAI.inc:1080 #, fuzzy msgid "Processing" msgstr "" "%s: erro processando %s (--%s):\n" " %s\n" #: admin/fai/class_FAI.inc:1098 msgid "Could not create new release, the destination DN is already in use." msgstr "" #: admin/fai/class_FAI.inc:1111 msgid "Error while fetching source DN - aborted!" msgstr "" #: admin/fai/class_FAI.inc:1193 #, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "" #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 #, fuzzy msgid "file is empty" msgstr "O arquivo está vazio" #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 #, fuzzy msgid "Script entry" msgstr "Entrada desconhecida '%s'!" #: admin/fai/class_faiScriptEntry.inc:211 #, fuzzy msgid "FAI script entry" msgstr "Falha removendo script FAI" #: admin/fai/class_faiScriptEntry.inc:221 #, fuzzy msgid "Script Priority" msgstr "Escolha a prioridade" #: admin/fai/fai-list.xml:11 msgid "List of deployment classes and products" msgstr "" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 #, fuzzy msgid "Actions" msgstr "Ações" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 #, fuzzy msgid "Create" msgstr "Criar" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 #, fuzzy msgid "Variable" msgstr "Conjunto de variável" #: admin/fai/fai-list.xml:107 #, fuzzy msgid "Remove entries" msgstr "Remover usuário" #: admin/fai/fai-list.xml:118 #, fuzzy msgid "Create branch" msgstr "Liberar mensagem" #: admin/fai/fai-list.xml:125 #, fuzzy msgid "Create freeze" msgstr "Liberar mensagem" #: admin/fai/fai-list.xml:132 #, fuzzy msgid "Remove release" msgstr "Remover usuário" #: admin/fai/faiSummary.tpl:2 msgid "Summary of used FAI classes" msgstr "" #: admin/fai/faiSummary.tpl:5 #, fuzzy msgid "FAI object tree" msgstr "Árvore de objeto FAI" #: admin/fai/faiSummary.tpl:13 #, fuzzy msgid "Reload class and release configuration from parent object." msgstr "Recarregar configuração de classe e release do objeto pai." #: admin/fai/faiSummary.tpl:24 #, fuzzy msgid "You are not allowed to view the FAI summary." msgstr "Você não tem permissão para criar um snapshot para %s." #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" #: admin/fai/faiTemplate.tpl:30 #, fuzzy msgid "List of template files" msgstr "Lista dos arquivos de modelo" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 #, fuzzy msgid "Logical" msgstr "lógica" #: admin/fai/class_faiPartition.inc:165 #, fuzzy msgid "Primary" msgstr "primária" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "" #: admin/fai/class_faiPartition.inc:181 #, fuzzy msgid "fixed" msgstr "Strings _Fixas" #: admin/fai/class_faiPartition.inc:182 #, fuzzy msgid "dynamic" msgstr "dinâmico" #: admin/fai/class_faiPartition.inc:183 #, fuzzy msgid "remaining space" msgstr "Total de espaço frouxo: " #: admin/fai/class_faiPartition.inc:188 #, fuzzy msgid "KB" msgstr "KB" #: admin/fai/class_faiPartition.inc:189 #, fuzzy msgid "MB" msgstr "MB" #: admin/fai/class_faiPartition.inc:190 #, fuzzy msgid "GB" msgstr "GB" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "" #: admin/fai/class_faiPartition.inc:198 #, fuzzy msgid "always" msgstr "Aceitar sempre" #: admin/fai/class_faiPartition.inc:199 #, fuzzy msgid "reinstall" msgstr "Reinstalar" #: admin/fai/class_faiPartition.inc:203 #, fuzzy msgid "swap space" msgstr "Total de espaço frouxo: " #: admin/fai/class_faiPartition.inc:312 msgid "spare" msgstr "" #: admin/fai/class_faiPartition.inc:315 #, fuzzy msgid "missing" msgstr " Faltando: " #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Minimum partition size" msgstr "Tamanho em MB" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Maximum partition size" msgstr "Tamanho em MB" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 #, fuzzy msgid "FAI partition table" msgstr "Esvaziando a tabela de roteamento..." #: admin/fai/class_faiPartitionTable.inc:789 #, fuzzy msgid "RDN for FAI partition storage." msgstr "Esvaziando a tabela de roteamento..." #: admin/fai/faiVariableEntry.tpl:3 #, fuzzy msgid "FAI variable entry" msgstr "Falha removendo a entrada de modelo FAI" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 #, fuzzy msgid "Variable attributes" msgstr "Atributos do script" #: admin/fai/fai-filter.xml:18 #, fuzzy msgid "FAI objects" msgstr "Árvore de objeto FAI" #: admin/fai/fai-filter.xml:32 #, fuzzy msgid "Opsi packages" msgstr "Pacotes usados" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "" #: admin/fai/class_faiHookEntry.inc:229 #, fuzzy msgid "Hook entry" msgstr "Entrada desconhecida '%s'!" #: admin/fai/faiNewBranch.tpl:5 #, fuzzy msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" "Você está irá criar uma filial ou filial bloqueada. Esta ação clona uma " "release existente para um outro nome de release. As filiais podem ser " "modificadas. As classes FAI de filiais bloqueadas não podem ser modificadas, " "classes adicionais são possíveis. Os nomes da filial devem ser " "alfanuméricos, excluding os nomes reservados 'scripts', 'redirecionamentos', " "'partições', 'variáveis', 'modelos' e “fai”." #: admin/fai/faiNewBranch.tpl:7 msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" #: admin/fai/faiNewBranch.tpl:12 #, fuzzy msgid "Please enter a name for the branch" msgstr "Entre o nome do usuário para procurar por" #: admin/fai/faiNewBranch.tpl:23 #, fuzzy msgid "Processing the requested operation" msgstr "a operação solicitada requer privilégios de superusuário" #: admin/fai/faiNewBranch.tpl:24 #, fuzzy msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" "Tão logo a operação de tag tiver terminado, você pode ir para o final da " "página e pressione o botão 'Continuar' para continuar com o diálogo de " "gestão do departamento." #: admin/fai/faiNewBranch.tpl:29 #, fuzzy msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "" "Seu navegador não suporta iframes, por favor, use este link para executar a " "operação solicitada." #: admin/fai/faiNewBranch.tpl:31 #, fuzzy msgid "Perform requested operation." msgstr "a operação solicitada requer privilégios de superusuário" #: admin/fai/faiNewBranch.tpl:32 #, fuzzy msgid "Initiate operation" msgstr "Operação finalizada" #: admin/fai/askClassName.tpl:6 msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "" #: admin/fai/askClassName.tpl:17 #, fuzzy msgid "FAI class creator" msgstr "Classes FAI" #: admin/fai/askClassName.tpl:20 #, fuzzy msgid "Class settings" msgstr "Configurações de senha" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "" #: admin/fai/askClassName.tpl:43 #, fuzzy msgid "Class name selector" msgstr "Nome da classe:" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "" #: admin/fai/askClassName.tpl:57 #, fuzzy msgid "Choose class name" msgstr "Nome do grupo Posix" #: admin/fai/class_faiPackageConfiguration.inc:68 #, fuzzy, php-format msgid "Debconf information for package '%s'" msgstr "Pacote marcado para remoção" #: admin/fai/class_faiVariable.inc:386 #, fuzzy msgid "FAI variable" msgstr "Conjunto de variável" #: admin/fai/class_faiVariable.inc:399 #, fuzzy msgid "RDN for FAI variable storage." msgstr "Falha removendo a entrada de modelo FAI" #: admin/fai/faiPartition.tpl:2 #, fuzzy msgid "Partition" msgstr "Tabela de partição" #: admin/fai/faiPartition.tpl:4 #, fuzzy msgid "FAI partition" msgstr "Adicionar partição" #: admin/fai/faiPartition.tpl:80 #, fuzzy msgid "Resize existing partition" msgstr "DN não existente:" #: admin/fai/faiPartition.tpl:85 #, fuzzy msgid "Boot able" msgstr "Conjunto de redirecionamento" #: admin/fai/faiPartition.tpl:122 #, fuzzy msgid "Toggle missing" msgstr "%s está faltando" #: admin/fai/faiPartition.tpl:123 #, fuzzy msgid "Toggle spare" msgstr "Trocar admin" #: admin/fai/faiPartition.tpl:134 #, fuzzy msgid "File system" msgstr "Tipo de sistema de arquivo" #: admin/fai/faiPartition.tpl:141 #, fuzzy msgid "File system create options" msgstr "Opções de filtros adicional" #: admin/fai/faiPartition.tpl:151 #, fuzzy msgid "Encrypted" msgstr "Impor conexões criptografadas" #: admin/fai/faiPartition.tpl:153 #, fuzzy msgid "Tune options" msgstr "Opções de Correio" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "Estatus" #: admin/fai/class_faiPackage.inc:233 #, fuzzy msgid "Invalid package names" msgstr "Total de Nomes de Pacotes: " #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "" #: admin/fai/class_faiPackage.inc:424 #, fuzzy msgid "Configured" msgstr "não configurado" #: admin/fai/class_faiPackage.inc:430 #, fuzzy msgid "Package marked for removal" msgstr "Pacote marcado para remoção" #: admin/fai/class_faiPackage.inc:447 #, fuzzy msgid "Mark package for removal" msgstr "Pacote marcado para remoção" #: admin/fai/class_faiPackage.inc:453 #, fuzzy msgid "Configure this package" msgstr "pacote está configurado" #: admin/fai/class_faiPackage.inc:458 #, fuzzy msgid "Remove this package" msgstr "pacote está configurado" #: admin/fai/class_faiPackage.inc:537 #, fuzzy msgid "Please select a least one package!" msgstr "Por favor, selecione pelo menos um pacote" #: admin/fai/class_faiPackage.inc:541 msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "" #: admin/fai/class_faiPackage.inc:668 #, fuzzy msgid "Package" msgstr "Pacote" #: admin/fai/class_faiPackage.inc:669 #, fuzzy msgid "FAI Package list" msgstr "lista de arquivos do pacote '%.250s'" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "" #: admin/fai/class_faiPackage.inc:690 #, fuzzy msgid "Packages" msgstr "Pacotes" #: admin/fai/class_faiPackage.inc:692 #, fuzzy msgid "Install Method" msgstr "Método de instalação" #: admin/fai/class_faiPackage.inc:693 #, fuzzy msgid "Package configuration" msgstr "Configuração de Pacotes" #: admin/fai/class_faiTemplateEntry.inc:118 #, fuzzy msgid "no file uploaded yet" msgstr "Não existe arquivo enviado." #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:290 #, fuzzy msgid "Template entry" msgstr "Entrada desconhecida '%s'!" #: admin/fai/class_faiTemplateEntry.inc:300 #, fuzzy msgid "Template file" msgstr "" "\n" "Arquivo de configuração '%s'" #: admin/fai/class_faiTemplateEntry.inc:301 #, fuzzy msgid "Template path" msgstr "Caminho do script" #: admin/fai/class_faiTemplateEntry.inc:302 #, fuzzy msgid "File owner" msgstr "" "\n" "Arquivo de configuração '%s'" #: admin/fai/class_faiSummaryTab.inc:50 #, fuzzy msgid "Profiles" msgstr "Perfis" #: admin/fai/class_faiSummaryTab.inc:95 msgid "Unknown FAI information source!" msgstr "" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 #, fuzzy msgid "You can't use this plug-in until FAI is activated." msgstr "Você não pode usar esse plugin desde que FAI esteja ativado." #: admin/fai/class_faiSummaryTab.inc:228 #, fuzzy msgid "This object has no FAI classes assigned." msgstr "Este objeto não possui classe FAI atribuída." #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "Sumário FAI" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "" #: admin/fai/class_faiSummaryTab.inc:348 #, fuzzy msgid "No." msgstr "Nº" #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "" #: admin/fai/faiPartitionTable.tpl:38 #, fuzzy msgid "Discs" msgstr "Discos" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 #, fuzzy msgid "Add disk" msgstr "Rótulo do disco" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 #, fuzzy msgid "Add RAID" msgstr "operação de adição" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 #, fuzzy msgid "Add volume group" msgstr "Editar grupo de objeto" #: admin/fai/class_debconfTemplate.inc:208 msgid "This package has no debconf options." msgstr "" #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" #: admin/systems/services/repository/repository-list.xml:10 #, fuzzy msgid "List of repositories" msgstr "Recarregar lista" #: admin/systems/services/repository/repository-list.xml:14 #, fuzzy msgid "Service" msgstr "Serviço" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 #, fuzzy msgid "Sections" msgstr "Seções" #: admin/systems/services/repository/servRepositorySetup.tpl:3 #, fuzzy msgid "FAI Repository" msgstr "Repositório" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 #, fuzzy msgid "Parent server" msgstr "Mostrar servidor" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 #, fuzzy msgid "URL" msgstr "URL" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 #, fuzzy msgid "Repository service" msgstr "Serviço DNS" #: admin/systems/services/repository/class_servRepository.inc:158 #, fuzzy msgid "FAI release" msgstr "Liberar mensagem" #: admin/systems/services/repository/class_servRepository.inc:402 #, fuzzy msgid "Services" msgstr "Serviços" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" #: admin/systems/services/repository/class_servRepository.inc:424 msgid "Releases" msgstr "" #~ msgid "FS type" #~ msgstr "Tipo de FS" #~ msgid "FS option" #~ msgstr "Opção de FS" #, fuzzy #~ msgid "OPSI local product" #~ msgstr "desvio local a partir de: %s\n" #, fuzzy #~ msgid "reiser fs" #~ msgstr "Opções FS" #, fuzzy #~ msgid "FS options" #~ msgstr "Opções FS" #, fuzzy #~ msgid "" #~ "This includes all account data, system access rules, imap settings, etc. " #~ "for this user. Please double check if your really want to do this since " #~ "there is no way for GOsa to get your data back." #~ msgstr "" #~ "Isso inclui, para este usuário, todos os dados da conta, regras de " #~ "acesso, configurações imap e etc. Por favor, tenha certeza se quer " #~ "realmente fazer isso, pois o GOsa não tem como recuperar seus dados " #~ "anteriores." #~ msgid "Objects" #~ msgstr "Objetos" #~ msgid "Delete" #~ msgstr "Excluir" #, fuzzy #~ msgid "Filter" #~ msgstr "Filtro" #, fuzzy #~ msgid "Base" #~ msgstr "Base" #, fuzzy #~ msgid "Update" #~ msgstr "Atualizar" #, fuzzy #~ msgid "Submit" #~ msgstr "Enviar" #, fuzzy #~ msgid "This list displays all assigned class names for this profile." #~ msgstr "" #~ "Esta lista exibe todos os nomes de classes atribuídos a este perfil." #, fuzzy #~ msgid "edit" #~ msgstr "editar" #, fuzzy #~ msgid "delete" #~ msgstr "deletar" #, fuzzy #~ msgid "List of FAI objects (Fully Automatic Installation)" #~ msgstr "Lista dos objetos FAI (Instalação automática completa)" #, fuzzy #~ msgid "Information" #~ msgstr "Informação" #, fuzzy #~ msgid "" #~ "This menu allows you to select FAI class names and to add them to the " #~ "currently edited profile." #~ msgstr "" #~ "Este menu permite selecionar nomes de classes FAI e acrescentá-los no " #~ "perfil atualmente editado." #, fuzzy #~ msgid "Filters" #~ msgstr "Filtros" #, fuzzy #~ msgid "Show only classes with templates" #~ msgstr "Exibir somente classes com modelos" #, fuzzy #~ msgid "Show only classes with scripts" #~ msgstr "Exibir somente classes com scripts" #, fuzzy #~ msgid "Show only classes with hooks" #~ msgstr "Exibir somente classes com redirecionamentos" #, fuzzy #~ msgid "Show only classes with variables" #~ msgstr "Exibir somente classes com variáveis" #, fuzzy #~ msgid "Show only classes with packages" #~ msgstr "Exibir somente classes com pacotes" #, fuzzy #~ msgid "Show only classes with partitions" #~ msgstr "Exibir somente classes com partições" #, fuzzy #~ msgid "Display objects matching" #~ msgstr "Exibir combinação de objetos" #, fuzzy #~ msgid "Regular expression for matching object names" #~ msgstr "Expressões regulares para correspondência nomes de objeto" #, fuzzy #~ msgid "Sort direction" #~ msgstr "Direção de ordenação" #, fuzzy #~ msgid "Action" #~ msgstr "Ação" #, fuzzy #~ msgid "Current release" #~ msgstr "Release atual" #, fuzzy #~ msgid "Delete current release" #~ msgstr "Deletar release atual" #, fuzzy #~ msgid "Show profiles" #~ msgstr "Mostrar departamentos" #, fuzzy #~ msgid "Show templates" #~ msgstr "Mostrar modelos" #, fuzzy #~ msgid "Show scripts" #~ msgstr "Script de logon" #, fuzzy #~ msgid "Show hooks" #~ msgstr "Mostrar departamentos" #, fuzzy #~ msgid "Show variables" #~ msgstr "Mostrar departamentos" #, fuzzy #~ msgid "Show packages" #~ msgstr "Pacotes usados" #, fuzzy #~ msgid "Show partitions" #~ msgstr "Mostrar departamentos" #, fuzzy #~ msgid "Show netboot products" #~ msgstr "Mostrar grupos primários" #, fuzzy #~ msgid "Show localboot products" #~ msgstr "Mostrar grupos primários" #, fuzzy #~ msgid "Open" #~ msgstr "Abrir" #, fuzzy #~ msgid "Close" #~ msgstr "Fechar" gosa-plugin-fai-2.7.4/locale/es/0000755000175000017500000000000011752422555015360 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/es/LC_MESSAGES/0000755000175000017500000000000011752422555017145 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/es/LC_MESSAGES/messages.po0000644000175000017500000020063611475426262021324 0ustar cajuscajus# translation of admin.po to # translation of systems.po to # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # , 2010. msgid "" msgstr "" "Project-Id-Version: admin\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: 2010-01-28 23:35+0100\n" "Last-Translator: \n" "Language-Team: Spanish <>\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "Genérico" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 msgid "FAI template entry" msgstr "Entrada de plantilla FAI" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 #, fuzzy msgid "Generic settings" msgstr "Parámetros genéricos del usuario" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 msgid "File name" msgstr "Nombre de archivo" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 msgid "Destination path" msgstr "Ruta de destino" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "Descripción" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 msgid "Template attributes" msgstr "Atributos de la plantilla" #: admin/fai/faiTemplateEntry.tpl:44 #, fuzzy msgid "Template file status" msgstr "Fichero de plantilla" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 msgid "File" msgstr "Archivo" #: admin/fai/faiTemplateEntry.tpl:50 msgid "Save template" msgstr "Guardar plantilla" #: admin/fai/faiTemplateEntry.tpl:51 msgid "Edit template" msgstr "Editar plantilla" #: admin/fai/faiTemplateEntry.tpl:58 msgid "Full path" msgstr "Ruta completa" #: admin/fai/faiTemplateEntry.tpl:70 msgid "Upload" msgstr "Enviar" #: admin/fai/faiTemplateEntry.tpl:77 #, fuzzy msgid "File attributes" msgstr "Atributos de las variables" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "Propietario" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "Grupo" #: admin/fai/faiTemplateEntry.tpl:99 msgid "Access" msgstr "Acceso" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 msgid "File permissions" msgstr "Permisos del archivo" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Class" msgstr "Clase" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Read" msgstr "Lectura" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Write" msgstr "Escritura" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "Ejecute" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Special" msgstr "Especial" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "Usuario" #: admin/fai/faiTemplateEntry.tpl:162 msgid "Others" msgstr "Otros" #: admin/fai/faiTemplateEntry.tpl:186 msgid "sticky" msgstr "estatico" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "Error" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "" "Ha fallado al mover el árbol. El árbol destino es subárbol del árbol raiz." #: admin/fai/class_faiTemplateEdit.inc:60 #, fuzzy, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" "La codificación del archivo ha cambiado de '%s' a '%s'.¿Quiere realmente " "grabarlo?" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 msgid "Device" msgstr "Dispositivo" #: admin/fai/faiDiskEntry.tpl:5 #, fuzzy msgid "FAI disk entry" msgstr "Entrada de método FAI" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 msgid "Disk options" msgstr "Opciones de disco" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "Nombre" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "clave fstab" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "Etiqueta de disco" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "Particiones físicas combinadas" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 msgid "Partition entries" msgstr "Entradas en la partición" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 msgid "Add partition" msgstr "Añadir partición" #: admin/fai/faiGroupHandle.tpl:3 msgid "Please select the objects you want to remove:" msgstr "Por favor seleccione los objetos que quiere eliminar:" #: admin/fai/faiGroupHandle.tpl:5 msgid "Select the object you want to edit:" msgstr "Seleccione el objeto que quiere editar:" #: admin/fai/faiGroupHandle.tpl:7 msgid "Select the object you want to copy:" msgstr "Seleccione el objeto que quiere copiar:" #: admin/fai/faiGroupHandle.tpl:12 #, fuzzy msgid "FAI group selection" msgstr "Parametros de grupos" #: admin/fai/faiGroupHandle.tpl:40 #, fuzzy msgid "Frozen" msgstr "Suspendido" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "primary" msgstr "primario" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "logical" msgstr "lógico" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "Tipo" #: admin/fai/class_faiPartitionTableEntry.inc:150 #, fuzzy msgid "Filesystem type" msgstr "Tipo de sistema de archivos" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 msgid "Mount point" msgstr "Punto de montaje" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 msgid "Size in MB" msgstr "Tamaño en Mb" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 msgid "Mount options" msgstr "Opciones de Montaje" #: admin/fai/class_faiPartitionTableEntry.inc:154 #, fuzzy msgid "Filesystem option" msgstr "Opciones del sistema de archivos" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 msgid "Preserve" msgstr "Preservar" #: admin/fai/class_faiPartitionTableEntry.inc:246 msgid "False" msgstr "Falso" #: admin/fai/class_faiPartitionTableEntry.inc:248 msgid "True" msgstr "Verdadero" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "Eliminar" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "por favor introduzca un único punto de montaje para la partición %s" #: admin/fai/class_faiPartitionTableEntry.inc:365 #, php-format msgid "partition %s mount point" msgstr "punto de montaje de la partición %s" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "" "El tipo de sistema de archivos 'swap' ya está en uso. Cambie el tipo de " "sistema de archivos para la partición %s." #: admin/fai/class_faiPartitionTableEntry.inc:374 #, fuzzy msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "" "Por favor, si usa 'swap' como sistema de archivos, use 'swap' como punto de " "montaje." #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, php-format msgid "partition %s size" msgstr "tamaño partición %s" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "" "Tiene en la configuración mas de 3 entradas primarias en la tabla de " "particiones, por favor vuelva a comprobar la configuración." #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 msgid "Partition table entry" msgstr "Entrada en la tabla de particiones" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 msgid "FAI partition table entry" msgstr "Entrada en la tabla de particiones FAI" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 msgid "Partition type" msgstr "Tipo de partición" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 msgid "Partition no." msgstr "Nº de partición." #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 msgid "File system type" msgstr "Tipo de sistema de archivos" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 msgid "Partition size" msgstr "Tamaño de la partición" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 msgid "File system options" msgstr "Opciones del sistema de archivos" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 msgid "Partition flags" msgstr "Atributos de la partición" #: admin/fai/faiVariable.tpl:32 msgid "List of assigned variables" msgstr "Lista de variables asignadas" #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "Elegir una variable para eliminar o editar" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "Editar" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 msgid "Hook" msgstr "Método" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 msgid "FAI hook" msgstr "Método FAI" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 msgid "Read only" msgstr "Solo lectura" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 msgid "Options" msgstr "Opciones" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "Etiqueta" #: admin/fai/class_faiDiskEntry.inc:249 msgid "UUID" msgstr "UUID" #: admin/fai/class_faiDiskEntry.inc:317 msgid "Disks" msgstr "Discos" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "Tamaño" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "" "¡El disco no podrá ser eliminado mientras este usado por la definición de " "disco '%s'!" #: admin/fai/class_faiDiskEntry.inc:501 msgid "encrypted" msgstr "encriptado" #: admin/fai/class_faiDiskEntry.inc:504 #, fuzzy msgid "boot able" msgstr "inicializable" #: admin/fai/class_faiDiskEntry.inc:507 msgid "preserve" msgstr "preservar" #: admin/fai/class_faiDiskEntry.inc:678 msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "" "Tiene en la configuración mas de 4 entradas primarias en la tabla de " "particiones, por favor vuelva a comprobar la configuración." #: admin/fai/class_faiDiskEntry.inc:682 msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "" "Tiene en la configuración mas de 3 entradas primarias usando particiones " "lógicas, por favor vuelva a comprobar la configuración." #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 msgid "FAI profile" msgstr "Perfil FAI" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 msgid "FAI classes" msgstr "Clases FAI" #: admin/fai/faiProfile.tpl:35 msgid "Choose a priority" msgstr "Elija una prioridad" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 msgid "FAI script" msgstr "Script FAI" #: admin/fai/faiScriptEntry.tpl:32 msgid "Script attributes" msgstr "Parámetros del script" #: admin/fai/faiScriptEntry.tpl:34 #, fuzzy msgid "Priority configuration" msgstr "Descargar configuración" #: admin/fai/faiScriptEntry.tpl:36 msgid "Priority" msgstr "Prioridad" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "" "Elija una prioridad. Valores bajos iniciarán antes y valores altos mas " "tarde, la ejecución." #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 msgid "Script" msgstr "Script" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 #, fuzzy msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" "Esta plantilla FAS está protegida contra escritura. ¡Editarla puede " "corromperla!" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 msgid "Edit anyway" msgstr "Editar de cualquier manera" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 msgid "Import script" msgstr "Importar script" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 msgid "List of scripts" msgstr "Lista de scripts" #: admin/fai/faiPackage.tpl:2 #, fuzzy msgid "FAI package" msgstr "Lista de paquetes FAI" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 msgid "Repository" msgstr "Repositorio" #: admin/fai/faiPackage.tpl:31 #, fuzzy msgid "Repository settings" msgstr "Servicio de repositorio" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 msgid "Release" msgstr "Versión" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 msgid "Section" msgstr "Sección" #: admin/fai/faiPackage.tpl:47 msgid "Install method" msgstr "Método de instalación" #: admin/fai/faiPackage.tpl:51 msgid "Please select the installation method" msgstr "Por favor seleccione un método de instalación." #: admin/fai/faiPackage.tpl:62 #, fuzzy msgid "Package settings" msgstr "Parámetros de correo" #: admin/fai/faiPackage.tpl:65 msgid "Used packages" msgstr "Paquetes usados" #: admin/fai/faiPackage.tpl:76 msgid "Add from list" msgstr "Añadir de la lista" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 msgid "Please select the desired entries" msgstr "Por favor seleccione las entradas que desee" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 msgid "FAI" msgstr "FAI" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 msgid "Properties" msgstr "Propiedades" #: admin/fai/classSelect/class_classSelect.inc:29 #, fuzzy msgid "Class selection" msgstr "Parametros de grupos" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 #, fuzzy msgid "Default filter" msgstr "Parámetro" #: admin/fai/faiHook.tpl:31 #, fuzzy msgid "List of hooks" msgstr "Lista de scripts de métodos" #: admin/fai/faiHook.tpl:34 msgid "List of hook scripts" msgstr "Lista de scripts de métodos" #: admin/fai/class_faiProfile.inc:105 #, fuzzy msgid "Types" msgstr "Tipo" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 msgid "Hook bundle" msgstr "Paquete de métodos" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 msgid "Template bundle" msgstr "Paquete de plantillas" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 msgid "Script bundle" msgstr "Paquete de scripts" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 msgid "Variable bundle" msgstr "Paquete de variables" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 msgid "Package bundle" msgstr "Conjunto de paquetes" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 msgid "Partition table" msgstr "Tabla de particiones" #: admin/fai/class_faiProfile.inc:185 msgid "Remove class from profile" msgstr "Eliminar clase del perfil" #: admin/fai/class_faiProfile.inc:188 msgid "Up" msgstr "Arriba" #: admin/fai/class_faiProfile.inc:189 msgid "Down" msgstr "Abajo" #: admin/fai/class_faiProfile.inc:272 msgid "No class specified for this profile!" msgstr "¡No se ha especificado una clase para este perfil!" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 msgid "Profile" msgstr "Perfil" #: admin/fai/class_faiProfile.inc:365 #, fuzzy msgid "RDN for FAI profile storage." msgstr "Ruta del almacén de perfiles kiosk" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 msgid "FAI hook entry" msgstr "Entrada de método FAI" #: admin/fai/faiHookEntry.tpl:33 msgid "Hook attributes" msgstr "Características del método" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 msgid "Task" msgstr "Tarea" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "Seleccionar una tarea FAI existente" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "" #: admin/fai/class_faiManagement.inc:25 msgid "Software deployment" msgstr "Desarrollo de software" #: admin/fai/class_faiManagement.inc:26 #, fuzzy msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "Gestionar paquetes de software y métodos de despliegue" #: admin/fai/class_faiManagement.inc:208 msgid "partition table" msgstr "Tabla de particiones" #: admin/fai/class_faiManagement.inc:209 msgid "script" msgstr "Script" #: admin/fai/class_faiManagement.inc:210 msgid "hook" msgstr "método" #: admin/fai/class_faiManagement.inc:211 msgid "variable" msgstr "Variable" #: admin/fai/class_faiManagement.inc:212 msgid "template" msgstr "plantilla" #: admin/fai/class_faiManagement.inc:213 msgid "package list" msgstr "lista de paquetes" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 msgid "Permission error" msgstr "Error de permisos" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, php-format msgid "You have no permission to create a new %s!" msgstr "¡No tiene permisos para crear un nuevo %s!" #: admin/fai/class_faiManagement.inc:244 msgid "profile" msgstr "perfil" #: admin/fai/class_faiManagement.inc:398 msgid "Branch locked" msgstr "Rama bloqueada" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "Las siguientes entradas están bloqueadas, no puede eliminar %s." #: admin/fai/class_faiManagement.inc:572 msgid "FAI branch/freeze" msgstr "Rama congelada FAI" #: admin/fai/class_faiManagement.inc:575 msgid "You have no permission to delete this release!" msgstr "¡No tiene permisos para eliminar esta versión!" #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "Aviso" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" "¡La eliminación de la versión ha sido cancelada al fallar la comprobación " "del nombre de la versión!" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 msgid "Configuration" msgstr "Configuración" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 msgid "Branch" msgstr "Rama" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 msgid "Continue" msgstr "Continuar" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 msgid "Service infrastructure" msgstr "Infraestructura de servicio" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 msgid "Fatal error" msgstr "Error fatal" #: admin/fai/class_faiManagement.inc:1003 msgid "Freeze" msgstr "Suspendido" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 msgid "Package list" msgstr "Lista de paquetes" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 msgid "Scripts" msgstr "Scripts" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 msgid "Variables" msgstr "Variables" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 msgid "Hooks" msgstr "Métodos" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 msgid "Templates" msgstr "Plantillas" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 #, fuzzy msgid "OPSI net boot product" msgstr "Producto de inicio en red OPSI" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 #, fuzzy msgid "OPSI local boot product" msgstr "Productos de inicio local OPSI" #: admin/fai/class_faiManagement.inc:1228 msgid "FAI releases" msgstr "Versiones FAI" #: admin/fai/class_faiManagement.inc:1229 msgid "FAI release management" msgstr "Administración de versiones FAI" #: admin/fai/class_faiManagement.inc:1285 #, fuzzy msgid "RDN for FAI storage." msgstr "Ruta del almacén PPD" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "" #: admin/fai/class_faiVariableEntry.inc:91 msgid "Content" msgstr "Contenido" #: admin/fai/class_faiVariableEntry.inc:126 msgid "Variable entry" msgstr "Entrada de variable" #: admin/fai/class_faiVariableEntry.inc:127 msgid "FAI variable entry " msgstr "Entrada de variable FAI" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 msgid "Variable content" msgstr "Contenido de variable" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 msgid "Download" msgstr "Descargar" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 msgid "Template" msgstr "Plantilla" #: admin/fai/class_faiTemplate.inc:522 msgid "FAI template" msgstr "Plantilla FAI" #: admin/fai/class_faiTemplate.inc:534 #, fuzzy msgid "RDN for FAI template storage." msgstr "Entrada de plantilla FAI" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 #, fuzzy msgid "Read-only" msgstr "Solo lectura" #: admin/fai/paste_generic.tpl:2 msgid "FAI settings" msgstr "Parámetros FAI" #: admin/fai/paste_generic.tpl:4 #, fuzzy msgid "Paste FAI class" msgstr "Clases FAI" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 msgid "Class name" msgstr "Nombre de clase" #: admin/fai/remove_branch.tpl:6 msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" "Se incluye toda las información de cuentas, reglas de acceso al sistema, " "etc. Para esta rama. Por favor pulse dos veces si quiere realmente hacer " "esto, ya que no hay manera de que GOsa recupere posteriormente la " "información." #: admin/fai/remove_branch.tpl:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" "Entonces, si esta seguro, presione Eliminar para continuar o " "Cancelar para Abortar." #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 msgid "Create new FAI object" msgstr "Crear nuevo objeto FAI" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 msgid "Version" msgstr "Versión" #: admin/fai/packageSelect/class_packageSelect.inc:29 #, fuzzy msgid "Package selection" msgstr "Parametros de grupos" #: admin/fai/class_faiScript.inc:522 #, fuzzy msgid "RDN for FAI script storage." msgstr "Entrada de script FAI" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 msgid "LDAP error" msgstr "Error LDAP" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "Error, los siguientes objetos deberían ser iguales '%s' y '%s'" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "Creando versión del grupo de aplicaciones para %s" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 msgid "Object" msgstr "Objeto" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "Añadiendo contenedor de la versión del grupo de aplicaciones %s." #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "Añadiendo contenedor de la versión del grupo de aplicaciones %s." #: admin/fai/class_FAI.inc:1041 #, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "" "No se puede crear la entrada de menú '%s', el nombre de destino ya existe." #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "Creado entrada del menú del grupo de aplicaciones para %s." #: admin/fai/class_FAI.inc:1077 #, php-format msgid "Creating copy of %s" msgstr "Creando una copia de %s" #: admin/fai/class_FAI.inc:1080 msgid "Processing" msgstr "Procesando" #: admin/fai/class_FAI.inc:1098 #, fuzzy msgid "Could not create new release, the destination DN is already in use." msgstr "No se puede crear nueva versión, el 'dn' de destino ya está en uso." #: admin/fai/class_FAI.inc:1111 #, fuzzy msgid "Error while fetching source DN - aborted!" msgstr "¡Se ha cancelado, ha habido un error mientras accedía al dn origen!" #: admin/fai/class_FAI.inc:1193 #, fuzzy, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "" "La creación de la versión ha fallado debido a errores ldap. Mas información " "'%s'." #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 msgid "file is empty" msgstr "el archivo está vacío" #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, fuzzy, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" "La codificación del archivo ha cambiado de '%s' a '%s'.¿Quiere realmente " "grabarlo?" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 msgid "Script entry" msgstr "Entrada de script" #: admin/fai/class_faiScriptEntry.inc:211 msgid "FAI script entry" msgstr "Entrada de script FAI" #: admin/fai/class_faiScriptEntry.inc:221 msgid "Script Priority" msgstr "Prioridad de script" #: admin/fai/fai-list.xml:11 msgid "List of deployment classes and products" msgstr "Lista de despliegue de clases y productos" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 msgid "Actions" msgstr "Acciones" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 msgid "Create" msgstr "Crear" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 msgid "Variable" msgstr "Variable" #: admin/fai/fai-list.xml:107 #, fuzzy msgid "Remove entries" msgstr "Eliminar usuario" #: admin/fai/fai-list.xml:118 #, fuzzy msgid "Create branch" msgstr "Crear" #: admin/fai/fai-list.xml:125 #, fuzzy msgid "Create freeze" msgstr "Crear versión" #: admin/fai/fai-list.xml:132 #, fuzzy msgid "Remove release" msgstr "Eliminar usuario" #: admin/fai/faiSummary.tpl:2 msgid "Summary of used FAI classes" msgstr "" #: admin/fai/faiSummary.tpl:5 msgid "FAI object tree" msgstr "Árbol de objetos FAI" #: admin/fai/faiSummary.tpl:13 msgid "Reload class and release configuration from parent object." msgstr "Recargar configuración de clases y versión desde el objeto superior." #: admin/fai/faiSummary.tpl:24 #, fuzzy msgid "You are not allowed to view the FAI summary." msgstr "No le está permitido ver el sumario FAI" #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" "Esta plantilla FAS está protegida contra escritura. ¡Editarla puede " "corromperla!" #: admin/fai/faiTemplate.tpl:30 msgid "List of template files" msgstr "Lista de ficheros plantillas" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 msgid "Logical" msgstr "Lógico" #: admin/fai/class_faiPartition.inc:165 msgid "Primary" msgstr "primario" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "RAID 0" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "RAID 1" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "RAID 5" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "RAID 6" #: admin/fai/class_faiPartition.inc:181 msgid "fixed" msgstr "estático" #: admin/fai/class_faiPartition.inc:182 msgid "dynamic" msgstr "dinámico" #: admin/fai/class_faiPartition.inc:183 msgid "remaining space" msgstr "espacio disponible" #: admin/fai/class_faiPartition.inc:188 msgid "KB" msgstr "KB" #: admin/fai/class_faiPartition.inc:189 msgid "MB" msgstr "MB" #: admin/fai/class_faiPartition.inc:190 msgid "GB" msgstr "GB" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "TB" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "PB" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "%" #: admin/fai/class_faiPartition.inc:198 msgid "always" msgstr "siempre" #: admin/fai/class_faiPartition.inc:199 msgid "reinstall" msgstr "reinstalar" #: admin/fai/class_faiPartition.inc:203 msgid "swap space" msgstr "espacio de intercambio" #: admin/fai/class_faiPartition.inc:312 msgid "spare" msgstr "repuesto" #: admin/fai/class_faiPartition.inc:315 msgid "missing" msgstr "falta" #: admin/fai/class_faiPartition.inc:402 msgid "Minimum partition size" msgstr "Tamaño mínimo de la partición" #: admin/fai/class_faiPartition.inc:402 msgid "Maximum partition size" msgstr "Tamaño máximo de la partición" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "¡La matriz de discos RAID debe tener al menos dos particiones!" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "" "¡La matriz de discos RAID 0 solo puede ser creada con al menos una " "combinación de dos particiones!" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 msgid "FAI partition table" msgstr "Tabla de particiones FAI" #: admin/fai/class_faiPartitionTable.inc:789 #, fuzzy msgid "RDN for FAI partition storage." msgstr "Tabla de particiones FAI" #: admin/fai/faiVariableEntry.tpl:3 #, fuzzy msgid "FAI variable entry" msgstr "Entrada de variable FAI" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 msgid "Variable attributes" msgstr "Atributos de las variables" #: admin/fai/fai-filter.xml:18 #, fuzzy msgid "FAI objects" msgstr "Objeto FAI" #: admin/fai/fai-filter.xml:32 #, fuzzy msgid "Opsi packages" msgstr "Paquetes usados" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "" #: admin/fai/class_faiHookEntry.inc:229 msgid "Hook entry" msgstr "Entrada de método" #: admin/fai/faiNewBranch.tpl:5 #, fuzzy msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" "Va a crear una rama o una rama suspendida. Esta acción clona la versión " "actual a otro nombre de versión. Las ramas se pueden modificar de la forma " "usual. Las clases FAI en ramas suspendidas no podrán se modificadas, solo " "sera posible añadir clases. Los nombres de las ramas deberán ser " "alfanuméricos, excluyendo las palabras reservadas " "'scripts','hooks','partitions','variables' y 'fai'." #: admin/fai/faiNewBranch.tpl:7 #, fuzzy msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" "Las ramas son creadas como subversiones de la rama seleccionada actualmente. " "Por ejemplo creando una nueva rama llamada 1.0.2 en SARGE, dará como " "resultado una nueva versión llamada SARGE/1.0.2." #: admin/fai/faiNewBranch.tpl:12 msgid "Please enter a name for the branch" msgstr "Por favor introduzca un nombre para la rama" #: admin/fai/faiNewBranch.tpl:23 msgid "Processing the requested operation" msgstr "Procesando la operación solicitada" #: admin/fai/faiNewBranch.tpl:24 #, fuzzy msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" "Tan pronto como la termine la operación copiar, podrá bajar al final de la " "página y presionar el botón 'Continuar' para continuar con el asistente de " "administración FAI." #: admin/fai/faiNewBranch.tpl:29 #, fuzzy msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "" "Su navegador no soporta IFRAMES, porfavor use este enlace para ejecutar la " "operación solicitada." #: admin/fai/faiNewBranch.tpl:31 msgid "Perform requested operation." msgstr "Ejecutar la operación solicitada" #: admin/fai/faiNewBranch.tpl:32 msgid "Initiate operation" msgstr "Iniciando operación" #: admin/fai/askClassName.tpl:6 #, fuzzy msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" "Añadir una nueva clase FAI al administrador FAI necesita un nombre de clase. " "Debe introducir un nombre de clase único para los tipos únicos de clases " "FAI, mientras puede usar el mismo nombre de clase para tipos diferentes de " "clases FAI. En este ultimo caso, FAI incluirá todos los tipos de clases " "diferentes en un nombre de clase único." #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "" "Por favor elija uno de los siguientes métodos para seleccionar el nombre de " "la nueva clase FAI." #: admin/fai/askClassName.tpl:17 #, fuzzy msgid "FAI class creator" msgstr "Clases FAI" #: admin/fai/askClassName.tpl:20 #, fuzzy msgid "Class settings" msgstr "Parámetros de Contraseña" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "Introduzca el nombre de la clase FAI manualmente" #: admin/fai/askClassName.tpl:43 #, fuzzy msgid "Class name selector" msgstr "Nombre de clase" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "Elija un nombre de clase FAI de la lista de clases existentes" #: admin/fai/askClassName.tpl:57 msgid "Choose class name" msgstr "Elija nombre de clase" #: admin/fai/class_faiPackageConfiguration.inc:68 #, php-format msgid "Debconf information for package '%s'" msgstr "Información debconf para el paquete '%s'" #: admin/fai/class_faiVariable.inc:386 msgid "FAI variable" msgstr "Variable FAI" #: admin/fai/class_faiVariable.inc:399 #, fuzzy msgid "RDN for FAI variable storage." msgstr "Entrada de variable FAI" #: admin/fai/faiPartition.tpl:2 msgid "Partition" msgstr "Partición" #: admin/fai/faiPartition.tpl:4 #, fuzzy msgid "FAI partition" msgstr "Añadir partición" #: admin/fai/faiPartition.tpl:80 msgid "Resize existing partition" msgstr "Redimensionar partición existente" #: admin/fai/faiPartition.tpl:85 #, fuzzy msgid "Boot able" msgstr "Inicializable" #: admin/fai/faiPartition.tpl:122 msgid "Toggle missing" msgstr "Cambiar fallo" #: admin/fai/faiPartition.tpl:123 msgid "Toggle spare" msgstr "Cambiar repuesto" #: admin/fai/faiPartition.tpl:134 #, fuzzy msgid "File system" msgstr "Sistemas de archivos" #: admin/fai/faiPartition.tpl:141 #, fuzzy msgid "File system create options" msgstr "Crear opciones del sistema de archivos" #: admin/fai/faiPartition.tpl:151 msgid "Encrypted" msgstr "Encriptado" #: admin/fai/faiPartition.tpl:153 msgid "Tune options" msgstr "Opciones de ajuste" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "Estado" #: admin/fai/class_faiPackage.inc:233 msgid "Invalid package names" msgstr "Nombre de paquete no válido" #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "Los siguientes nombres de paquetes no cumplen la política Debian: %s" #: admin/fai/class_faiPackage.inc:424 msgid "Configured" msgstr "Configurado" #: admin/fai/class_faiPackage.inc:430 msgid "Package marked for removal" msgstr "El paquete está marcado para eliminación" #: admin/fai/class_faiPackage.inc:447 msgid "Mark package for removal" msgstr "Marcar paquetes para eliminación" #: admin/fai/class_faiPackage.inc:453 msgid "Configure this package" msgstr "Configurar este paquete" #: admin/fai/class_faiPackage.inc:458 msgid "Remove this package" msgstr "Eliminar este paquete" #: admin/fai/class_faiPackage.inc:537 msgid "Please select a least one package!" msgstr "¡Por favor seleccione al menos un Paquete!" #: admin/fai/class_faiPackage.inc:541 msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "" "¡Por favor elija una versión/sección valida para la configuración de su " "catálogo!" #: admin/fai/class_faiPackage.inc:668 msgid "Package" msgstr "Paquete" #: admin/fai/class_faiPackage.inc:669 msgid "FAI Package list" msgstr "Lista de paquetes FAI" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "" #: admin/fai/class_faiPackage.inc:690 msgid "Packages" msgstr "Paquetes" #: admin/fai/class_faiPackage.inc:692 msgid "Install Method" msgstr "Método de instalación" #: admin/fai/class_faiPackage.inc:693 msgid "Package configuration" msgstr "Configuración paquete" #: admin/fai/class_faiTemplateEntry.inc:118 msgid "no file uploaded yet" msgstr "no se ha subido ningún archivo todavía" #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "existe en la base de datos (tamaño: %s bytes)" #: admin/fai/class_faiTemplateEntry.inc:290 msgid "Template entry" msgstr "Entrada de plantilla" #: admin/fai/class_faiTemplateEntry.inc:300 msgid "Template file" msgstr "Fichero de plantilla" #: admin/fai/class_faiTemplateEntry.inc:301 msgid "Template path" msgstr "Ruta de la plantilla" #: admin/fai/class_faiTemplateEntry.inc:302 msgid "File owner" msgstr "Propietario del archivo" #: admin/fai/class_faiSummaryTab.inc:50 msgid "Profiles" msgstr "Perfiles" #: admin/fai/class_faiSummaryTab.inc:95 msgid "Unknown FAI information source!" msgstr "¡Fuente de información FAI desconocida!" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 #, fuzzy msgid "You can't use this plug-in until FAI is activated." msgstr "No puede usar esta extensión hasta que FAI sea activado." #: admin/fai/class_faiSummaryTab.inc:228 msgid "This object has no FAI classes assigned." msgstr "Este objeto no tiene clases FAI asignadas." #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "Sumario FAI" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "" #: admin/fai/class_faiSummaryTab.inc:348 msgid "No." msgstr "No." #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "Use 'configurar-almacenamiento' para particionar el disco" #: admin/fai/faiPartitionTable.tpl:38 msgid "Discs" msgstr "Discos" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 msgid "Add disk" msgstr "Añadir disco" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 msgid "Add RAID" msgstr "Añadir RAID" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 msgid "Add volume group" msgstr "Añadir grupo de volumen" #: admin/fai/class_debconfTemplate.inc:208 msgid "This package has no debconf options." msgstr "Este paquete no tiene opciones de debconf." #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" "La cuestión debconf es generada dinámicamente durante la instalación del " "paquete y requiere elegir entre opciones especificas las cuales no pueden " "ser mostradas aquí. El texto introducido necesita ser una de las opciones " "válidas para tener funcionalidad." #: admin/systems/services/repository/repository-list.xml:10 msgid "List of repositories" msgstr "Lista de catálogos" #: admin/systems/services/repository/repository-list.xml:14 msgid "Service" msgstr "Servicio" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 msgid "Sections" msgstr "Secciones" #: admin/systems/services/repository/servRepositorySetup.tpl:3 #, fuzzy msgid "FAI Repository" msgstr "Repositorio" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 msgid "Parent server" msgstr "Servidor Origen" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 msgid "URL" msgstr "URL" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Repository service" msgstr "Servicio de repositorio" #: admin/systems/services/repository/class_servRepository.inc:158 msgid "FAI release" msgstr "Versión FAI" #: admin/systems/services/repository/class_servRepository.inc:402 msgid "Services" msgstr "Servicios" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" #: admin/systems/services/repository/class_servRepository.inc:424 msgid "Releases" msgstr "Versiones" #~ msgid "SUID" #~ msgstr "SUID" #~ msgid "SGID" #~ msgstr "SGID" #~ msgid "Freezed" #~ msgstr "Congelado" #~ msgid "FS type" #~ msgstr "Tipo de FS" #~ msgid "FS option" #~ msgstr "Opción de FS" #~ msgid "OPSI local product" #~ msgstr "Producto local OPSI" #~ msgid "ext2" #~ msgstr "ext2" #~ msgid "ext3" #~ msgstr "ext3" #~ msgid "ext4" #~ msgstr "ext4" #~ msgid "reiser fs" #~ msgstr "reiser fs" #~ msgid "xfs" #~ msgstr "xfs" #~ msgid "btrfs" #~ msgstr "btrfs" #~ msgid "FS options" #~ msgstr "Opciones FS" #~ msgid "" #~ "This includes all account data, system access rules, imap settings, etc. " #~ "for this user. Please double check if your really want to do this since " #~ "there is no way for GOsa to get your data back." #~ msgstr "" #~ "Esto incluye toda las información de cuentas, reglas de acceso al " #~ "sistema, configuración IMAP, etc. de este usuario. Si está seguro de lo " #~ "que quiere hacer pulse dos veces, ya que no hay manera de que GOsa " #~ "recupere posteriormente la información." #~ msgid "Objects" #~ msgstr "Objetos" #~ msgid "Delete" #~ msgstr "Eliminar" #~ msgid "Filter" #~ msgstr "Filtro" #~ msgid "Base" #~ msgstr "Base" #~ msgid "Update" #~ msgstr "Actualizar" #~ msgid "Submit" #~ msgstr "Enviar" #~ msgid "This list displays all assigned class names for this profile." #~ msgstr "Esta lista muestra todos las clases asignadas a este perfil." #~ msgid "edit" #~ msgstr "editar" #~ msgid "delete" #~ msgstr "eliminar" #~ msgid "List of FAI objects (Fully Automatic Installation)" #~ msgstr "Lista de objetos FAI (Instalación Completamente automática)" #~ msgid "Information" #~ msgstr "Información" #~ msgid "" #~ "This menu allows you to select FAI class names and to add them to the " #~ "currently edited profile." #~ msgstr "" #~ "Este menú le permite seleccionar nombres de clases FAI y añadirlas a el " #~ "perfil editado actualmente." #~ msgid "Filters" #~ msgstr "Filtros" #~ msgid "Show only classes with templates" #~ msgstr "Mostrar solo clases con plantillas" #~ msgid "Show only classes with scripts" #~ msgstr "Solo mostrar clases con scripts" #~ msgid "Show only classes with hooks" #~ msgstr "Solo mostrar clases con métodos" #~ msgid "Show only classes with variables" #~ msgstr "Mostrar solo clases con variables" #~ msgid "Show only classes with packages" #~ msgstr "Mostrar solo clases con paquetes" #~ msgid "Show only classes with partitions" #~ msgstr "Mostrar solo clases con particiones" #~ msgid "Display objects matching" #~ msgstr "Mostrar objetos que coincidan" #~ msgid "Regular expression for matching object names" #~ msgstr "Expresiones regulares para buscar nombre de objetos" #~ msgid "A maximum of 200 entries will be shown here." #~ msgstr "Un máximo de 200 entradas serán enseñadas." #~ msgid "Sort direction" #~ msgstr "Dirección de ordenación" #~ msgid "Action" #~ msgstr "Acción" #~ msgid "Current release" #~ msgstr "Versión actual" #~ msgid "Create read-only release" #~ msgstr "Crear versión de solo lectura" #~ msgid "Delete current release" #~ msgstr "Eliminar la versión actual" #~ msgid "Show profiles" #~ msgstr "Mostrar perfiles" #~ msgid "Show templates" #~ msgstr "Mostrar plantillas" #~ msgid "Show scripts" #~ msgstr "Mostrar scrips" #~ msgid "Show hooks" #~ msgstr "Mostrar metodos" #~ msgid "Show variables" #~ msgstr "Mostrar variables" #~ msgid "Show packages" #~ msgstr "Mostrar paquetes" #~ msgid "Show partitions" #~ msgstr "Mostrar particiones" #~ msgid "Show netboot products" #~ msgstr "Mostrar productos de inicio en red" #~ msgid "Show localboot products" #~ msgstr "Mostrar productos de inicio local" #~ msgid "Open" #~ msgstr "Abierto" #~ msgid "Close" #~ msgstr "Cerrar" #~ msgid "List of available packages" #~ msgstr "Lista de paquetes disponibles" #, fuzzy #~ msgid "" #~ "The search returned too many results, only the first 200 entries are " #~ "shown." #~ msgstr "" #~ "La busqueda ha devuelto demasiados reultados.¡No se muestran mas de %s " #~ "entradas!" #~ msgid "" #~ "This menu allows you to select multiple packages to add them to the " #~ "currently edited package list." #~ msgstr "" #~ "Este menú le permite seleccionara múltiples paquetes a añadir a la lista " #~ "de paquetes editados actualmente." #~ msgid "Please enter your search string here" #~ msgstr "Por favor introduzca una cadena de búsqueda" #~ msgid "" #~ "This list displays all assigned package names for this repository " #~ "settings." #~ msgstr "" #~ "Esta lista muestra todos los nombre de paquetes configurados en este " #~ "catálogo." #~ msgid "" #~ "This includes 'all' object information. Please double check if your " #~ "really want to do this since there is no way for GOsa to get your data " #~ "back." #~ msgstr "" #~ "Esto incluye todo la información de objeto. Si está seguro de lo " #~ "que quiere hacer pulse dos veces, ya que una vez hecho esto, no hay forma " #~ "de que GOsa recupere la información." #~ msgid "" #~ "Best thing to do before performing this action would be to save the " #~ "current contents of your LDAP tree in a file. So - if you've done so - " #~ "press 'Delete' to continue or 'Cancel' to abort." #~ msgstr "" #~ "La mejor opción antes de ejecutar esta acción es haber grabado el " #~ "contenido actual de su árbol LDAP en un fichero. Entonces - Y solo " #~ "entonces - presione 'Eliminar' para continuar o 'Cancelar' para abortar." #~ msgid "Select the object you want to cut:" #~ msgstr "Seleccione el objeto que quiere mover:" #~ msgid "" #~ "The selected release is not available anymore. All triggered actions are " #~ "skipped." #~ msgstr "" #~ "La versión seleccionada no esta mas disponible. Todas las acciones " #~ "relacionadas no se efectuarán." #~ msgid "Use" #~ msgstr "Usar" #~ msgid "A new class name." #~ msgstr "Un nuevo nombre de clase." #~ msgid "List of classes" #~ msgstr "Lista de clases" #~ msgid "Select all" #~ msgstr "Seleccione todos" #~ msgid "Class types" #~ msgstr "Tipos de clases" #~ msgid "Display objects of type '%s'." #~ msgstr "Mostrar los objetos del tipo '%s'." #~ msgid "Display users matching" #~ msgstr "Mostrar usuarios que coincidan con" #~ msgid "PT" #~ msgstr "PT" #~ msgid "S" #~ msgstr "S" #~ msgid "H" #~ msgstr "H" #~ msgid "V" #~ msgstr "V" #~ msgid "Templates " #~ msgstr "Plantillas " #~ msgid "I" #~ msgstr "I" #~ msgid "PK" #~ msgstr "PK" #~ msgid "Number of listed %s" #~ msgstr "Número de mostrados %s" #~ msgid "profiles" #~ msgstr "perfiles" #~ msgid "partitions" #~ msgstr "particiones" #~ msgid "scripts" #~ msgstr "scripts" #~ msgid "hooks" #~ msgstr "métodos" #~ msgid "variables" #~ msgstr "variables" #~ msgid "templates" #~ msgstr "plantillas" #~ msgid "packages" #~ msgstr "paquetes" #~ msgid "departments" #~ msgstr "departamentos" #~ msgid "netboot products" #~ msgstr "productos de inicio en red" #~ msgid "localboot products" #~ msgstr "productos de inicio local" #~ msgid "This menu allows you to create, delete and edit repository settings." #~ msgstr "" #~ "Este menú le permite crear, eliminar y editar las configuraciones de " #~ "repositorio." #~ msgid "Add repository" #~ msgstr "Añadir catálogo" #, fuzzy #~ msgid "Partition start size" #~ msgstr "Variable" #, fuzzy #~ msgid "Partition stop size" #~ msgstr "Variable" #, fuzzy #~ msgid "Secondary" #~ msgstr "Sección" #, fuzzy #~ msgid "Raid 0" #~ msgstr "Recargar" #, fuzzy #~ msgid "Raid 1" #~ msgstr "Recargar" #, fuzzy #~ msgid "Raid 5" #~ msgstr "Recargar" #, fuzzy #~ msgid "Raid 6" #~ msgstr "Recargar" #, fuzzy #~ msgid "%s partition" #~ msgstr "Descripción" #, fuzzy #~ msgid "Number of listed '%s'" #~ msgstr "Nueva plantilla de Estación de trabajo" #, fuzzy #~ msgid "System deployment status" #~ msgstr "Sistema / Departamento" #, fuzzy #~ msgid "" #~ "This menu allows you to remove and change the properties of GOsa tasks." #~ msgstr "" #~ "Este menú le permite añadir, eliminar o configurar las propiedades de un " #~ "servicioespecíficos." #, fuzzy #~ msgid "List of queued jobs" #~ msgstr "Lista de Departamentos" #, fuzzy #~ msgid "Resume" #~ msgstr "Eliminar" #, fuzzy #~ msgid "Pause" #~ msgstr "Base" #, fuzzy #~ msgid "Target" #~ msgstr "Juego de caracteres" #, fuzzy #~ msgid "Schedule" #~ msgstr "PHP Schedule it" #, fuzzy #~ msgid "Move up" #~ msgstr "Mover" #, fuzzy #~ msgid "Move down" #~ msgstr "Mover" #, fuzzy #~ msgid "Execute now" #~ msgstr "Ejecute" #, fuzzy #~ msgid "Waiting" #~ msgstr "Aviso" #, fuzzy #~ msgid "Detection" #~ msgstr "Sección" #, fuzzy #~ msgid "Cannot update queue entry: %s" #~ msgstr "Crear nuevo departamento" #, fuzzy #~ msgid "Cannot load queue entries: %s" #~ msgstr "" #~ "La Autenticación como usuario '%s' en el servidor '%s'. ha tenido éxito." #, fuzzy #~ msgid "System deployment" #~ msgstr "Sistema / Departamento" #, fuzzy #~ msgid "System list" #~ msgstr "Sistema de confianza" #, fuzzy #~ msgid "ID" #~ msgstr "GID" #, fuzzy #~ msgid "Targets" #~ msgstr "Juego de caracteres" #, fuzzy #~ msgid "System / Department" #~ msgstr "Sistema / Departamento" #, fuzzy #~ msgid "Display users" #~ msgstr "Mostrar usuarios que coincidan con" #, fuzzy #~ msgid "Display groups" #~ msgstr "Mostrar grupos de correo" #~ msgid "Submit department" #~ msgstr "Enviar departamento" #, fuzzy #~ msgid "Abort installation" #~ msgstr "Estación de trabajo Windows" #, fuzzy #~ msgid "Reload GOto settings" #~ msgstr "Parámetros genéricos del usuario" #, fuzzy #~ msgid "Installation activation" #~ msgstr "Comprobación de la instalación" #, fuzzy #~ msgid "Reload LDAP config" #~ msgstr "Recargar lista" #, fuzzy #~ msgid "Time schedule" #~ msgstr "PHP Schedule it" #, fuzzy #~ msgid "Month" #~ msgstr "mes" #, fuzzy #~ msgid "Day" #~ msgstr "Mayo" #, fuzzy #~ msgid "Minute" #~ msgstr "Impresora" #, fuzzy #~ msgid "Subject" #~ msgstr "Objeto" #~ msgid "Add" #~ msgstr "Añadir" #~ msgid "Apply" #~ msgstr "Aplicar" #~ msgid "Cancel" #~ msgstr "Cancelar" #, fuzzy #~ msgid "Display server" #~ msgstr "Mostrar usuarios que coincidan con" #, fuzzy #~ msgid "Display workstation" #~ msgstr "Mostrar usuarios que coincidan con" #, fuzzy #~ msgid "Display object groups" #~ msgstr "Mostrar los grupos samba" #~ msgid "Server" #~ msgstr "Servidor" #~ msgid "Workstation" #~ msgstr "Estación de trabajo" #, fuzzy #~ msgid "Activate new" #~ msgstr "Activado" #, fuzzy #~ msgid "Progress" #~ msgstr "Propiedades" #, fuzzy #~ msgid "Sender" #~ msgstr "Sexo" #, fuzzy #~ msgid "Target users" #~ msgstr "Usuarios del dominio" #, fuzzy #~ msgid "Target groups" #~ msgstr "departamento" #, fuzzy #~ msgid "Available targets" #~ msgstr "Variable" #, fuzzy #~ msgid "Select to see object groups" #~ msgstr "Seleccione para ver los servidores" #, fuzzy #~ msgid "Show object groups" #~ msgstr "Mostrar los grupos samba" #~ msgid "Select to see servers" #~ msgstr "Seleccione para ver los servidores" #~ msgid "Show servers" #~ msgstr "Mostrar servidores" #, fuzzy #~ msgid "Select to see workstations" #~ msgstr "Mostrar estaciones de trabajo" #~ msgid "Show workstations" #~ msgstr "Mostrar estaciones de trabajo" #, fuzzy #~ msgid "Select to see incoming objects" #~ msgstr "Seleccione para buscar dentro de los subárboles" #~ msgid "Regular expression for matching group names" #~ msgstr "Expresión regular para buscar nombres de grupos" #, fuzzy #~ msgid "Available logs" #~ msgstr "Variable" #, fuzzy #~ msgid "MAC-address" #~ msgstr "Dirección" #, fuzzy #~ msgid "object group" #~ msgstr "Mostrar los grupos samba" #, fuzzy #~ msgid "IP-address" #~ msgstr "Dirección" #, fuzzy #~ msgid "Browse" #~ msgstr "Base" #, fuzzy #~ msgid "MAC" #~ msgstr "ACL" #~ msgid "none" #~ msgstr "ninguno" #, fuzzy #~ msgid "Date" #~ msgstr "Eliminar" #, fuzzy #~ msgid "System mass deployment" #~ msgstr "Sistema / Departamento" #, fuzzy #~ msgid "Copy" #~ msgstr "copiar" #~ msgid "copy" #~ msgstr "copiar" #~ msgid "Copy this entry" #~ msgstr "Copiar esta entrada" #, fuzzy #~ msgid "Sudo generic" #~ msgstr "Genérico" #, fuzzy #~ msgid "Cut" #~ msgstr "mover" #~ msgid "cut" #~ msgstr "mover" #~ msgid "Cut this entry" #~ msgstr "Mover esta entrada" #, fuzzy #~ msgid "File system encryption" #~ msgstr "Ver la información de sistemas" #, fuzzy #~ msgid "Name is already in use!" #~ msgstr "El nombre introducido ya esta siendo usado" #, fuzzy #~ msgid "Please enter a script!" #~ msgstr "Por favor introduzca un número de serie válido" #, fuzzy #~ msgid "You have no permission to delete this entry!" #~ msgstr "¡No tiene permisos para eliminar este componente!" #~ msgid "You're about to delete the following entry %s" #~ msgstr "Has decidido eliminar la siguiente entrada %s" #~ msgid "You're about to delete the following entries %s" #~ msgstr "Has decidido eliminar las siguientes entradas %s" #~ msgid "Ok" #~ msgstr "Ok" #, fuzzy #~ msgid "There is already a template with the given name." #~ msgstr "Ya se ha subido anteriormente un fichero con este nombre." #, fuzzy #~ msgid "Please specify a valid value for attribute 'Destination path'." #~ msgstr "Por favor introduzca un valor para '%s' valido." #, fuzzy #~ msgid "Please enter a file name." #~ msgstr "Por favor introduzca un número de serie válido" #, fuzzy #~ msgid "There is already a variable with the given name." #~ msgstr "Ya se ha subido anteriormente un fichero con este nombre." #, fuzzy #~ msgid "Number of listed departments" #~ msgstr "Eliminar departamentos seleccionados" #~ msgid "Back" #~ msgstr "Atrás" #, fuzzy #~ msgid "There is already a hook with the given name." #~ msgstr "Ya se ha subido anteriormente un fichero con este nombre." #, fuzzy #~ msgid "There is already a script with the given name." #~ msgstr "Ya se ha subido anteriormente un fichero con este nombre." #, fuzzy #~ msgid "There is already a FAI object with this class name defined." #~ msgstr "Ya se ha subido anteriormente un fichero con este nombre." gosa-plugin-fai-2.7.4/locale/de/0000755000175000017500000000000011752422555015341 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/de/LC_MESSAGES/0000755000175000017500000000000011752422555017126 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/de/LC_MESSAGES/messages.po0000644000175000017500000016530211475426262021305 0ustar cajuscajus# translation of messages.po to deutsch # translation of messages.po to # GOsa2 Translations # Copyright (C) 2003 GONICUS GmbH, Germany # This file is distributed under the same license as the GOsa2 package. # # # Alfred Schroeder , 2004. # Cajus Pollmeier , 2004, 2005, 2006, 2008, 2009. # Jan Wenzel , 2004,2005, 2008. # Stefan Koehler , 2005. msgid "" msgstr "" "Project-Id-Version: messages\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: 2010-09-15 08:38+0100\n" "Last-Translator: Fabian Hickert \n" "Language-Team: de \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "Allgemein" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 msgid "FAI template entry" msgstr "FAI-Vorlagen-Eintrag" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 msgid "Generic settings" msgstr "Allgemeine Benutzereinstellungen" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 msgid "File name" msgstr "Dateiname" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 msgid "Destination path" msgstr "Ziel-Pfad" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "Beschreibung" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 msgid "Template attributes" msgstr "Vorlagen-Attribute" #: admin/fai/faiTemplateEntry.tpl:44 msgid "Template file status" msgstr "Vorlagen-Datei Status" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 msgid "File" msgstr "Datei" #: admin/fai/faiTemplateEntry.tpl:50 msgid "Save template" msgstr "Vorlage speichern" #: admin/fai/faiTemplateEntry.tpl:51 msgid "Edit template" msgstr "Vorlage bearbeiten" #: admin/fai/faiTemplateEntry.tpl:58 msgid "Full path" msgstr "Voller Pfad" #: admin/fai/faiTemplateEntry.tpl:70 msgid "Upload" msgstr "Hochladen" #: admin/fai/faiTemplateEntry.tpl:77 msgid "File attributes" msgstr "Datei-Attribute" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "Besitzer" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "Gruppe" #: admin/fai/faiTemplateEntry.tpl:99 msgid "Access" msgstr "Zugriff" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 msgid "File permissions" msgstr "Datei-Berechtigungen" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Class" msgstr "Klasse" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Read" msgstr "Lesen" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Write" msgstr "Schreiben" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "Ausführen" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Special" msgstr "Speziell" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "Benutzer" #: admin/fai/faiTemplateEntry.tpl:162 msgid "Others" msgstr "Andere" #: admin/fai/faiTemplateEntry.tpl:186 msgid "sticky" msgstr "sticky" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "Fehler" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "" "Verschieben des Baums ist fehlgeschlagen: Der Zielbaum ist ein Teilbaum des " "Quellbaumes." #: admin/fai/class_faiTemplateEdit.inc:60 #, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" "Die Datei-Kodierung hat sich von '%s' nach '%s' geändert. Wollen Sie sie " "speichern?" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 msgid "Device" msgstr "Gerät" #: admin/fai/faiDiskEntry.tpl:5 msgid "FAI disk entry" msgstr "FAI-Platten-Eintrag" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 msgid "Disk options" msgstr "Platten-Optionen" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "Name" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "fstab-Schlüssel" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "Disk-Label" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "Kombinierte physikalische Partitionen" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 msgid "Partition entries" msgstr "Partitions-Einträge" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 msgid "Add partition" msgstr "Partition hinzufügen" #: admin/fai/faiGroupHandle.tpl:3 msgid "Please select the objects you want to remove:" msgstr "Bitte wählen Sie die zu entfernenden Objekte:" #: admin/fai/faiGroupHandle.tpl:5 msgid "Select the object you want to edit:" msgstr "Wählen Sie die zu bearbeitenden Objekte" #: admin/fai/faiGroupHandle.tpl:7 msgid "Select the object you want to copy:" msgstr "Wählen Sie die zu kopierenden Objekte" #: admin/fai/faiGroupHandle.tpl:12 msgid "FAI group selection" msgstr "FAI Gruppen-Auswahl" #: admin/fai/faiGroupHandle.tpl:40 msgid "Frozen" msgstr "Eingefroren" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "primary" msgstr "primär" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "logical" msgstr "logisch" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "Typ" #: admin/fai/class_faiPartitionTableEntry.inc:150 msgid "Filesystem type" msgstr "Dateisystem-Typ" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 msgid "Mount point" msgstr "Mount-Punkt" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 msgid "Size in MB" msgstr "Größe in MB" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 msgid "Mount options" msgstr "Mount-Optionen" #: admin/fai/class_faiPartitionTableEntry.inc:154 msgid "Filesystem option" msgstr "Dateisystem-Optionen" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 msgid "Preserve" msgstr "Bewahren" #: admin/fai/class_faiPartitionTableEntry.inc:246 msgid "False" msgstr "falsch" #: admin/fai/class_faiPartitionTableEntry.inc:248 msgid "True" msgstr "wahr" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "Entfernen" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "Bitte geben Sie einen eindeutigen Mount-Punkt für Partition %s ein." #: admin/fai/class_faiPartitionTableEntry.inc:365 #, php-format msgid "partition %s mount point" msgstr "Einhängepfad für Partition %s" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "" "Dateisystem 'swap' wird bereits benutzt, ändern Sie bitte das Dateisystem " "für Partition %s." #: admin/fai/class_faiPartitionTableEntry.inc:374 msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "" "Bitte wählen Sie 'swap' als Mount-Punkt, wenn Dateisystem 'swap' gewählt " "wurde." #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, php-format msgid "partition %s size" msgstr "Größe der Partition %s" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "" "Sie haben mehr als 3 primäre Partitionen in ihrer Konfiguration. Bitte " "prüfen Sie die Konfiguration." #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 msgid "Partition table entry" msgstr "Partitionstabellen-Eintrag" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 msgid "FAI partition table entry" msgstr "FAI-Partitionstabellen-Eintrag" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 msgid "Partition type" msgstr "Partitionstyp" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 msgid "Partition no." msgstr "Partitionsnummer" #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 msgid "File system type" msgstr "Dateisystem-Typ" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 msgid "Partition size" msgstr "Partitionsgröße" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 msgid "File system options" msgstr "Dateisystem-Optionen" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 msgid "Partition flags" msgstr "Partitions-Flags" #: admin/fai/faiVariable.tpl:32 msgid "List of assigned variables" msgstr "Liste benutzter Variablen" #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "Wählen Sie eine Variable zum Entfernen oder Bearbeiten" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "Bearbeiten" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 msgid "Hook" msgstr "Hook" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 msgid "FAI hook" msgstr "FAI-Hook" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "RDN für die FAI-Hook Ablage" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 msgid "Read only" msgstr "Nur Lesen" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 msgid "Options" msgstr "Optionen" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "Label" #: admin/fai/class_faiDiskEntry.inc:249 msgid "UUID" msgstr "UUID" #: admin/fai/class_faiDiskEntry.inc:317 msgid "Disks" msgstr "Festplatten" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "Größe" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "" "Diese Festplatte kann nicht gelöscht werden solange sie von '%s' benutzt " "wird!" #: admin/fai/class_faiDiskEntry.inc:501 msgid "encrypted" msgstr "verschlüsselt" #: admin/fai/class_faiDiskEntry.inc:504 msgid "boot able" msgstr "bootbar" #: admin/fai/class_faiDiskEntry.inc:507 msgid "preserve" msgstr "bewahren" #: admin/fai/class_faiDiskEntry.inc:678 msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "" "Sie haben mehr als 4 primäre Partitionen in ihrer Konfiguration. Bitte " "prüfen Sie die Konfiguration." #: admin/fai/class_faiDiskEntry.inc:682 msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "" "Sie haben mehr als 3 primäre Partitionen bei gleichzeitiger Nutzung von " "logischen Partitionen in ihrer Konfiguration. Bitte prüfen Sie die " "Konfiguration." #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 msgid "FAI profile" msgstr "FAI-Profil" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 msgid "FAI classes" msgstr "FAI-Klassen" #: admin/fai/faiProfile.tpl:35 msgid "Choose a priority" msgstr "Wählen Sie eine Priorität" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 msgid "FAI script" msgstr "FAI-Skript" #: admin/fai/faiScriptEntry.tpl:32 msgid "Script attributes" msgstr "Skript-Attribute" #: admin/fai/faiScriptEntry.tpl:34 msgid "Priority configuration" msgstr "Priorität-Konfiguration" #: admin/fai/faiScriptEntry.tpl:36 msgid "Priority" msgstr "Priorität" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "" "Wählen Sie eine Priorität. Niedrige Werte bedeuten eine frühe, höhere Werte " "eine spätere Ausführung." #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 msgid "Script" msgstr "Skript" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" "Diese FAI-Skipt ist schreibgeschützt, aufgrund des verwendeten Zeichensatzes " "könnte ein Bearbeiten des Skriptes zu Datenverlust führen!" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 msgid "Edit anyway" msgstr "Trotzdem bearbeiten" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 msgid "Import script" msgstr "Skript importieren" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 msgid "List of scripts" msgstr "Liste der Skripte" #: admin/fai/faiPackage.tpl:2 msgid "FAI package" msgstr "FAI-Paketliste" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 msgid "Repository" msgstr "Repository" #: admin/fai/faiPackage.tpl:31 msgid "Repository settings" msgstr "Repositorien-Einstellungen" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 msgid "Release" msgstr "Release" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 msgid "Section" msgstr "Section" #: admin/fai/faiPackage.tpl:47 msgid "Install method" msgstr "Installations-Methode" #: admin/fai/faiPackage.tpl:51 msgid "Please select the installation method" msgstr "Bitte wählen Sie die Installations-Methode" #: admin/fai/faiPackage.tpl:62 msgid "Package settings" msgstr "Paketlisten-Einstellungen" #: admin/fai/faiPackage.tpl:65 msgid "Used packages" msgstr "Verwendete Pakete" #: admin/fai/faiPackage.tpl:76 msgid "Add from list" msgstr "Aus Liste hinzufügen" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 msgid "Please select the desired entries" msgstr "Bitte wählen Sie die gewünschten Einträge" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 msgid "FAI" msgstr "FAI" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 msgid "Properties" msgstr "Eigenschaften" #: admin/fai/classSelect/class_classSelect.inc:29 msgid "Class selection" msgstr "Klassen-Auswahl" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 msgid "Default filter" msgstr "Standard-Filter" #: admin/fai/faiHook.tpl:31 msgid "List of hooks" msgstr "Liste der Hook-Skripte" #: admin/fai/faiHook.tpl:34 msgid "List of hook scripts" msgstr "Liste der Hook-Skripte" #: admin/fai/class_faiProfile.inc:105 msgid "Types" msgstr "Typen" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 msgid "Hook bundle" msgstr "Hook-Gruppe" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 msgid "Template bundle" msgstr "Vorlagen-Gruppe" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 msgid "Script bundle" msgstr "Skript-Gruppe" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 msgid "Variable bundle" msgstr "Variablen-Gruppe" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 msgid "Package bundle" msgstr "Paket-Gruppe" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 msgid "Partition table" msgstr "Partitionstabelle" #: admin/fai/class_faiProfile.inc:185 msgid "Remove class from profile" msgstr "Entferne Klasse von Profil" #: admin/fai/class_faiProfile.inc:188 msgid "Up" msgstr "Auf" #: admin/fai/class_faiProfile.inc:189 msgid "Down" msgstr "Ab" #: admin/fai/class_faiProfile.inc:272 msgid "No class specified for this profile!" msgstr "Es wurde für dieses Profil keine Klasse definiert!" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 msgid "Profile" msgstr "Profil" #: admin/fai/class_faiProfile.inc:365 msgid "RDN for FAI profile storage." msgstr "RDN für die FAI-Profil Ablage" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 msgid "FAI hook entry" msgstr "FAI-Hook-Eintrag" #: admin/fai/faiHookEntry.tpl:33 msgid "Hook attributes" msgstr "Hook-Attribute" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 msgid "Task" msgstr "Aufgabe" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "Einen existierenden Task wählen" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "Die Ablage für FAI Objekte hat sich geändert!" #: admin/fai/class_faiManagement.inc:25 msgid "Software deployment" msgstr "Software-Verteilung" #: admin/fai/class_faiManagement.inc:26 msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "" "Software-Pakete und Installationsrichtlinien für Windows und Linux Systeme " "verwalten" #: admin/fai/class_faiManagement.inc:208 msgid "partition table" msgstr "Partitionstabelle" #: admin/fai/class_faiManagement.inc:209 msgid "script" msgstr "Skript" #: admin/fai/class_faiManagement.inc:210 msgid "hook" msgstr "Hook" #: admin/fai/class_faiManagement.inc:211 msgid "variable" msgstr "Variable" #: admin/fai/class_faiManagement.inc:212 msgid "template" msgstr "Vorlage" #: admin/fai/class_faiManagement.inc:213 msgid "package list" msgstr "Paketliste" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 msgid "Permission error" msgstr "Berechtigungsfehler" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, php-format msgid "You have no permission to create a new %s!" msgstr "" "Sie besitzen keine Berechtigung, um ein Objekt des Typs '%s' zu erstellen!" #: admin/fai/class_faiManagement.inc:244 msgid "profile" msgstr "Profil" #: admin/fai/class_faiManagement.inc:398 msgid "Branch locked" msgstr "Teilbaum gesperrt" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "" "Die folgenden Einträge sind gesperrt, Sie können diese nicht entfernen: %s." #: admin/fai/class_faiManagement.inc:572 msgid "FAI branch/freeze" msgstr "FAI Teilbaum/Freeze" #: admin/fai/class_faiManagement.inc:575 msgid "You have no permission to delete this release!" msgstr "Sie haben keine Berechtigung, dieses Release zu löschen!" #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "Warnung" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" "Das Entfernen der Release ist aufgrund einer fehlgeschlagenen " "Namensüberprüfung fehlgeschlagen!" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 msgid "Configuration" msgstr "Konfiguration" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 msgid "Branch" msgstr "Teilbaum" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 msgid "Continue" msgstr "Fortsetzen" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 msgid "Service infrastructure" msgstr "Dienst-Infrastruktur" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 msgid "Fatal error" msgstr "Schwerer Fehler" #: admin/fai/class_faiManagement.inc:1003 msgid "Freeze" msgstr "Freeze" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 msgid "Package list" msgstr "Paketliste" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 msgid "Scripts" msgstr "Skripte" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 msgid "Variables" msgstr "Variablen" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 msgid "Hooks" msgstr "Hooks" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 msgid "Templates" msgstr "Vorlagen" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 msgid "OPSI net boot product" msgstr "OPSI Netboot Produkt" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 msgid "OPSI local boot product" msgstr "OPSI Localboot-Produkt" #: admin/fai/class_faiManagement.inc:1228 msgid "FAI releases" msgstr "FAI Releases" #: admin/fai/class_faiManagement.inc:1229 msgid "FAI release management" msgstr "FAI Release-Verwaltung" #: admin/fai/class_faiManagement.inc:1285 msgid "RDN for FAI storage." msgstr "RDN für die FAI Ablage" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "Name der FAI-Standard Release." #: admin/fai/class_faiVariableEntry.inc:91 msgid "Content" msgstr "Inhalt" #: admin/fai/class_faiVariableEntry.inc:126 msgid "Variable entry" msgstr "Variablen-Eintrag" #: admin/fai/class_faiVariableEntry.inc:127 msgid "FAI variable entry " msgstr "FAI-Variablen-Eintrag" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 msgid "Variable content" msgstr "Variablen-Inhalt" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 msgid "Download" msgstr "Herunterladen" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 msgid "Template" msgstr "Vorlage" #: admin/fai/class_faiTemplate.inc:522 msgid "FAI template" msgstr "FAI-Vorlage" #: admin/fai/class_faiTemplate.inc:534 msgid "RDN for FAI template storage." msgstr "RDN für die FAI-Template Ablage" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 msgid "Read-only" msgstr "Nur Lesen" #: admin/fai/paste_generic.tpl:2 msgid "FAI settings" msgstr "FAI-Einstellungen" #: admin/fai/paste_generic.tpl:4 msgid "Paste FAI class" msgstr "FAI-Klasse einfügen" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 msgid "Class name" msgstr "Klassen-Name" #: admin/fai/remove_branch.tpl:6 msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" "Dies umfasst alle Kontodaten, Zugriffsregeln etc. für diesen Teilbaum. Bitte " "prüfen Sie genau, ob Sie dies wünschen, da es keine Möglichkeit gibt, diese " "Aktion rückgängig zu machen." #: admin/fai/remove_branch.tpl:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" "Wenn Sie sicher sind, drücken Sie 'Entfernen' um fortzufahren oder " "'Abbrechen' zum Abbruch." #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 msgid "Create new FAI object" msgstr "Erstelle neues FAI-Objekt" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 msgid "Version" msgstr "Version" #: admin/fai/packageSelect/class_packageSelect.inc:29 msgid "Package selection" msgstr "Paket-Auswahl" #: admin/fai/class_faiScript.inc:522 msgid "RDN for FAI script storage." msgstr "RDN für die FAI-Skript Ablage" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 msgid "LDAP error" msgstr "LDAP-Fehler" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "Fehler, die folgenden Objekte sollten gleich sein: '%s' und '%s'" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "Erstelle Gruppenanwendungsrelease für %s" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 msgid "Object" msgstr "Objekt" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "Füge fehlenden Gruppenanwendungsrelease-Container %s hinzu." #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "Füge Gruppenanwendungsrelease-Container %s hinzu." #: admin/fai/class_FAI.inc:1041 #, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "Kann den Menüeintrag %s nicht anlegen (existiert bereits)." #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "Menüeintrag für die Gruppenanwendung %s erstellt." #: admin/fai/class_FAI.inc:1077 #, php-format msgid "Creating copy of %s" msgstr "Erstelle Kopie von %s" #: admin/fai/class_FAI.inc:1080 msgid "Processing" msgstr "Verarbeite" #: admin/fai/class_FAI.inc:1098 msgid "Could not create new release, the destination DN is already in use." msgstr "" "Kann neues Release nicht erstellen, die Ziel-DN wird bereits verwendet." #: admin/fai/class_FAI.inc:1111 msgid "Error while fetching source DN - aborted!" msgstr "Fehler beim Abrufen des Quell-DN, der Vorgang wurde abgebrochen!" #: admin/fai/class_FAI.inc:1193 #, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "Das Erstellen des Releases ist fehlgeschlagen: '%s'." #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 msgid "file is empty" msgstr "Datei ist leer" #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" "Die Datei-Kodierung hat sich von '%s' nach '%s' geändert. Wollen Sie sie " "speichern?" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 msgid "Script entry" msgstr "Skript-Eintrag" #: admin/fai/class_faiScriptEntry.inc:211 msgid "FAI script entry" msgstr "FAI Skript-Eintrag" #: admin/fai/class_faiScriptEntry.inc:221 msgid "Script Priority" msgstr "Skript-Priorität" #: admin/fai/fai-list.xml:11 msgid "List of deployment classes and products" msgstr "Liste von zu verteilenden Klassen und Produkten" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 msgid "Actions" msgstr "Aktionen" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 msgid "Create" msgstr "Anlegen" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 msgid "Variable" msgstr "Variable" #: admin/fai/fai-list.xml:107 msgid "Remove entries" msgstr "Einträge entfernen" #: admin/fai/fai-list.xml:118 msgid "Create branch" msgstr "Teilbaum erzeugen" #: admin/fai/fai-list.xml:125 msgid "Create freeze" msgstr "Release erzeugen" #: admin/fai/fai-list.xml:132 msgid "Remove release" msgstr "Release entfernen" #: admin/fai/faiSummary.tpl:2 msgid "Summary of used FAI classes" msgstr "Zusammenfassung der verwendeten FAI Klassen" #: admin/fai/faiSummary.tpl:5 msgid "FAI object tree" msgstr "FAI-Objekthierarchie" #: admin/fai/faiSummary.tpl:13 msgid "Reload class and release configuration from parent object." msgstr "" "Klasse aktualisieren und Konfiguration vom übergeordneten Objekt freigeben." #: admin/fai/faiSummary.tpl:24 msgid "You are not allowed to view the FAI summary." msgstr "Sie haben keine Berechtigung, die FAI Zusammenfassung einzusehen." #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" "Diese Vorlage ist schreibgeschützt. Eine Bearbeitung kann sie zerstören!" #: admin/fai/faiTemplate.tpl:30 msgid "List of template files" msgstr "Liste der Vorlagen" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 msgid "Logical" msgstr "logisch" #: admin/fai/class_faiPartition.inc:165 msgid "Primary" msgstr "primär" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "RAID 0" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "RAID 1" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "RAID 5" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "RAID 6" #: admin/fai/class_faiPartition.inc:181 msgid "fixed" msgstr "fest" #: admin/fai/class_faiPartition.inc:182 msgid "dynamic" msgstr "dynamisch" #: admin/fai/class_faiPartition.inc:183 msgid "remaining space" msgstr "verbleibender Platz" #: admin/fai/class_faiPartition.inc:188 msgid "KB" msgstr "KB" #: admin/fai/class_faiPartition.inc:189 msgid "MB" msgstr "MB" #: admin/fai/class_faiPartition.inc:190 msgid "GB" msgstr "GB" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "TB" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "PB" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "%" #: admin/fai/class_faiPartition.inc:198 msgid "always" msgstr "immer" #: admin/fai/class_faiPartition.inc:199 msgid "reinstall" msgstr "bei Neuinstallation" #: admin/fai/class_faiPartition.inc:203 msgid "swap space" msgstr "Auslagerungsspeicher" #: admin/fai/class_faiPartition.inc:312 msgid "spare" msgstr "Reserve" #: admin/fai/class_faiPartition.inc:315 msgid "missing" msgstr "fehlt" #: admin/fai/class_faiPartition.inc:402 msgid "Minimum partition size" msgstr "Partitionsgröße" #: admin/fai/class_faiPartition.inc:402 msgid "Maximum partition size" msgstr "Partitionsgröße" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "RAID-Arrays müssen mindestens zwei Partitionen enthalten!" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "" "RAID 0 Arrays können nur in Kombination von zwei Partitionen realisiert " "werden!" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 msgid "FAI partition table" msgstr "FAI-Partitionstabelle" #: admin/fai/class_faiPartitionTable.inc:789 msgid "RDN for FAI partition storage." msgstr "RDN für die FAI-Partitionstabellen Ablage" #: admin/fai/faiVariableEntry.tpl:3 msgid "FAI variable entry" msgstr "FAI-Variablen-Eintrag" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 msgid "Variable attributes" msgstr "Variablen-Attribute" #: admin/fai/fai-filter.xml:18 msgid "FAI objects" msgstr "FAI-Objekte" #: admin/fai/fai-filter.xml:32 msgid "Opsi packages" msgstr "Opsi Pakete" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "FAI & Opsi Pakete" #: admin/fai/class_faiHookEntry.inc:229 msgid "Hook entry" msgstr "Hook-Eintrag" #: admin/fai/faiNewBranch.tpl:5 msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" "Sie sind dabei, einen neuen (evtl. gesperrten) Teilbaum zu erstellen. Diese " "Aktion klont das existierende Release auf einen anderen Releasenamen. " "Teilbäume können wie gewohnt bearbeitet werden. FAI-Klassen von gesperrten " "Teilbäumen können nicht bearbeitet werden, lediglich das Hinzufügen von " "Klassen ist möglich.Teilbaumnamen sollten alphanumerisch sein, reservierte " "Namen sind 'scripts', 'hooks', 'partitions', 'variables', 'templates' und " "'fai'. Diese können nicht verwendet werden." #: admin/fai/faiNewBranch.tpl:7 msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" "Teilbäume werden als Subrelease des momentan gewählten Teilbaums erstellt. " "Wenn Sie bspw. einen neuen Teilbaum namens 1.0.2 in SARGE erstellen, wird " "dieses Release SARGE/1.0.2 heissen." #: admin/fai/faiNewBranch.tpl:12 msgid "Please enter a name for the branch" msgstr "Bitte geben Sie einen Namen für den Teilbaum ein" #: admin/fai/faiNewBranch.tpl:23 msgid "Processing the requested operation" msgstr "Gewünschte Operation wird durchgeführt" #: admin/fai/faiNewBranch.tpl:24 msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" "Sobald der Vorgang abgeschlossen wurde, können Sie zum unteren Ende der " "Seite blättern und auf den 'Weiter'-Knopf drücken, um zum FAI-Verwaltungs-" "Dialog zu gelangen." #: admin/fai/faiNewBranch.tpl:29 msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "" "Ihr Browser unterstützt keine IFrames - bitte wählen Sie diesen Link, um die " "gewünschte Operation durchzuführen." #: admin/fai/faiNewBranch.tpl:31 msgid "Perform requested operation." msgstr "Gewünschte Operation durchführen." #: admin/fai/faiNewBranch.tpl:32 msgid "Initiate operation" msgstr "Operation initiieren" #: admin/fai/askClassName.tpl:6 msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" "Es wird ein Klassen-Name benötigt, um der FAI-Verwaltung eine neue Klasse " "hinzuzufügen. Dieser Klassen-Name muss lediglich für jeden Typ der FAI-" "Klasse eindeutig sein, d.h. Sie können den gleichen Klassen-Namen für " "verschiedene Typen von FAI-Klassen verwenden. In diesem Fall wird FAI " "automatisch all diese verschiedenen Typen mit einem eindeutigen Namen " "versehen." #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "" "Bitte verwenden Sie eine der folgenden Methoden um den Namen der neuen FAI-" "Klasse zu bestimmen." #: admin/fai/askClassName.tpl:17 msgid "FAI class creator" msgstr "FAI-Klassen Erzeuger" #: admin/fai/askClassName.tpl:20 msgid "Class settings" msgstr "Klassen Einstellungen" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "FAI-Klassen-Name manuell eingeben" #: admin/fai/askClassName.tpl:43 msgid "Class name selector" msgstr "Auswahl des Klassen-Namen" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "Verwenden Sie den Namen aus einer Liste bestehender Klassen." #: admin/fai/askClassName.tpl:57 msgid "Choose class name" msgstr "Wählen Sie den Klassen-Namen" #: admin/fai/class_faiPackageConfiguration.inc:68 #, php-format msgid "Debconf information for package '%s'" msgstr "Debconf-Information für Paket '%s'" #: admin/fai/class_faiVariable.inc:386 msgid "FAI variable" msgstr "FAI-Variable" #: admin/fai/class_faiVariable.inc:399 msgid "RDN for FAI variable storage." msgstr "RDN für die FAI-Variablen Ablage" #: admin/fai/faiPartition.tpl:2 msgid "Partition" msgstr "Partition" #: admin/fai/faiPartition.tpl:4 msgid "FAI partition" msgstr "FAI Partition" #: admin/fai/faiPartition.tpl:80 msgid "Resize existing partition" msgstr "Existierende Partition in Größe anpassen" #: admin/fai/faiPartition.tpl:85 msgid "Boot able" msgstr "Bootbar" #: admin/fai/faiPartition.tpl:122 msgid "Toggle missing" msgstr "Platte fehlt" #: admin/fai/faiPartition.tpl:123 msgid "Toggle spare" msgstr "Reserveplatte" #: admin/fai/faiPartition.tpl:134 msgid "File system" msgstr "Dateisystem" #: admin/fai/faiPartition.tpl:141 msgid "File system create options" msgstr "Dateisystem Erstell-Optionen" #: admin/fai/faiPartition.tpl:151 msgid "Encrypted" msgstr "Verschlüsselt" #: admin/fai/faiPartition.tpl:153 msgid "Tune options" msgstr "Optimierungs-Optionen" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "Status" #: admin/fai/class_faiPackage.inc:233 msgid "Invalid package names" msgstr "Ungültiger Paketname" #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "Der folgende Paketname erfüllt nicht die Debian-Richtlinie: %s" #: admin/fai/class_faiPackage.inc:424 msgid "Configured" msgstr "Konfiguriert" #: admin/fai/class_faiPackage.inc:430 msgid "Package marked for removal" msgstr "Paket zum Entfernen vorgemerkt" #: admin/fai/class_faiPackage.inc:447 msgid "Mark package for removal" msgstr "Paket zum Entfernen vormerken" #: admin/fai/class_faiPackage.inc:453 msgid "Configure this package" msgstr "Dieses Paket konfigurieren" #: admin/fai/class_faiPackage.inc:458 msgid "Remove this package" msgstr "Dieses Paket entfernen" #: admin/fai/class_faiPackage.inc:537 msgid "Please select a least one package!" msgstr "Bitte wählen Sie mindestens ein Paket!" #: admin/fai/class_faiPackage.inc:541 msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "" "Bitte wählen Sie eine gültige Kombination aus Release und Sektion für Ihr " "gewünschtes Repository!" #: admin/fai/class_faiPackage.inc:668 msgid "Package" msgstr "Paket" #: admin/fai/class_faiPackage.inc:669 msgid "FAI Package list" msgstr "FAI-Paketliste" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "RDN für die FAI-Paket Ablage" #: admin/fai/class_faiPackage.inc:690 msgid "Packages" msgstr "Pakete" #: admin/fai/class_faiPackage.inc:692 msgid "Install Method" msgstr "Installations-Methode" #: admin/fai/class_faiPackage.inc:693 msgid "Package configuration" msgstr "Paket-Konfiguration" #: admin/fai/class_faiTemplateEntry.inc:118 msgid "no file uploaded yet" msgstr "es wurde noch keine Datei hochgeladen." #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "existiert in der Datenbank (Größe: %s Bytes)" #: admin/fai/class_faiTemplateEntry.inc:290 msgid "Template entry" msgstr "Vorlagen-Eintrag" #: admin/fai/class_faiTemplateEntry.inc:300 msgid "Template file" msgstr "Vorlagen-Datei" #: admin/fai/class_faiTemplateEntry.inc:301 msgid "Template path" msgstr "Vorlagen-Pfad" #: admin/fai/class_faiTemplateEntry.inc:302 msgid "File owner" msgstr "Datei-Besitzer" #: admin/fai/class_faiSummaryTab.inc:50 msgid "Profiles" msgstr "Profile" #: admin/fai/class_faiSummaryTab.inc:95 msgid "Unknown FAI information source!" msgstr "Unbekannte FAI-Informationsquelle!" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 msgid "You can't use this plug-in until FAI is activated." msgstr "Sie können diese Erweiterung erst verwenden, wenn FAI aktiviert wurde." #: admin/fai/class_faiSummaryTab.inc:228 msgid "This object has no FAI classes assigned." msgstr "Diesem Objekt sind keine FAI-Klassen zugeordnet." #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "FAI Zusammenfassung" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "Zusammenfassung der FAI Klassen" #: admin/fai/class_faiSummaryTab.inc:348 msgid "No." msgstr "Nr." #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "Benutze 'setup-storage' um die Platte zu partitionieren" #: admin/fai/faiPartitionTable.tpl:38 msgid "Discs" msgstr "Festplatten" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 msgid "Add disk" msgstr "Platte hinzufügen" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 msgid "Add RAID" msgstr "RAID hinzufügen" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 msgid "Add volume group" msgstr "Volume-Gruppe hinzufügen" #: admin/fai/class_debconfTemplate.inc:208 msgid "This package has no debconf options." msgstr "Dieses Paket verfügt über keine debconf-Optionen." #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" "Diese Debconf-Frage wird während der Paket-Installation automatisch " "generiert und erfordert die Auswahl aus Möglichkeiten, die hier nicht " "dargestellt werden können. Der angegebene Wert muss einer dieser gültigen " "Auswahlmöglichkeiten entsprechen." #: admin/systems/services/repository/repository-list.xml:10 msgid "List of repositories" msgstr "Liste der Repositorien" #: admin/systems/services/repository/repository-list.xml:14 msgid "Service" msgstr "Dienste" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 msgid "Sections" msgstr "Sektionen" #: admin/systems/services/repository/servRepositorySetup.tpl:3 msgid "FAI Repository" msgstr "Repository" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 msgid "Parent server" msgstr "Quell-Server" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 msgid "URL" msgstr "URL" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Repository service" msgstr "Repositorien-Dienst" #: admin/systems/services/repository/class_servRepository.inc:158 msgid "FAI release" msgstr "FAI Release" #: admin/systems/services/repository/class_servRepository.inc:402 msgid "Services" msgstr "Dienste" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" "Skript zum Verwalten von Branch- und Freezevorgängen von FAI-Repositorien. Details " "entnehmen Sie bitte der FAQ." #: admin/systems/services/repository/class_servRepository.inc:424 msgid "Releases" msgstr "Releases" #~ msgid "" #~ "The 'faiBaseRDN' statement defines the location where new fai objects " #~ "will be created. The default is 'ou=fai,ou=configs,ou=systems,'." #~ msgstr "" #~ "Die 'faiBaseRDN' Option legt die Position fest, an welcher FAI Objekte im " #~ "LDAP abgelegt werden. Der Standard-Wert ist 'ou=fai,ou=configs," #~ "ou=systems,'." #~ msgid "" #~ "The 'defaultFaiRelease' property sets the default release, which gets " #~ "selected in the fai management." #~ msgstr "" #~ "Die 'defaultFaiRelease' Option setzt die Standard-Release, welche in der " #~ "FAI Verwaltung ausgewählt wird." #~ msgid "" #~ "The 'faiTemplateRDN' statement defines the location where new fai-" #~ "templates will be created. The default is 'ou=templates,'." #~ msgstr "" #~ "Die 'faiTemplateRDN' Option legt fest, an welcher Position neue FAI-" #~ "Templates im LDAP erstellt werden. Der Standart-Wert ist 'ou=templates,'." #~ msgid "" #~ "The 'faiProfileRDN' statement defines the location where new fai-profiles " #~ "will be created. The default is 'ou=profiles,'." #~ msgstr "" #~ "Die 'faiProfileRDN' Option legt fest, an welcher Position neue FAI-" #~ "Profile im LDAP erstellt werden. Der Standard-Wert ist 'ou=profiles,'." #~ msgid "" #~ "The 'faiScriptRDN' statement defines the location where new fai-scripts " #~ "will be created. The default is 'ou=scripts,'." #~ msgstr "" #~ "Die 'faiScriptRDN' Option legt fest, an welcher Position neue FAI-Skripte " #~ "im LDAP erstellt werden. Der Standard-Wert ist 'ou=scripts,'." #~ msgid "" #~ "The 'faiHookRDN' statement defines the location where new fai-hooks will " #~ "be created. The default is 'ou=hooks,'." #~ msgstr "" #~ "Die 'faiHookRDN' Option legt fest, an welcher Position neue FAI Hook-" #~ "Skripte im LDAP erstellt werden. Der Standard-Wert ist 'ou=hooks,'." #~ msgid "" #~ "The 'faiVariableRDN' statement defines the location where new fai-" #~ "variables will be created. The default is 'ou=variables,'." #~ msgstr "" #~ "Die 'faiVariableRDN' Option legt fest, an welcher Position neue FAI-" #~ "Variablen im LDAP erstellt werden. Der Standard-Wert ist 'ou=variables,'." #~ msgid "" #~ "The 'faiPackageRDN' statement defines the location where new fai-packages " #~ "will be created. The default is 'ou=packages,'." #~ msgstr "" #~ "Die 'faiPackageRDN' Option legt fest, an welcher Position neue FAI Paket-" #~ "Listen im LDAP erstellt werden. Der Standard-Wert ist 'ou=packages,'." #~ msgid "" #~ "The 'faiPartitionRDN' statement defines the location where new fai-" #~ "partitions will be created. The default is 'ou=disk,'." #~ msgstr "" #~ "Die 'faiPartitionRDN' Option legt fest, an welcher Position neue FAI-" #~ "Partitionstabellen im LDAP erstellt werden. Der Standard-Wert ist " #~ "'ou=disk,'." #~ msgid "" #~ "The FAI plugin can be used in a way that it generates branched or freezed " #~ "releases inside your repository. Specifying the 'postcreate' and " #~ "'postmodify' keywords in the 'Repository service', calls the provided " #~ "script as a hook when adding or removing branches. This script should do " #~ "the rest inside of your repository." #~ msgstr "" #~ "Die FAI Erweiterung kann so verwendet werden, dass diese Teilbäume und " #~ "eingefrorene Releases in Ihren Repository anlegt. Geben Sie dazu die " #~ "'postcreate' und 'postmodify' Schlüsselwörter für die Repository " #~ "Erweiterung an, die so angegebenen Skripte werden dann beim erstellen " #~ "oder löschen eines Teilbaumes aufgerufen. Die Skripte sollten dann den " #~ "Rest innerhalb Ihren Repositories übernehmen." #~ msgid "SUID" #~ msgstr "SUID" #~ msgid "SGID" #~ msgstr "SGID" #~ msgid "Freezed" #~ msgstr "Eingefroren" #~ msgid "FS type" #~ msgstr "Dateisystem" #~ msgid "FS option" #~ msgstr "Dateisystem-Option" #~ msgid "OPSI local product" #~ msgstr "OPSI Local-Produkt" #~ msgid "ext2" #~ msgstr "ext2" #~ msgid "ext3" #~ msgstr "ext3" #~ msgid "ext4" #~ msgstr "ext4" #~ msgid "reiser fs" #~ msgstr "reiser fs" #~ msgid "xfs" #~ msgstr "xfs" #~ msgid "btrfs" #~ msgstr "btrfs" #~ msgid "FS options" #~ msgstr "Dateisystem-Optionen" #~ msgid "" #~ "This includes all account data, system access rules, imap settings, etc. " #~ "for this user. Please double check if your really want to do this since " #~ "there is no way for GOsa to get your data back." #~ msgstr "" #~ "Dies umfasst alle Konto-Informationen, Zugriffsregeln, IMAP-" #~ "Einstellungen, etc. dieses Benutzers. Bitte prüfen Sie genau, da es keine " #~ "Möglichkeit für GOsa gibt, die Daten wiederherzustellen. " #~ msgid "Objects" #~ msgstr "Objekte" #~ msgid "Delete" #~ msgstr "Entfernen" #~ msgid "Filter" #~ msgstr "Filter" #~ msgid "Base" #~ msgstr "Basis" #~ msgid "Update" #~ msgstr "Aktualisieren" #~ msgid "Submit" #~ msgstr "Übertragen" #~ msgid "This list displays all assigned class names for this profile." #~ msgstr "Diese Liste zeigt alle diesem Profil zugeordneten Klassen-Namen." #~ msgid "edit" #~ msgstr "Bearbeiten" #~ msgid "delete" #~ msgstr "Entfernen" #~ msgid "List of FAI objects (Fully Automatic Installation)" #~ msgstr "Liste von FAI-Objekten" #~ msgid "Information" #~ msgstr "Information" #~ msgid "" #~ "This menu allows you to select FAI class names and to add them to the " #~ "currently edited profile." #~ msgstr "" #~ "Dieses Menü erlaubt es Ihnen, FAI Klassen-Namen auszuwählen und zum " #~ "gegenwärtig bearbeiteten Profil hinzuzufügen." #~ msgid "Filters" #~ msgstr "Filter" #~ msgid "Show only classes with templates" #~ msgstr "Zeige nur Klassen mit Vorlagen" #~ msgid "Show only classes with scripts" #~ msgstr "Zeige nur Klassen mit Skripten" #~ msgid "Show only classes with hooks" #~ msgstr "Zeige nur Klassen mit Hooks" #~ msgid "Show only classes with variables" #~ msgstr "Zeige nur Klassen mit Variablen" #~ msgid "Show only classes with packages" #~ msgstr "Zeige nur Klassen mit Paketen" #~ msgid "Show only classes with partitions" #~ msgstr "Zeige nur Klassen mit Partitionen" #~ msgid "Display objects matching" #~ msgstr "Zeige die Objekte, auf die Folgendes passt" #~ msgid "Regular expression for matching object names" #~ msgstr "Regulärer Ausdruck zum Erkennen von Objekt-Namen" #~ msgid "A maximum of 200 entries will be shown here." #~ msgstr "Es werden maximal 200 Einträge angezeigt." #~ msgid "Sort direction" #~ msgstr "Sortierrichtung" #~ msgid "Action" #~ msgstr "Aktion" #~ msgid "Current release" #~ msgstr "Momentanes Release" #~ msgid "Create read-only release" #~ msgstr "Unveränderbares Release erzeugen" #~ msgid "Delete current release" #~ msgstr "Momentanes Release entfernen" #~ msgid "Show profiles" #~ msgstr "Zeige Profile" #~ msgid "Show templates" #~ msgstr "Zeige Vorlagen" #~ msgid "Show scripts" #~ msgstr "Zeige Skripte" #~ msgid "Show hooks" #~ msgstr "Zeige Hooks" #~ msgid "Show variables" #~ msgstr "Zeige Variablen" #~ msgid "Show packages" #~ msgstr "Zeige Pakete" #~ msgid "Show partitions" #~ msgstr "Zeige Partitionen" #~ msgid "Show netboot products" #~ msgstr "Zeige Netboot-Produkte" #~ msgid "Show localboot products" #~ msgstr "Zeige Localboot-Produkte" #~ msgid "Open" #~ msgstr "Aufklappen" #~ msgid "Close" #~ msgstr "Schliessen" #~ msgid "List of available packages" #~ msgstr "Liste verfügbarer Pakete" #~ msgid "" #~ "The search returned too many results, only the first 200 entries are " #~ "shown." #~ msgstr "" #~ "Die Suche ergab zu viele Treffer. Es werden nicht mehr als 200 Einträge " #~ "angezeigt!" #~ msgid "" #~ "This menu allows you to select multiple packages to add them to the " #~ "currently edited package list." #~ msgstr "" #~ "Dieses Menü erlaubt es Ihnen, Pakete auszuwählen und zur gegenwärtig " #~ "bearbeiteten Paketliste hinzuzufügen." #~ msgid "Please enter your search string here" #~ msgstr "Bitte geben Sie hier einen Such-Text ein." #~ msgid "" #~ "This list displays all assigned package names for this repository " #~ "settings." #~ msgstr "Diese Liste zeigt alle diesem Repository zugeordneten Paket-Namen." #~ msgid "This menu allows you to create, delete and edit repository settings." #~ msgstr "" #~ "Dieses Menü erlaubt das Erstellen, Löschen und Bearbeiten von " #~ "Repositorien-Einstellungen." #~ msgid "Add repository" #~ msgstr "Repository hinzufügen" gosa-plugin-fai-2.7.4/locale/fr/0000755000175000017500000000000011752422555015360 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/fr/LC_MESSAGES/0000755000175000017500000000000011752422555017145 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/fr/LC_MESSAGES/messages.po0000644000175000017500000014415011475426262021322 0ustar cajuscajus# translation of messages.po to # Benoit Mortier , 2005, 2006, 2007, 2008, 2009, 2010. msgid "" msgstr "" "Project-Id-Version: messages\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: 2010-11-24 23:21+0100\n" "Last-Translator: Benoit Mortier \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "Informations" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 msgid "FAI template entry" msgstr "Modèle FAI" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 msgid "Generic settings" msgstr "Paramètres par défaut" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 msgid "File name" msgstr "Nom du fichier" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 msgid "Destination path" msgstr "Répertoire de destination" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "Description" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 msgid "Template attributes" msgstr "Attributs des modèles" #: admin/fai/faiTemplateEntry.tpl:44 msgid "Template file status" msgstr "" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 msgid "File" msgstr "Fichier" #: admin/fai/faiTemplateEntry.tpl:50 msgid "Save template" msgstr "Sauver le modèle" #: admin/fai/faiTemplateEntry.tpl:51 msgid "Edit template" msgstr "Editer un modèle" #: admin/fai/faiTemplateEntry.tpl:58 msgid "Full path" msgstr "Chemin complet" #: admin/fai/faiTemplateEntry.tpl:70 msgid "Upload" msgstr "Télécharger" #: admin/fai/faiTemplateEntry.tpl:77 msgid "File attributes" msgstr "Attributs du fichier" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "Propriétaire" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "Groupes" #: admin/fai/faiTemplateEntry.tpl:99 msgid "Access" msgstr "Accès" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 msgid "File permissions" msgstr "Permissions du fichier" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Class" msgstr "Classe" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Read" msgstr "Lire" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Write" msgstr "Ecrire" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "Exécuter" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Special" msgstr "Spécial" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "Utilisateur" #: admin/fai/faiTemplateEntry.tpl:162 msgid "Others" msgstr "Autres" #: admin/fai/faiTemplateEntry.tpl:186 msgid "sticky" msgstr "permanent" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "Erreur" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "" "Impossible de bouger l'arbre. L'arbre de destination est un sous arbre de " "l'arbre à bouger." #: admin/fai/class_faiTemplateEdit.inc:60 #, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" "L'encodage du fichier à changé de '%s' vers '%s', voulez vous réellement le " "sauver ?" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 msgid "Device" msgstr "Périphérique" #: admin/fai/faiDiskEntry.tpl:5 msgid "FAI disk entry" msgstr "" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 msgid "Disk options" msgstr "Options des disques" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "Nom" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "Entrée fstab" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "Etiquette du disque" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "Combination des partitions physiques" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 msgid "Partition entries" msgstr "Liste de partitions" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 msgid "Add partition" msgstr "Ajouter une partition" #: admin/fai/faiGroupHandle.tpl:3 msgid "Please select the objects you want to remove:" msgstr "Veuillez sélectionner les objets que vous voulez enlever :" #: admin/fai/faiGroupHandle.tpl:5 msgid "Select the object you want to edit:" msgstr "Sélectionnez les objets que vous voulez éditer :" #: admin/fai/faiGroupHandle.tpl:7 msgid "Select the object you want to copy:" msgstr "Sélectionnez les objets que vous voulez copier :" #: admin/fai/faiGroupHandle.tpl:12 msgid "FAI group selection" msgstr "" #: admin/fai/faiGroupHandle.tpl:40 msgid "Frozen" msgstr "Verouillé" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "primary" msgstr "principal" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "logical" msgstr "logique" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "Type" #: admin/fai/class_faiPartitionTableEntry.inc:150 msgid "Filesystem type" msgstr "Type de système de fichiers" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 msgid "Mount point" msgstr "Point de montage" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 msgid "Size in MB" msgstr "Taille en MB" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 msgid "Mount options" msgstr "Options de montage" #: admin/fai/class_faiPartitionTableEntry.inc:154 msgid "Filesystem option" msgstr "Options des systèmes de fichier" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 msgid "Preserve" msgstr "Préserver" #: admin/fai/class_faiPartitionTableEntry.inc:246 msgid "False" msgstr "Faux" #: admin/fai/class_faiPartitionTableEntry.inc:248 msgid "True" msgstr "Vrai" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "Supprimer" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "veuillez entrer un point de montage unique pour la partition %s" #: admin/fai/class_faiPartitionTableEntry.inc:365 #, php-format msgid "partition %s mount point" msgstr "partition %s point de montage" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "" "Le système de fichier 'swap' est déjà utilisé, veuillez changer le type pour " "la partition %s." #: admin/fai/class_faiPartitionTableEntry.inc:374 msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "" "Veuillez utiliser 'swap' comme point de montage, si 'swap' est utilisé comme " "type de fichier." #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, php-format msgid "partition %s size" msgstr "taille de la partition %s" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "" "Vous avez plus de 3 partitions primaires dans votre configuration, veuillez " "vérifier votre configuration." #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 msgid "Partition table entry" msgstr "Entrée de la table des partitions" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 msgid "FAI partition table entry" msgstr "Entrée de la table de partition FAI" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 msgid "Partition type" msgstr "Type de partition" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 msgid "Partition no." msgstr "Partition n°." #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 msgid "File system type" msgstr "Type de système de fichiers" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 msgid "Partition size" msgstr "Taille de la partition" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 msgid "File system options" msgstr "Options des systèmes de fichier" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 msgid "Partition flags" msgstr "Indicateur des partitions" #: admin/fai/faiVariable.tpl:32 msgid "List of assigned variables" msgstr "Liste des noms de variables déjà utilisées" #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "Choisissez une variable à effacer ou éditer" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "Editer" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 msgid "Hook" msgstr "Connexions" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 msgid "FAI hook" msgstr "Connexions FAI" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 msgid "Read only" msgstr "Lecture seule" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 msgid "Options" msgstr "Options" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "Etiquette" #: admin/fai/class_faiDiskEntry.inc:249 msgid "UUID" msgstr "" #: admin/fai/class_faiDiskEntry.inc:317 msgid "Disks" msgstr "Disques" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "Taille" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "" "Ce disque ne peut pas être supprimé car il est utilisé par la définition de " "disque '%s' !" #: admin/fai/class_faiDiskEntry.inc:501 msgid "encrypted" msgstr "Crypté" #: admin/fai/class_faiDiskEntry.inc:504 msgid "boot able" msgstr "Amorçable" #: admin/fai/class_faiDiskEntry.inc:507 msgid "preserve" msgstr "Préserver" #: admin/fai/class_faiDiskEntry.inc:678 msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "" "Vous avez plus de 4 partitions primaires dans votre configuration, veuillez " "vérifier votre configuration." #: admin/fai/class_faiDiskEntry.inc:682 msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "" "Vous ne pouvez pas avoir plus de 3 partitions primaires quand vous utilisez " "des partitions logiques, veuillez vérifier votre configuration." #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 msgid "FAI profile" msgstr "Profil FAI" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 msgid "FAI classes" msgstr "Classes FAI" #: admin/fai/faiProfile.tpl:35 msgid "Choose a priority" msgstr "Sélectionnez une priorité" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 msgid "FAI script" msgstr "Script FAI" #: admin/fai/faiScriptEntry.tpl:32 msgid "Script attributes" msgstr "Attributs du script" #: admin/fai/faiScriptEntry.tpl:34 msgid "Priority configuration" msgstr "Configuration de la priorité" #: admin/fai/faiScriptEntry.tpl:36 msgid "Priority" msgstr "Priorité" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "Choisissez une priorité. Les valeurs basses s'exécutent en premier." #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 msgid "Script" msgstr "Script" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" "Ce modèle FAI est protégé contre l'écriture. L'édition peut abîmer le " "fichier !" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 msgid "Edit anyway" msgstr "Éditer malgré tout" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 msgid "Import script" msgstr "Importez un script" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 msgid "List of scripts" msgstr "Liste des scripts" #: admin/fai/faiPackage.tpl:2 msgid "FAI package" msgstr "Paquet FAI" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 msgid "Repository" msgstr "Dépôt" #: admin/fai/faiPackage.tpl:31 msgid "Repository settings" msgstr "Paramètres du service de dépôt" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 msgid "Release" msgstr "Version" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 msgid "Section" msgstr "Section" #: admin/fai/faiPackage.tpl:47 msgid "Install method" msgstr "Méthode d'installation" #: admin/fai/faiPackage.tpl:51 msgid "Please select the installation method" msgstr "Veuillez sélectionner la méthode d'installation" #: admin/fai/faiPackage.tpl:62 msgid "Package settings" msgstr "Paramètres des paquets" #: admin/fai/faiPackage.tpl:65 msgid "Used packages" msgstr "Paquets utilisés" #: admin/fai/faiPackage.tpl:76 msgid "Add from list" msgstr "Ajouter depuis la liste" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 msgid "Please select the desired entries" msgstr "Veuillez sélectionner les entrées désirées" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 msgid "FAI" msgstr "FAI" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 msgid "Properties" msgstr "Propriétés" #: admin/fai/classSelect/class_classSelect.inc:29 msgid "Class selection" msgstr "Sélections des classes" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 msgid "Default filter" msgstr "Filtre par défaut" #: admin/fai/faiHook.tpl:31 msgid "List of hooks" msgstr "Liste des scripts de connexions" #: admin/fai/faiHook.tpl:34 msgid "List of hook scripts" msgstr "Liste des scripts de connexions" #: admin/fai/class_faiProfile.inc:105 msgid "Types" msgstr "" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 msgid "Hook bundle" msgstr "Ensemble de connections" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 msgid "Template bundle" msgstr "Ensemble de modèles" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 msgid "Script bundle" msgstr "Ensemble de scripts" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 msgid "Variable bundle" msgstr "Ensemble de variables" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 msgid "Package bundle" msgstr "Ensemble des paquets" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 msgid "Partition table" msgstr "Table des partitions" #: admin/fai/class_faiProfile.inc:185 msgid "Remove class from profile" msgstr "Enlever la classe du profil" #: admin/fai/class_faiProfile.inc:188 msgid "Up" msgstr "Au dessus" #: admin/fai/class_faiProfile.inc:189 msgid "Down" msgstr "En bas" #: admin/fai/class_faiProfile.inc:272 msgid "No class specified for this profile!" msgstr "Pas de classe spécifiée pour ce profile !" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 msgid "Profile" msgstr "Profil" #: admin/fai/class_faiProfile.inc:365 msgid "RDN for FAI profile storage." msgstr "" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 msgid "FAI hook entry" msgstr "Connexions FAI" #: admin/fai/faiHookEntry.tpl:33 msgid "Hook attributes" msgstr "Attributs des connections" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 msgid "Task" msgstr "Tâche" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "Choisissez une tâche FAI existante" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "" #: admin/fai/class_faiManagement.inc:25 msgid "Software deployment" msgstr "Déploiement de logiciels" #: admin/fai/class_faiManagement.inc:26 msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "" "Gestion des paquets logiciels et des recettes de déploiement pour des " "systèmes Windows et Linux" #: admin/fai/class_faiManagement.inc:208 msgid "partition table" msgstr "table des partitions" #: admin/fai/class_faiManagement.inc:209 msgid "script" msgstr "script" #: admin/fai/class_faiManagement.inc:210 msgid "hook" msgstr "connexions" #: admin/fai/class_faiManagement.inc:211 msgid "variable" msgstr "variable" #: admin/fai/class_faiManagement.inc:212 msgid "template" msgstr "modèle" #: admin/fai/class_faiManagement.inc:213 msgid "package list" msgstr "liste des paquets" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 msgid "Permission error" msgstr "Erreur de permission" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, php-format msgid "You have no permission to create a new %s!" msgstr "Vous n'êtes pas autorisé à créer un nouveau %s !." #: admin/fai/class_faiManagement.inc:244 msgid "profile" msgstr "profil" #: admin/fai/class_faiManagement.inc:398 msgid "Branch locked" msgstr "Branche verrouillée" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "" "Les entrées suivantes %s sont vérouillées, vous ne pouvez pas les effacer." #: admin/fai/class_faiManagement.inc:572 msgid "FAI branch/freeze" msgstr "FAI branche/vérrouillée" #: admin/fai/class_faiManagement.inc:575 msgid "You have no permission to delete this release!" msgstr "Vous n'êtes pas autorisé à supprimer cette version !" #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "Avertissement" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" "Echec de l'effacement de la version, la vérification du nom de la version à " "échoué !" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 msgid "Configuration" msgstr "" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 msgid "Branch" msgstr "Branche" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 msgid "Continue" msgstr "Continuer" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 msgid "Service infrastructure" msgstr "Service d'infrastructure" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 msgid "Fatal error" msgstr "Erreur Fatale" #: admin/fai/class_faiManagement.inc:1003 msgid "Freeze" msgstr "Verouillé" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 msgid "Package list" msgstr "Liste des paquets" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 msgid "Scripts" msgstr "Scripts" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 msgid "Variables" msgstr "Variables" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 msgid "Hooks" msgstr "Connexions" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 msgid "Templates" msgstr "Modèles" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 msgid "OPSI net boot product" msgstr "Produit netboot OPSI" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 msgid "OPSI local boot product" msgstr "Produit localboot OPSI" #: admin/fai/class_faiManagement.inc:1228 msgid "FAI releases" msgstr "Versions FAI" #: admin/fai/class_faiManagement.inc:1229 msgid "FAI release management" msgstr "Gestion des versions FAI" #: admin/fai/class_faiManagement.inc:1285 msgid "RDN for FAI storage." msgstr "" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "" #: admin/fai/class_faiVariableEntry.inc:91 msgid "Content" msgstr "Contenu" #: admin/fai/class_faiVariableEntry.inc:126 msgid "Variable entry" msgstr "Contenu de la variable" #: admin/fai/class_faiVariableEntry.inc:127 msgid "FAI variable entry " msgstr "Contenu de la variable FAI" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 msgid "Variable content" msgstr "Contenu de la variable" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 msgid "Download" msgstr "Téléchargement" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 msgid "Template" msgstr "Modèle" #: admin/fai/class_faiTemplate.inc:522 msgid "FAI template" msgstr "Modèle FAI" #: admin/fai/class_faiTemplate.inc:534 #, fuzzy msgid "RDN for FAI template storage." msgstr "Modèle FAI" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 msgid "Read-only" msgstr "Lecture seule" #: admin/fai/paste_generic.tpl:2 msgid "FAI settings" msgstr "Paramètres FAI" #: admin/fai/paste_generic.tpl:4 msgid "Paste FAI class" msgstr "Copier la classe FAI" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 msgid "Class name" msgstr "Nom de la classe" #: admin/fai/remove_branch.tpl:6 msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" "Cela inclut toutes les données des comptes, les droits d'accès, la " "configuration imap,etc. pour cette branche. Veuillez vous assurez que vous " "voulez effectuez cette opération étant donné qu'il est impossible pour GOsa " "de récupérer vos données." #: admin/fai/remove_branch.tpl:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" "D'accord - si vous êtes sur - cliquez sur 'Supprimer' pour continuer ou sur " "'Annuler' pour abandonner." #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 msgid "Create new FAI object" msgstr "Créer un nouvel objet FAI" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 msgid "Version" msgstr "" #: admin/fai/packageSelect/class_packageSelect.inc:29 msgid "Package selection" msgstr "Sélection des paquets" #: admin/fai/class_faiScript.inc:522 #, fuzzy msgid "RDN for FAI script storage." msgstr "Script FAI" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 msgid "LDAP error" msgstr "Erreur LDAP" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "Erreur, les objets suivants doivent être égal '%s' et '%s'" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "Création d'un groupe d'application pour le version %s" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 msgid "Object" msgstr "Objet" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "Ajout du groupe d'application manquant %s." #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "Ajout du groupe d'application %s." #: admin/fai/class_FAI.inc:1041 #, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "Impossible de créer l'entrée de menu%s. (Existe déja)." #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "menu du groupe d'application pour %s crée." #: admin/fai/class_FAI.inc:1077 #, php-format msgid "Creating copy of %s" msgstr "Création d'un copie de %s" #: admin/fai/class_FAI.inc:1080 msgid "Processing" msgstr "Traitement en cours" #: admin/fai/class_FAI.inc:1098 msgid "Could not create new release, the destination DN is already in use." msgstr "" "Impossible de créer une nouvelle version, le DN de destination existe déjà." #: admin/fai/class_FAI.inc:1111 msgid "Error while fetching source DN - aborted!" msgstr "Une erreur s'est produite lors de la récupération du DN - Arrêt !" #: admin/fai/class_FAI.inc:1193 #, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "La création de la version à échoué du à des erreurs ldap : '%s'" #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 msgid "file is empty" msgstr "Le fichier est vide." #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" "L'encodage du fichier à changé de '%s' vers '%s', voulez vous réellement le " "sauver ?" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 msgid "Script entry" msgstr "Script" #: admin/fai/class_faiScriptEntry.inc:211 msgid "FAI script entry" msgstr "Script FAI" #: admin/fai/class_faiScriptEntry.inc:221 msgid "Script Priority" msgstr "Priorité du script" #: admin/fai/fai-list.xml:11 msgid "List of deployment classes and products" msgstr "Listes des classes et des paquets de déploiement" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 msgid "Actions" msgstr "Actions" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 msgid "Create" msgstr "Créer" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 msgid "Variable" msgstr "Variable" #: admin/fai/fai-list.xml:107 msgid "Remove entries" msgstr "Suppression des entrées" #: admin/fai/fai-list.xml:118 msgid "Create branch" msgstr "Créer une branche" #: admin/fai/fai-list.xml:125 msgid "Create freeze" msgstr "Créer une version figée" #: admin/fai/fai-list.xml:132 msgid "Remove release" msgstr "Suppression d'une version" #: admin/fai/faiSummary.tpl:2 msgid "Summary of used FAI classes" msgstr "Sommaire des classes FAI utilisées" #: admin/fai/faiSummary.tpl:5 msgid "FAI object tree" msgstr "Liste des objets FAI" #: admin/fai/faiSummary.tpl:13 msgid "Reload class and release configuration from parent object." msgstr "Recharger la classe et la version depuis l'objet parent." #: admin/fai/faiSummary.tpl:24 msgid "You are not allowed to view the FAI summary." msgstr "Vous n'êtes pas autorisé à voir le sommaire FAI." #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" "Ce modèle FAI est protégé contre l'écriture. L'édition peut abîmer le " "fichier !" #: admin/fai/faiTemplate.tpl:30 msgid "List of template files" msgstr "Liste des modèles" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 msgid "Logical" msgstr "Logique" #: admin/fai/class_faiPartition.inc:165 msgid "Primary" msgstr "Primaire" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "" #: admin/fai/class_faiPartition.inc:181 msgid "fixed" msgstr "Fixe" #: admin/fai/class_faiPartition.inc:182 msgid "dynamic" msgstr "dynamique" #: admin/fai/class_faiPartition.inc:183 msgid "remaining space" msgstr "place restante" #: admin/fai/class_faiPartition.inc:188 msgid "KB" msgstr "" #: admin/fai/class_faiPartition.inc:189 msgid "MB" msgstr "" #: admin/fai/class_faiPartition.inc:190 msgid "GB" msgstr "" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "" #: admin/fai/class_faiPartition.inc:198 msgid "always" msgstr "toujours" #: admin/fai/class_faiPartition.inc:199 msgid "reinstall" msgstr "reinstaller" #: admin/fai/class_faiPartition.inc:203 msgid "swap space" msgstr "taille de la swap" #: admin/fai/class_faiPartition.inc:312 msgid "spare" msgstr "secours" #: admin/fai/class_faiPartition.inc:315 msgid "missing" msgstr "manquant" #: admin/fai/class_faiPartition.inc:402 msgid "Minimum partition size" msgstr "Taille minimale de la partition" #: admin/fai/class_faiPartition.inc:402 msgid "Maximum partition size" msgstr "Taille maximum de la partition" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "Les ensembles RAID doit contenir au moins 2 partitions !" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "Les ensembles RAID 0 ne peuvent être réalisé qu'avec deux partitions !" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 msgid "FAI partition table" msgstr "Table des partitions FAI" #: admin/fai/class_faiPartitionTable.inc:789 #, fuzzy msgid "RDN for FAI partition storage." msgstr "Table des partitions FAI" #: admin/fai/faiVariableEntry.tpl:3 msgid "FAI variable entry" msgstr "" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 msgid "Variable attributes" msgstr "Attributs des variables" #: admin/fai/fai-filter.xml:18 msgid "FAI objects" msgstr "Objets FAI" #: admin/fai/fai-filter.xml:32 msgid "Opsi packages" msgstr "Paquets OPSI" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "FAI & paquets OPSI" #: admin/fai/class_faiHookEntry.inc:229 msgid "Hook entry" msgstr "Connexions" #: admin/fai/faiNewBranch.tpl:5 msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" "Vous allez maintenant créer un branche ou une branche verrouillée. Cette " "action copie la version actuelle dans un nouvelle version. Les branches " "peuvent être modifiées comme d'habitude. Les classes FAI des branches " "verrouillées ne peuvent pas être modifiées, seul des des classes " "supplémentaires sont possibles. Les noms de branches doivent être " "alphanumériques, a l'exception des mots réservés 'scripts', 'hooks', " "'partitions', 'variables', 'templates' et 'FAI'." #: admin/fai/faiNewBranch.tpl:7 msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" "Les branches sont crées comme des sous versions de la branche sélectionnées. " "La création d'un nouvelle branche nommée 1.0.2 dans SARGE par exemple, " "donnera comme résultat une nouvelle version appelée SARGE/1.0.2." #: admin/fai/faiNewBranch.tpl:12 msgid "Please enter a name for the branch" msgstr "Veuillez entrer un nom pour la branche." #: admin/fai/faiNewBranch.tpl:23 msgid "Processing the requested operation" msgstr "Opération en cours" #: admin/fai/faiNewBranch.tpl:24 msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" "Aussitôt que l'opération de copie est finie, vous pouvez aller à la fin de " "la page et cliquer sur 'Continuer' pour continuer la configuration de FAI." #: admin/fai/faiNewBranch.tpl:29 msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "" "Votre navigateur ne supporte pas les éléments HTML IFRAME, veuillez utiliser " "ce lien pour effectuer l'opération demandée." #: admin/fai/faiNewBranch.tpl:31 msgid "Perform requested operation." msgstr "Opération en cours." #: admin/fai/faiNewBranch.tpl:32 msgid "Initiate operation" msgstr "Démarrage de l'opération" #: admin/fai/askClassName.tpl:6 msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" "Ajouter une classe à la gestion FAI nécessite un nom de classe. Vous devez " "spécifier un nom de classe unique pour les classe FAI de type unique, alors " "que vous pouvez utiliser le même nom pour des classes FAI de type différent. " "Dans le dernier cas, FAI incluera automatiquement toutes ces classes de " "différent type dans un nom de classe unique." #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "" "Veuillez utiliser une des méthodes suivantes pour choisir le nom de la " "nouvelle classe FAI." #: admin/fai/askClassName.tpl:17 msgid "FAI class creator" msgstr "Créateur de classes FAI" #: admin/fai/askClassName.tpl:20 msgid "Class settings" msgstr "Préférences pour les classes" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "Entrez le nom de la classe FAI manuellement" #: admin/fai/askClassName.tpl:43 msgid "Class name selector" msgstr "Sélectionneur de classe" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "Choisissez le nom de la classe FAI parmi les classes existantes" #: admin/fai/askClassName.tpl:57 msgid "Choose class name" msgstr "Choisissez un nom de classe" #: admin/fai/class_faiPackageConfiguration.inc:68 #, php-format msgid "Debconf information for package '%s'" msgstr "Information Debconf pour le paquet '%s'" #: admin/fai/class_faiVariable.inc:386 msgid "FAI variable" msgstr "Variables FAI" #: admin/fai/class_faiVariable.inc:399 #, fuzzy msgid "RDN for FAI variable storage." msgstr "Contenu de la variable FAI" #: admin/fai/faiPartition.tpl:2 msgid "Partition" msgstr "Partition" #: admin/fai/faiPartition.tpl:4 msgid "FAI partition" msgstr "Partition FAI" #: admin/fai/faiPartition.tpl:80 msgid "Resize existing partition" msgstr "Réduire un partition existante" #: admin/fai/faiPartition.tpl:85 msgid "Boot able" msgstr "Amorçable" #: admin/fai/faiPartition.tpl:122 msgid "Toggle missing" msgstr "Afficher/Cacher manquants" #: admin/fai/faiPartition.tpl:123 msgid "Toggle spare" msgstr "Afficher/Cacher spare" #: admin/fai/faiPartition.tpl:134 msgid "File system" msgstr "Système de fichiers" #: admin/fai/faiPartition.tpl:141 msgid "File system create options" msgstr "Options de création du système de fichier" #: admin/fai/faiPartition.tpl:151 msgid "Encrypted" msgstr "Crypté" #: admin/fai/faiPartition.tpl:153 msgid "Tune options" msgstr "Options de tuning" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "Statut" #: admin/fai/class_faiPackage.inc:233 msgid "Invalid package names" msgstr "Nom de paquets non valides" #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "Les paquets suivants ne correspondent pas à la politique Debian : %s" #: admin/fai/class_faiPackage.inc:424 msgid "Configured" msgstr "Configuré" #: admin/fai/class_faiPackage.inc:430 msgid "Package marked for removal" msgstr "Paquet marqué à enlever" #: admin/fai/class_faiPackage.inc:447 msgid "Mark package for removal" msgstr "Marquer le paquet à enlever" #: admin/fai/class_faiPackage.inc:453 msgid "Configure this package" msgstr "Configurer ce paquet" #: admin/fai/class_faiPackage.inc:458 msgid "Remove this package" msgstr "Enlever ce paquet" #: admin/fai/class_faiPackage.inc:537 msgid "Please select a least one package!" msgstr "Veuillez sélectionner au moins un paquet !" #: admin/fai/class_faiPackage.inc:541 msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "" "Veuillez choisir une combinaison valable version/section pour la création de " "votre dépôt de paquets !" #: admin/fai/class_faiPackage.inc:668 msgid "Package" msgstr "Paquet" #: admin/fai/class_faiPackage.inc:669 msgid "FAI Package list" msgstr "Liste des paquets" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "" #: admin/fai/class_faiPackage.inc:690 msgid "Packages" msgstr "Paquets" #: admin/fai/class_faiPackage.inc:692 msgid "Install Method" msgstr "Méthode d'installation" #: admin/fai/class_faiPackage.inc:693 msgid "Package configuration" msgstr "Configuration des paquets" #: admin/fai/class_faiTemplateEntry.inc:118 msgid "no file uploaded yet" msgstr "pas encore de fichier téléchargé" #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "existe dans la base de données (taille: %s octets)" #: admin/fai/class_faiTemplateEntry.inc:290 msgid "Template entry" msgstr "Modèle FAI" #: admin/fai/class_faiTemplateEntry.inc:300 msgid "Template file" msgstr "fichier de modèle" #: admin/fai/class_faiTemplateEntry.inc:301 msgid "Template path" msgstr "Chemin du modèle" #: admin/fai/class_faiTemplateEntry.inc:302 msgid "File owner" msgstr "Propriétaire du fichier" #: admin/fai/class_faiSummaryTab.inc:50 msgid "Profiles" msgstr "Profils" #: admin/fai/class_faiSummaryTab.inc:95 msgid "Unknown FAI information source!" msgstr "Source d'information FAI inconnue !" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 msgid "You can't use this plug-in until FAI is activated." msgstr "" "Vous ne pouvez pas utiliser cette extension tant que FAI n'est pas activé." #: admin/fai/class_faiSummaryTab.inc:228 msgid "This object has no FAI classes assigned." msgstr "Cet objet n'a pas de classe FAI assignée." #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "Sommaire FAI" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "Sommaire des classes FAI" #: admin/fai/class_faiSummaryTab.inc:348 msgid "No." msgstr "Non." #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "Utiliser 'setup storage' pour partitionner le disque" #: admin/fai/faiPartitionTable.tpl:38 msgid "Discs" msgstr "Disques" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 msgid "Add disk" msgstr "Ajouter un disque" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 msgid "Add RAID" msgstr "Ajouter du RAID" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 msgid "Add volume group" msgstr "Ajouter un groupe de volume" #: admin/fai/class_debconfTemplate.inc:208 msgid "This package has no debconf options." msgstr "Ce paquet n'a pas d'options debconf." #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" "Cette question debconf est générée dynamiquement pendant l'installation du " "paquet et nécessite le choix entre différentes options qui ne peuvent pas " "être affichées ici. Le texte entré doit être un de ces choix pour être " "valide." #: admin/systems/services/repository/repository-list.xml:10 msgid "List of repositories" msgstr "Liste des dépôts" #: admin/systems/services/repository/repository-list.xml:14 msgid "Service" msgstr "Services" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 msgid "Sections" msgstr "Sections" #: admin/systems/services/repository/servRepositorySetup.tpl:3 msgid "FAI Repository" msgstr "Dépôt FAI" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 msgid "Parent server" msgstr "Serveur parent" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 msgid "URL" msgstr "URL" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Repository service" msgstr "Service de dépôt" #: admin/systems/services/repository/class_servRepository.inc:158 msgid "FAI release" msgstr "Version FAI" #: admin/systems/services/repository/class_servRepository.inc:402 msgid "Services" msgstr "Services" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" #: admin/systems/services/repository/class_servRepository.inc:424 msgid "Releases" msgstr "Versions" gosa-plugin-fai-2.7.4/locale/en/0000755000175000017500000000000011752422555015353 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/en/LC_MESSAGES/0000755000175000017500000000000011752422555017140 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/messages.po0000644000175000017500000012154311475426262017127 0ustar cajuscajus# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 msgid "FAI template entry" msgstr "" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 msgid "Generic settings" msgstr "" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 msgid "File name" msgstr "" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 msgid "Destination path" msgstr "" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 msgid "Template attributes" msgstr "" #: admin/fai/faiTemplateEntry.tpl:44 msgid "Template file status" msgstr "" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 msgid "File" msgstr "" #: admin/fai/faiTemplateEntry.tpl:50 msgid "Save template" msgstr "" #: admin/fai/faiTemplateEntry.tpl:51 msgid "Edit template" msgstr "" #: admin/fai/faiTemplateEntry.tpl:58 msgid "Full path" msgstr "" #: admin/fai/faiTemplateEntry.tpl:70 msgid "Upload" msgstr "" #: admin/fai/faiTemplateEntry.tpl:77 msgid "File attributes" msgstr "" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "" #: admin/fai/faiTemplateEntry.tpl:99 msgid "Access" msgstr "" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 msgid "File permissions" msgstr "" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Class" msgstr "" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Read" msgstr "" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Write" msgstr "" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Special" msgstr "" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "" #: admin/fai/faiTemplateEntry.tpl:162 msgid "Others" msgstr "" #: admin/fai/faiTemplateEntry.tpl:186 msgid "sticky" msgstr "" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "" #: admin/fai/class_faiTemplateEdit.inc:60 #, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 msgid "Device" msgstr "" #: admin/fai/faiDiskEntry.tpl:5 msgid "FAI disk entry" msgstr "" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 msgid "Disk options" msgstr "" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 msgid "Partition entries" msgstr "" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 msgid "Add partition" msgstr "" #: admin/fai/faiGroupHandle.tpl:3 msgid "Please select the objects you want to remove:" msgstr "" #: admin/fai/faiGroupHandle.tpl:5 msgid "Select the object you want to edit:" msgstr "" #: admin/fai/faiGroupHandle.tpl:7 msgid "Select the object you want to copy:" msgstr "" #: admin/fai/faiGroupHandle.tpl:12 msgid "FAI group selection" msgstr "" #: admin/fai/faiGroupHandle.tpl:40 msgid "Frozen" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "primary" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "logical" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:150 msgid "Filesystem type" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 msgid "Mount point" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 msgid "Size in MB" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 msgid "Mount options" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:154 msgid "Filesystem option" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 msgid "Preserve" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:246 msgid "False" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:248 msgid "True" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:365 #, php-format msgid "partition %s mount point" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:374 msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, php-format msgid "partition %s size" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 msgid "Partition table entry" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 msgid "FAI partition table entry" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 msgid "Partition type" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 msgid "Partition no." msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 msgid "File system type" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 msgid "Partition size" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 msgid "File system options" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 msgid "Partition flags" msgstr "" #: admin/fai/faiVariable.tpl:32 msgid "List of assigned variables" msgstr "" #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 msgid "Hook" msgstr "" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 msgid "FAI hook" msgstr "" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 msgid "Read only" msgstr "" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 msgid "Options" msgstr "" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "" #: admin/fai/class_faiDiskEntry.inc:249 msgid "UUID" msgstr "" #: admin/fai/class_faiDiskEntry.inc:317 msgid "Disks" msgstr "" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "" #: admin/fai/class_faiDiskEntry.inc:501 msgid "encrypted" msgstr "" #: admin/fai/class_faiDiskEntry.inc:504 msgid "boot able" msgstr "" #: admin/fai/class_faiDiskEntry.inc:507 msgid "preserve" msgstr "" #: admin/fai/class_faiDiskEntry.inc:678 msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "" #: admin/fai/class_faiDiskEntry.inc:682 msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "" #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 msgid "FAI profile" msgstr "" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 msgid "FAI classes" msgstr "" #: admin/fai/faiProfile.tpl:35 msgid "Choose a priority" msgstr "" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 msgid "FAI script" msgstr "" #: admin/fai/faiScriptEntry.tpl:32 msgid "Script attributes" msgstr "" #: admin/fai/faiScriptEntry.tpl:34 msgid "Priority configuration" msgstr "" #: admin/fai/faiScriptEntry.tpl:36 msgid "Priority" msgstr "" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "" #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 msgid "Script" msgstr "" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 msgid "Edit anyway" msgstr "" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 msgid "Import script" msgstr "" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 msgid "List of scripts" msgstr "" #: admin/fai/faiPackage.tpl:2 msgid "FAI package" msgstr "" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 msgid "Repository" msgstr "" #: admin/fai/faiPackage.tpl:31 msgid "Repository settings" msgstr "" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 msgid "Release" msgstr "" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 msgid "Section" msgstr "" #: admin/fai/faiPackage.tpl:47 msgid "Install method" msgstr "" #: admin/fai/faiPackage.tpl:51 msgid "Please select the installation method" msgstr "" #: admin/fai/faiPackage.tpl:62 msgid "Package settings" msgstr "" #: admin/fai/faiPackage.tpl:65 msgid "Used packages" msgstr "" #: admin/fai/faiPackage.tpl:76 msgid "Add from list" msgstr "" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 msgid "Please select the desired entries" msgstr "" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 msgid "FAI" msgstr "" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 msgid "Properties" msgstr "" #: admin/fai/classSelect/class_classSelect.inc:29 msgid "Class selection" msgstr "" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 msgid "Default filter" msgstr "" #: admin/fai/faiHook.tpl:31 msgid "List of hooks" msgstr "" #: admin/fai/faiHook.tpl:34 msgid "List of hook scripts" msgstr "" #: admin/fai/class_faiProfile.inc:105 msgid "Types" msgstr "" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 msgid "Hook bundle" msgstr "" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 msgid "Template bundle" msgstr "" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 msgid "Script bundle" msgstr "" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 msgid "Variable bundle" msgstr "" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 msgid "Package bundle" msgstr "" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 msgid "Partition table" msgstr "" #: admin/fai/class_faiProfile.inc:185 msgid "Remove class from profile" msgstr "" #: admin/fai/class_faiProfile.inc:188 msgid "Up" msgstr "" #: admin/fai/class_faiProfile.inc:189 msgid "Down" msgstr "" #: admin/fai/class_faiProfile.inc:272 msgid "No class specified for this profile!" msgstr "" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 msgid "Profile" msgstr "" #: admin/fai/class_faiProfile.inc:365 msgid "RDN for FAI profile storage." msgstr "" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 msgid "FAI hook entry" msgstr "" #: admin/fai/faiHookEntry.tpl:33 msgid "Hook attributes" msgstr "" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 msgid "Task" msgstr "" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "" #: admin/fai/class_faiManagement.inc:25 msgid "Software deployment" msgstr "" #: admin/fai/class_faiManagement.inc:26 msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "" #: admin/fai/class_faiManagement.inc:208 msgid "partition table" msgstr "" #: admin/fai/class_faiManagement.inc:209 msgid "script" msgstr "" #: admin/fai/class_faiManagement.inc:210 msgid "hook" msgstr "" #: admin/fai/class_faiManagement.inc:211 msgid "variable" msgstr "" #: admin/fai/class_faiManagement.inc:212 msgid "template" msgstr "" #: admin/fai/class_faiManagement.inc:213 msgid "package list" msgstr "" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 msgid "Permission error" msgstr "" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, php-format msgid "You have no permission to create a new %s!" msgstr "" #: admin/fai/class_faiManagement.inc:244 msgid "profile" msgstr "" #: admin/fai/class_faiManagement.inc:398 msgid "Branch locked" msgstr "" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "" #: admin/fai/class_faiManagement.inc:572 msgid "FAI branch/freeze" msgstr "" #: admin/fai/class_faiManagement.inc:575 msgid "You have no permission to delete this release!" msgstr "" #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 msgid "Configuration" msgstr "" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 msgid "Branch" msgstr "" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 msgid "Continue" msgstr "" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 msgid "Service infrastructure" msgstr "" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 msgid "Fatal error" msgstr "" #: admin/fai/class_faiManagement.inc:1003 msgid "Freeze" msgstr "" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 msgid "Package list" msgstr "" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 msgid "Scripts" msgstr "" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 msgid "Variables" msgstr "" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 msgid "Hooks" msgstr "" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 msgid "Templates" msgstr "" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 msgid "OPSI net boot product" msgstr "" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 msgid "OPSI local boot product" msgstr "" #: admin/fai/class_faiManagement.inc:1228 msgid "FAI releases" msgstr "" #: admin/fai/class_faiManagement.inc:1229 msgid "FAI release management" msgstr "" #: admin/fai/class_faiManagement.inc:1285 msgid "RDN for FAI storage." msgstr "" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "" #: admin/fai/class_faiVariableEntry.inc:91 msgid "Content" msgstr "" #: admin/fai/class_faiVariableEntry.inc:126 msgid "Variable entry" msgstr "" #: admin/fai/class_faiVariableEntry.inc:127 msgid "FAI variable entry " msgstr "" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 msgid "Variable content" msgstr "" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 msgid "Download" msgstr "" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 msgid "Template" msgstr "" #: admin/fai/class_faiTemplate.inc:522 msgid "FAI template" msgstr "" #: admin/fai/class_faiTemplate.inc:534 msgid "RDN for FAI template storage." msgstr "" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 msgid "Read-only" msgstr "" #: admin/fai/paste_generic.tpl:2 msgid "FAI settings" msgstr "" #: admin/fai/paste_generic.tpl:4 msgid "Paste FAI class" msgstr "" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 msgid "Class name" msgstr "" #: admin/fai/remove_branch.tpl:6 msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" #: admin/fai/remove_branch.tpl:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 msgid "Create new FAI object" msgstr "" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 msgid "Version" msgstr "" #: admin/fai/packageSelect/class_packageSelect.inc:29 msgid "Package selection" msgstr "" #: admin/fai/class_faiScript.inc:522 msgid "RDN for FAI script storage." msgstr "" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 msgid "LDAP error" msgstr "" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 msgid "Object" msgstr "" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1041 #, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "" #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "" #: admin/fai/class_FAI.inc:1077 #, php-format msgid "Creating copy of %s" msgstr "" #: admin/fai/class_FAI.inc:1080 msgid "Processing" msgstr "" #: admin/fai/class_FAI.inc:1098 msgid "Could not create new release, the destination DN is already in use." msgstr "" #: admin/fai/class_FAI.inc:1111 msgid "Error while fetching source DN - aborted!" msgstr "" #: admin/fai/class_FAI.inc:1193 #, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "" #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 msgid "file is empty" msgstr "" #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 msgid "Script entry" msgstr "" #: admin/fai/class_faiScriptEntry.inc:211 msgid "FAI script entry" msgstr "" #: admin/fai/class_faiScriptEntry.inc:221 msgid "Script Priority" msgstr "" #: admin/fai/fai-list.xml:11 msgid "List of deployment classes and products" msgstr "" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 msgid "Actions" msgstr "" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 msgid "Create" msgstr "" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 msgid "Variable" msgstr "" #: admin/fai/fai-list.xml:107 msgid "Remove entries" msgstr "" #: admin/fai/fai-list.xml:118 msgid "Create branch" msgstr "" #: admin/fai/fai-list.xml:125 msgid "Create freeze" msgstr "" #: admin/fai/fai-list.xml:132 msgid "Remove release" msgstr "" #: admin/fai/faiSummary.tpl:2 msgid "Summary of used FAI classes" msgstr "" #: admin/fai/faiSummary.tpl:5 msgid "FAI object tree" msgstr "" #: admin/fai/faiSummary.tpl:13 msgid "Reload class and release configuration from parent object." msgstr "" #: admin/fai/faiSummary.tpl:24 msgid "You are not allowed to view the FAI summary." msgstr "" #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" #: admin/fai/faiTemplate.tpl:30 msgid "List of template files" msgstr "" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 msgid "Logical" msgstr "" #: admin/fai/class_faiPartition.inc:165 msgid "Primary" msgstr "" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "" #: admin/fai/class_faiPartition.inc:181 msgid "fixed" msgstr "" #: admin/fai/class_faiPartition.inc:182 msgid "dynamic" msgstr "" #: admin/fai/class_faiPartition.inc:183 msgid "remaining space" msgstr "" #: admin/fai/class_faiPartition.inc:188 msgid "KB" msgstr "" #: admin/fai/class_faiPartition.inc:189 msgid "MB" msgstr "" #: admin/fai/class_faiPartition.inc:190 msgid "GB" msgstr "" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "" #: admin/fai/class_faiPartition.inc:198 msgid "always" msgstr "" #: admin/fai/class_faiPartition.inc:199 msgid "reinstall" msgstr "" #: admin/fai/class_faiPartition.inc:203 msgid "swap space" msgstr "" #: admin/fai/class_faiPartition.inc:312 msgid "spare" msgstr "" #: admin/fai/class_faiPartition.inc:315 msgid "missing" msgstr "" #: admin/fai/class_faiPartition.inc:402 msgid "Minimum partition size" msgstr "" #: admin/fai/class_faiPartition.inc:402 msgid "Maximum partition size" msgstr "" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 msgid "FAI partition table" msgstr "" #: admin/fai/class_faiPartitionTable.inc:789 msgid "RDN for FAI partition storage." msgstr "" #: admin/fai/faiVariableEntry.tpl:3 msgid "FAI variable entry" msgstr "" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 msgid "Variable attributes" msgstr "" #: admin/fai/fai-filter.xml:18 msgid "FAI objects" msgstr "" #: admin/fai/fai-filter.xml:32 msgid "Opsi packages" msgstr "" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "" #: admin/fai/class_faiHookEntry.inc:229 msgid "Hook entry" msgstr "" #: admin/fai/faiNewBranch.tpl:5 msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" #: admin/fai/faiNewBranch.tpl:7 msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" #: admin/fai/faiNewBranch.tpl:12 msgid "Please enter a name for the branch" msgstr "" #: admin/fai/faiNewBranch.tpl:23 msgid "Processing the requested operation" msgstr "" #: admin/fai/faiNewBranch.tpl:24 msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" #: admin/fai/faiNewBranch.tpl:29 msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "" #: admin/fai/faiNewBranch.tpl:31 msgid "Perform requested operation." msgstr "" #: admin/fai/faiNewBranch.tpl:32 msgid "Initiate operation" msgstr "" #: admin/fai/askClassName.tpl:6 msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "" #: admin/fai/askClassName.tpl:17 msgid "FAI class creator" msgstr "" #: admin/fai/askClassName.tpl:20 msgid "Class settings" msgstr "" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "" #: admin/fai/askClassName.tpl:43 msgid "Class name selector" msgstr "" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "" #: admin/fai/askClassName.tpl:57 msgid "Choose class name" msgstr "" #: admin/fai/class_faiPackageConfiguration.inc:68 #, php-format msgid "Debconf information for package '%s'" msgstr "" #: admin/fai/class_faiVariable.inc:386 msgid "FAI variable" msgstr "" #: admin/fai/class_faiVariable.inc:399 msgid "RDN for FAI variable storage." msgstr "" #: admin/fai/faiPartition.tpl:2 msgid "Partition" msgstr "" #: admin/fai/faiPartition.tpl:4 msgid "FAI partition" msgstr "" #: admin/fai/faiPartition.tpl:80 msgid "Resize existing partition" msgstr "" #: admin/fai/faiPartition.tpl:85 msgid "Boot able" msgstr "" #: admin/fai/faiPartition.tpl:122 msgid "Toggle missing" msgstr "" #: admin/fai/faiPartition.tpl:123 msgid "Toggle spare" msgstr "" #: admin/fai/faiPartition.tpl:134 msgid "File system" msgstr "" #: admin/fai/faiPartition.tpl:141 msgid "File system create options" msgstr "" #: admin/fai/faiPartition.tpl:151 msgid "Encrypted" msgstr "" #: admin/fai/faiPartition.tpl:153 msgid "Tune options" msgstr "" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "" #: admin/fai/class_faiPackage.inc:233 msgid "Invalid package names" msgstr "" #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "" #: admin/fai/class_faiPackage.inc:424 msgid "Configured" msgstr "" #: admin/fai/class_faiPackage.inc:430 msgid "Package marked for removal" msgstr "" #: admin/fai/class_faiPackage.inc:447 msgid "Mark package for removal" msgstr "" #: admin/fai/class_faiPackage.inc:453 msgid "Configure this package" msgstr "" #: admin/fai/class_faiPackage.inc:458 msgid "Remove this package" msgstr "" #: admin/fai/class_faiPackage.inc:537 msgid "Please select a least one package!" msgstr "" #: admin/fai/class_faiPackage.inc:541 msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "" #: admin/fai/class_faiPackage.inc:668 msgid "Package" msgstr "" #: admin/fai/class_faiPackage.inc:669 msgid "FAI Package list" msgstr "" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "" #: admin/fai/class_faiPackage.inc:690 msgid "Packages" msgstr "" #: admin/fai/class_faiPackage.inc:692 msgid "Install Method" msgstr "" #: admin/fai/class_faiPackage.inc:693 msgid "Package configuration" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:118 msgid "no file uploaded yet" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:290 msgid "Template entry" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:300 msgid "Template file" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:301 msgid "Template path" msgstr "" #: admin/fai/class_faiTemplateEntry.inc:302 msgid "File owner" msgstr "" #: admin/fai/class_faiSummaryTab.inc:50 msgid "Profiles" msgstr "" #: admin/fai/class_faiSummaryTab.inc:95 msgid "Unknown FAI information source!" msgstr "" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 msgid "You can't use this plug-in until FAI is activated." msgstr "" #: admin/fai/class_faiSummaryTab.inc:228 msgid "This object has no FAI classes assigned." msgstr "" #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "" #: admin/fai/class_faiSummaryTab.inc:348 msgid "No." msgstr "" #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "" #: admin/fai/faiPartitionTable.tpl:38 msgid "Discs" msgstr "" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 msgid "Add disk" msgstr "" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 msgid "Add RAID" msgstr "" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 msgid "Add volume group" msgstr "" #: admin/fai/class_debconfTemplate.inc:208 msgid "This package has no debconf options." msgstr "" #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" #: admin/systems/services/repository/repository-list.xml:10 msgid "List of repositories" msgstr "" #: admin/systems/services/repository/repository-list.xml:14 msgid "Service" msgstr "" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 msgid "Sections" msgstr "" #: admin/systems/services/repository/servRepositorySetup.tpl:3 msgid "FAI Repository" msgstr "" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 msgid "Parent server" msgstr "" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 msgid "URL" msgstr "" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Repository service" msgstr "" #: admin/systems/services/repository/class_servRepository.inc:158 msgid "FAI release" msgstr "" #: admin/systems/services/repository/class_servRepository.inc:402 msgid "Services" msgstr "" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" #: admin/systems/services/repository/class_servRepository.inc:424 msgid "Releases" msgstr "" gosa-plugin-fai-2.7.4/locale/zh/0000755000175000017500000000000011752422555015372 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/zh/LC_MESSAGES/0000755000175000017500000000000011752422555017157 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/zh/LC_MESSAGES/messages.po0000644000175000017500000020564011475426262021336 0ustar cajuscajus# translation of messages.po to Chinese Simplified # Copyright (C) 2003 GONICUS GmbH, Germany # This file is distributed under the same license as the GOsa2 package. # # Jiang Xin , 2007. msgid "" msgstr "" "Project-Id-Version: messages\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: 2007-06-03 12:27+0800\n" "Last-Translator: Jiang Xin \n" "Language-Team: Chinese Simplified \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "通用配置" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 #, fuzzy msgid "FAI template entry" msgstr "创建 FAI template 条目失败" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 #, fuzzy msgid "Generic settings" msgstr "通用队列设置" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 #, fuzzy msgid "File name" msgstr "文件名" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 msgid "Destination path" msgstr "目标路径" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "描述" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 msgid "Template attributes" msgstr "模板属性" #: admin/fai/faiTemplateEntry.tpl:44 #, fuzzy msgid "Template file status" msgstr "模板集" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 msgid "File" msgstr "文件" #: admin/fai/faiTemplateEntry.tpl:50 msgid "Save template" msgstr "保存模板" #: admin/fai/faiTemplateEntry.tpl:51 #, fuzzy msgid "Edit template" msgstr "模板" #: admin/fai/faiTemplateEntry.tpl:58 #, fuzzy msgid "Full path" msgstr "字体路径" #: admin/fai/faiTemplateEntry.tpl:70 msgid "Upload" msgstr "上传" #: admin/fai/faiTemplateEntry.tpl:77 #, fuzzy msgid "File attributes" msgstr "变量属性" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "所有者" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "组" #: admin/fai/faiTemplateEntry.tpl:99 msgid "Access" msgstr "访问" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 #, fuzzy msgid "File permissions" msgstr "允许" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Class" msgstr "类" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Read" msgstr "读" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Write" msgstr "写" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "执行" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Special" msgstr "特殊" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "用户" #: admin/fai/faiTemplateEntry.tpl:162 msgid "Others" msgstr "其他" #: admin/fai/faiTemplateEntry.tpl:186 msgid "sticky" msgstr "置顶" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "错误" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 #, fuzzy msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "移动树失败。目标树是源树的子树。" #: admin/fai/class_faiTemplateEdit.inc:60 #, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 msgid "Device" msgstr "设备" #: admin/fai/faiDiskEntry.tpl:5 #, fuzzy msgid "FAI disk entry" msgstr "添加记录" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 #, fuzzy msgid "Disk options" msgstr "文件系统选项" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "名称" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 msgid "Partition entries" msgstr "分区条目" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 msgid "Add partition" msgstr "添加分区" #: admin/fai/faiGroupHandle.tpl:3 #, fuzzy msgid "Please select the objects you want to remove:" msgstr "请输入新对象组名称" #: admin/fai/faiGroupHandle.tpl:5 #, fuzzy msgid "Select the object you want to edit:" msgstr "选择要添加的对象" #: admin/fai/faiGroupHandle.tpl:7 #, fuzzy msgid "Select the object you want to copy:" msgstr "选择查看 GOsa 组" #: admin/fai/faiGroupHandle.tpl:12 #, fuzzy msgid "FAI group selection" msgstr "组设置" #: admin/fai/faiGroupHandle.tpl:40 #, fuzzy msgid "Frozen" msgstr "频率" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "primary" msgstr "主要" #: admin/fai/class_faiPartitionTableEntry.inc:142 msgid "logical" msgstr "逻辑" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "类型" #: admin/fai/class_faiPartitionTableEntry.inc:150 #, fuzzy msgid "Filesystem type" msgstr "系统类型" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 msgid "Mount point" msgstr "挂载点" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 msgid "Size in MB" msgstr "单位 MB" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 msgid "Mount options" msgstr "挂载选项" #: admin/fai/class_faiPartitionTableEntry.inc:154 #, fuzzy msgid "Filesystem option" msgstr "查看系统信息" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 msgid "Preserve" msgstr "保留" #: admin/fai/class_faiPartitionTableEntry.inc:246 msgid "False" msgstr "假" #: admin/fai/class_faiPartitionTableEntry.inc:248 msgid "True" msgstr "真" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "删除" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "请输入分区 %s 的一个唯一挂载点" #: admin/fai/class_faiPartitionTableEntry.inc:365 #, php-format msgid "partition %s mount point" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "文件系统类型 'swap' 已经使用过了,修改分区 %s 的文件系统类型。" #: admin/fai/class_faiPartitionTableEntry.inc:374 #, fuzzy msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "请用 'swap' 作为挂载点,如果 'swap' 作为文件系统类型。" #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, fuzzy, php-format msgid "partition %s size" msgstr "分区" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "在您的配置文件中,有超过 3 个主要分区表记录,请再次检查您的配置。" #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 #, fuzzy msgid "Partition table entry" msgstr "分区表" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 #, fuzzy msgid "FAI partition table entry" msgstr "保存 FAI 分区表条目失败" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 #, fuzzy msgid "Partition type" msgstr "分区表" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 #, fuzzy msgid "Partition no." msgstr "分区" #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 #, fuzzy msgid "File system type" msgstr "系统类型" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 #, fuzzy msgid "Partition size" msgstr "分区" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 #, fuzzy msgid "File system options" msgstr "查看系统信息" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 #, fuzzy msgid "Partition flags" msgstr "分区" #: admin/fai/faiVariable.tpl:32 msgid "List of assigned variables" msgstr "已分配变量列表" #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "选择一个要删除或修改的变量" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "编辑" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 #, fuzzy msgid "Hook" msgstr "钩子" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 #, fuzzy msgid "FAI hook" msgstr "显示 FAI 钩子" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 #, fuzzy msgid "Read only" msgstr "读" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 msgid "Options" msgstr "选项" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "" #: admin/fai/class_faiDiskEntry.inc:249 #, fuzzy msgid "UUID" msgstr "SUID" #: admin/fai/class_faiDiskEntry.inc:317 #, fuzzy msgid "Disks" msgstr "Discs" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, fuzzy, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:" #: admin/fai/class_faiDiskEntry.inc:501 msgid "encrypted" msgstr "" #: admin/fai/class_faiDiskEntry.inc:504 #, fuzzy msgid "boot able" msgstr "Hook 集合" #: admin/fai/class_faiDiskEntry.inc:507 #, fuzzy msgid "preserve" msgstr "保留" #: admin/fai/class_faiDiskEntry.inc:678 #, fuzzy msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "在您的配置文件中,有超过 3 个主要分区表记录,请再次检查您的配置。" #: admin/fai/class_faiDiskEntry.inc:682 #, fuzzy msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "在您的配置文件中,有超过 3 个主要分区表记录,请再次检查您的配置。" #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 #, fuzzy msgid "FAI profile" msgstr "新配置" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 msgid "FAI classes" msgstr "自动化安装(FAI)类" #: admin/fai/faiProfile.tpl:35 msgid "Choose a priority" msgstr "选择一个优先级" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 #, fuzzy msgid "FAI script" msgstr "导入脚本" #: admin/fai/faiScriptEntry.tpl:32 msgid "Script attributes" msgstr "脚本属性" #: admin/fai/faiScriptEntry.tpl:34 #, fuzzy msgid "Priority configuration" msgstr "下载配置" #: admin/fai/faiScriptEntry.tpl:36 msgid "Priority" msgstr "优先级" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "" #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 msgid "Script" msgstr "脚本" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 msgid "Edit anyway" msgstr "仍然编辑" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 msgid "Import script" msgstr "导入脚本" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 msgid "List of scripts" msgstr "脚本列表" #: admin/fai/faiPackage.tpl:2 #, fuzzy msgid "FAI package" msgstr "软件包列表" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 msgid "Repository" msgstr "仓库" #: admin/fai/faiPackage.tpl:31 #, fuzzy msgid "Repository settings" msgstr "仓库" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 msgid "Release" msgstr "发行" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 msgid "Section" msgstr "节" #: admin/fai/faiPackage.tpl:47 msgid "Install method" msgstr "安装方法" #: admin/fai/faiPackage.tpl:51 #, fuzzy msgid "Please select the installation method" msgstr "请选择一个有效文件。" #: admin/fai/faiPackage.tpl:62 #, fuzzy msgid "Package settings" msgstr "用户设置" #: admin/fai/faiPackage.tpl:65 msgid "Used packages" msgstr "使用软件包" #: admin/fai/faiPackage.tpl:76 msgid "Add from list" msgstr "" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 #, fuzzy msgid "Please select the desired entries" msgstr "请选择一个打印机或者取消。" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 msgid "FAI" msgstr "自动化安装" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 msgid "Properties" msgstr "属性" #: admin/fai/classSelect/class_classSelect.inc:29 #, fuzzy msgid "Class selection" msgstr "组设置" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 #, fuzzy msgid "Default filter" msgstr "参数" #: admin/fai/faiHook.tpl:31 #, fuzzy msgid "List of hooks" msgstr "钩子脚本列表" #: admin/fai/faiHook.tpl:34 msgid "List of hook scripts" msgstr "钩子脚本列表" #: admin/fai/class_faiProfile.inc:105 #, fuzzy msgid "Types" msgstr "类型" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 msgid "Hook bundle" msgstr "Hook 集合" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 msgid "Template bundle" msgstr "模板集" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 msgid "Script bundle" msgstr "脚本集" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 msgid "Variable bundle" msgstr "变量集" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 msgid "Package bundle" msgstr "软件包集合" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 msgid "Partition table" msgstr "分区表" #: admin/fai/class_faiProfile.inc:185 msgid "Remove class from profile" msgstr "从 profile 中删除分类" #: admin/fai/class_faiProfile.inc:188 msgid "Up" msgstr "上" #: admin/fai/class_faiProfile.inc:189 msgid "Down" msgstr "关闭" #: admin/fai/class_faiProfile.inc:272 msgid "No class specified for this profile!" msgstr "" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 #, fuzzy msgid "Profile" msgstr "Profiles" #: admin/fai/class_faiProfile.inc:365 #, fuzzy msgid "RDN for FAI profile storage." msgstr "Kiosk profile 设置" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 #, fuzzy msgid "FAI hook entry" msgstr "添加记录" #: admin/fai/faiHookEntry.tpl:33 msgid "Hook attributes" msgstr "钩子属性" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 msgid "Task" msgstr "任务" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "选择一个已存在的 FAI 任务" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "" #: admin/fai/class_faiManagement.inc:25 #, fuzzy msgid "Software deployment" msgstr "系统管理" #: admin/fai/class_faiManagement.inc:26 msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "" #: admin/fai/class_faiManagement.inc:208 #, fuzzy msgid "partition table" msgstr "分区表" #: admin/fai/class_faiManagement.inc:209 #, fuzzy msgid "script" msgstr "脚本" #: admin/fai/class_faiManagement.inc:210 #, fuzzy msgid "hook" msgstr "钩子" #: admin/fai/class_faiManagement.inc:211 #, fuzzy msgid "variable" msgstr "变量" #: admin/fai/class_faiManagement.inc:212 #, fuzzy msgid "template" msgstr "模板" #: admin/fai/class_faiManagement.inc:213 #, fuzzy msgid "package list" msgstr "软件包列表" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Permission error" msgstr "允许" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, fuzzy, php-format msgid "You have no permission to create a new %s!" msgstr "您无权删除这个对象组!" #: admin/fai/class_faiManagement.inc:244 #, fuzzy msgid "profile" msgstr "Profiles" #: admin/fai/class_faiManagement.inc:398 #, fuzzy msgid "Branch locked" msgstr "分支" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "" #: admin/fai/class_faiManagement.inc:572 msgid "FAI branch/freeze" msgstr "" #: admin/fai/class_faiManagement.inc:575 #, fuzzy msgid "You have no permission to delete this release!" msgstr "您无权删除这个发行版!" #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "警告" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 #, fuzzy msgid "Configuration" msgstr "配置文件" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Branch" msgstr "分支" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 msgid "Continue" msgstr "继续" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 #, fuzzy msgid "Service infrastructure" msgstr "在子树中查找" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 #, fuzzy msgid "Fatal error" msgstr "终端服务器" #: admin/fai/class_faiManagement.inc:1003 #, fuzzy msgid "Freeze" msgstr "频率" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 msgid "Package list" msgstr "软件包列表" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 msgid "Scripts" msgstr "脚本" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 msgid "Variables" msgstr "变量" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 msgid "Hooks" msgstr "钩子" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 msgid "Templates" msgstr "模板" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 #, fuzzy msgid "OPSI net boot product" msgstr "对象组" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 #, fuzzy msgid "OPSI local boot product" msgstr "对象组" #: admin/fai/class_faiManagement.inc:1228 #, fuzzy msgid "FAI releases" msgstr "自动化安装(FAI)类" #: admin/fai/class_faiManagement.inc:1229 #, fuzzy msgid "FAI release management" msgstr "Asterisk 管理" #: admin/fai/class_faiManagement.inc:1285 #, fuzzy msgid "RDN for FAI storage." msgstr "口令存储" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "" #: admin/fai/class_faiVariableEntry.inc:91 #, fuzzy msgid "Content" msgstr "继续" #: admin/fai/class_faiVariableEntry.inc:126 #, fuzzy msgid "Variable entry" msgstr "变量内容" #: admin/fai/class_faiVariableEntry.inc:127 #, fuzzy msgid "FAI variable entry " msgstr "变量内容" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 msgid "Variable content" msgstr "变量内容" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 msgid "Download" msgstr "下载" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 msgid "Template" msgstr "模板" #: admin/fai/class_faiTemplate.inc:522 #, fuzzy msgid "FAI template" msgstr "新模板" #: admin/fai/class_faiTemplate.inc:534 #, fuzzy msgid "RDN for FAI template storage." msgstr "创建 FAI template 条目失败" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 #, fuzzy msgid "Read-only" msgstr "读" #: admin/fai/paste_generic.tpl:2 #, fuzzy msgid "FAI settings" msgstr "自动化安装(FAI)类" #: admin/fai/paste_generic.tpl:4 #, fuzzy msgid "Paste FAI class" msgstr "FAI 分类名称" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 msgid "Class name" msgstr "类名" #: admin/fai/remove_branch.tpl:6 msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" "这个分支包含所有账号信息,系统访问等等。请再次检查您是否要这么做,因为 GOsa " "没有办法将您的数据找回。" #: admin/fai/remove_branch.tpl:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "所以,如果您确定,请按“删除”继续,否则按“取消”退出。" #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 msgid "Create new FAI object" msgstr "创建新 FAI 对象" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 #, fuzzy msgid "Version" msgstr "允许" #: admin/fai/packageSelect/class_packageSelect.inc:29 #, fuzzy msgid "Package selection" msgstr "组设置" #: admin/fai/class_faiScript.inc:522 #, fuzzy msgid "RDN for FAI script storage." msgstr "编辑记录" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 #, fuzzy msgid "LDAP error" msgstr "LDAP 错误:" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 msgid "Object" msgstr "对象" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1041 #, fuzzy, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "无法创建 '%s',目标名称已经存在。" #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "" #: admin/fai/class_FAI.inc:1077 #, php-format msgid "Creating copy of %s" msgstr "创建 %s 的拷贝" #: admin/fai/class_FAI.inc:1080 msgid "Processing" msgstr "处理" #: admin/fai/class_FAI.inc:1098 #, fuzzy msgid "Could not create new release, the destination DN is already in use." msgstr "无法创建 '%s',目标名称已经存在。" #: admin/fai/class_FAI.inc:1111 #, fuzzy msgid "Error while fetching source DN - aborted!" msgstr "当获取源 dn 时错误──退出!" #: admin/fai/class_FAI.inc:1193 #, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "" #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 #, fuzzy msgid "file is empty" msgstr "选择的文件为空。" #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 #, fuzzy msgid "Script entry" msgstr "编辑记录" #: admin/fai/class_faiScriptEntry.inc:211 #, fuzzy msgid "FAI script entry" msgstr "编辑记录" #: admin/fai/class_faiScriptEntry.inc:221 #, fuzzy msgid "Script Priority" msgstr "优先级" #: admin/fai/fai-list.xml:11 #, fuzzy msgid "List of deployment classes and products" msgstr "只显示带有软件包的分类" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 msgid "Actions" msgstr "动作" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 msgid "Create" msgstr "创建" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 msgid "Variable" msgstr "变量" #: admin/fai/fai-list.xml:107 #, fuzzy msgid "Remove entries" msgstr "成员对象" #: admin/fai/fai-list.xml:118 #, fuzzy msgid "Create branch" msgstr "创建新分支" #: admin/fai/fai-list.xml:125 #, fuzzy msgid "Create freeze" msgstr "当前版本" #: admin/fai/fai-list.xml:132 #, fuzzy msgid "Remove release" msgstr "成员对象" #: admin/fai/faiSummary.tpl:2 #, fuzzy msgid "Summary of used FAI classes" msgstr "FAI 分类名称" #: admin/fai/faiSummary.tpl:5 msgid "FAI object tree" msgstr "自动化安装(FAI)对象树" #: admin/fai/faiSummary.tpl:13 msgid "Reload class and release configuration from parent object." msgstr "从父类重新加载类和发行版配置。" #: admin/fai/faiSummary.tpl:24 #, fuzzy msgid "You are not allowed to view the FAI summary." msgstr "您无权删除这个宏!" #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" #: admin/fai/faiTemplate.tpl:30 msgid "List of template files" msgstr "模板文件列表" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 #, fuzzy msgid "Logical" msgstr "逻辑" #: admin/fai/class_faiPartition.inc:165 #, fuzzy msgid "Primary" msgstr "主要" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "" #: admin/fai/class_faiPartition.inc:181 #, fuzzy msgid "fixed" msgstr "文件" #: admin/fai/class_faiPartition.inc:182 msgid "dynamic" msgstr "" #: admin/fai/class_faiPartition.inc:183 msgid "remaining space" msgstr "" #: admin/fai/class_faiPartition.inc:188 msgid "KB" msgstr "" #: admin/fai/class_faiPartition.inc:189 msgid "MB" msgstr "" #: admin/fai/class_faiPartition.inc:190 msgid "GB" msgstr "" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "" #: admin/fai/class_faiPartition.inc:198 msgid "always" msgstr "" #: admin/fai/class_faiPartition.inc:199 msgid "reinstall" msgstr "" #: admin/fai/class_faiPartition.inc:203 msgid "swap space" msgstr "" #: admin/fai/class_faiPartition.inc:312 #, fuzzy msgid "spare" msgstr "保存" #: admin/fai/class_faiPartition.inc:315 #, fuzzy msgid "missing" msgstr "允许" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Minimum partition size" msgstr "分区" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Maximum partition size" msgstr "分区" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 #, fuzzy msgid "FAI partition table" msgstr "新分区表" #: admin/fai/class_faiPartitionTable.inc:789 #, fuzzy msgid "RDN for FAI partition storage." msgstr "新分区表" #: admin/fai/faiVariableEntry.tpl:3 #, fuzzy msgid "FAI variable entry" msgstr "变量内容" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 msgid "Variable attributes" msgstr "变量属性" #: admin/fai/fai-filter.xml:18 #, fuzzy msgid "FAI objects" msgstr "自动化安装(FAI)对象树" #: admin/fai/fai-filter.xml:32 #, fuzzy msgid "Opsi packages" msgstr "使用软件包" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "" #: admin/fai/class_faiHookEntry.inc:229 #, fuzzy msgid "Hook entry" msgstr "删除记录" #: admin/fai/faiNewBranch.tpl:5 #, fuzzy msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" "您现在将创建一个分支或者锁定分支。这个动作将现存的发行版克隆为另外的名字。分" "支可以正常编辑。锁定分支的FAI 分类无法编辑,只是另外的分类可以。分支名字由字" "母数字组成,保留字除外,如 'scripts', 'hooks', 'partitions', 'variables', " "'templates' 和 'fai'。" #: admin/fai/faiNewBranch.tpl:7 #, fuzzy msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" "分支作为当前所选分支的子发行版被创建。例如在 SARGE 中创建一个名为 1.0.2 的新" "分支,将会产生一个新分支名为 SARGE/1.0.2。" #: admin/fai/faiNewBranch.tpl:12 msgid "Please enter a name for the branch" msgstr "请为该分支输入一个名称" #: admin/fai/faiNewBranch.tpl:23 msgid "Processing the requested operation" msgstr "处理请求的操作" #: admin/fai/faiNewBranch.tpl:24 #, fuzzy msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" "一旦拷贝完成,您可以滚动页面到最下端,按“继续”按钮继续 fai 管理对话框。" #: admin/fai/faiNewBranch.tpl:29 #, fuzzy msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "您的浏览器不支持 iframe,请使用这个链接来执行请求的操作。" #: admin/fai/faiNewBranch.tpl:31 msgid "Perform requested operation." msgstr "执行请求的操作。" #: admin/fai/faiNewBranch.tpl:32 msgid "Initiate operation" msgstr "初始操作" #: admin/fai/askClassName.tpl:6 #, fuzzy msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" "在 FAI 管理中添加一个新分类,需要一个分类名。您必须为唯一的 FAI 分类提供一个" "唯一类名,而您可以为不同的 FAI 分类使用相同的类名。在最后一种情况,FAI 会自动" "包含所有不同分类类型到唯一一个类名中。" #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "请使用下面的一个方法来选择新 FAI 分类的名称。" #: admin/fai/askClassName.tpl:17 #, fuzzy msgid "FAI class creator" msgstr "自动化安装(FAI)类" #: admin/fai/askClassName.tpl:20 #, fuzzy msgid "Class settings" msgstr "用户设置" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "手工输入 FAI 分类名称" #: admin/fai/askClassName.tpl:43 #, fuzzy msgid "Class name selector" msgstr "类名" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "从现存类的列表中选择一个 FAI 分类名称" #: admin/fai/askClassName.tpl:57 msgid "Choose class name" msgstr "选择分类名" #: admin/fai/class_faiPackageConfiguration.inc:68 #, php-format msgid "Debconf information for package '%s'" msgstr "软件包'%s' 的 Debconf 信息" #: admin/fai/class_faiVariable.inc:386 #, fuzzy msgid "FAI variable" msgstr "显示 FAI 变量" #: admin/fai/class_faiVariable.inc:399 #, fuzzy msgid "RDN for FAI variable storage." msgstr "变量内容" #: admin/fai/faiPartition.tpl:2 #, fuzzy msgid "Partition" msgstr "分区" #: admin/fai/faiPartition.tpl:4 #, fuzzy msgid "FAI partition" msgstr "添加分区" #: admin/fai/faiPartition.tpl:80 msgid "Resize existing partition" msgstr "" #: admin/fai/faiPartition.tpl:85 #, fuzzy msgid "Boot able" msgstr "Hook 集合" #: admin/fai/faiPartition.tpl:122 #, fuzzy msgid "Toggle missing" msgstr "切换信息" #: admin/fai/faiPartition.tpl:123 #, fuzzy msgid "Toggle spare" msgstr "切换删除标记" #: admin/fai/faiPartition.tpl:134 #, fuzzy msgid "File system" msgstr "系统类型" #: admin/fai/faiPartition.tpl:141 #, fuzzy msgid "File system create options" msgstr "查看系统信息" #: admin/fai/faiPartition.tpl:151 msgid "Encrypted" msgstr "" #: admin/fai/faiPartition.tpl:153 #, fuzzy msgid "Tune options" msgstr "挂载选项" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "状态" #: admin/fai/class_faiPackage.inc:233 msgid "Invalid package names" msgstr "" #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "" #: admin/fai/class_faiPackage.inc:424 #, fuzzy msgid "Configured" msgstr "配置" #: admin/fai/class_faiPackage.inc:430 msgid "Package marked for removal" msgstr "软件包标记为删除" #: admin/fai/class_faiPackage.inc:447 #, fuzzy msgid "Mark package for removal" msgstr "软件包标记为删除" #: admin/fai/class_faiPackage.inc:453 #, fuzzy msgid "Configure this package" msgstr "配置文件" #: admin/fai/class_faiPackage.inc:458 #, fuzzy msgid "Remove this package" msgstr "删除图片" #: admin/fai/class_faiPackage.inc:537 #, fuzzy msgid "Please select a least one package!" msgstr "请选择至少一个软件包。" #: admin/fai/class_faiPackage.inc:541 #, fuzzy msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "请为您仓库的设置选择一个有效的组合。" #: admin/fai/class_faiPackage.inc:668 msgid "Package" msgstr "软件包" #: admin/fai/class_faiPackage.inc:669 #, fuzzy msgid "FAI Package list" msgstr "软件包列表" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "" #: admin/fai/class_faiPackage.inc:690 msgid "Packages" msgstr "软件包" #: admin/fai/class_faiPackage.inc:692 #, fuzzy msgid "Install Method" msgstr "安装方法" #: admin/fai/class_faiPackage.inc:693 #, fuzzy msgid "Package configuration" msgstr "Schema 配置" #: admin/fai/class_faiTemplateEntry.inc:118 msgid "no file uploaded yet" msgstr "还没有上传文件" #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "存在于数据库 (大小: %s 字节)" #: admin/fai/class_faiTemplateEntry.inc:290 #, fuzzy msgid "Template entry" msgstr "模板用户" #: admin/fai/class_faiTemplateEntry.inc:300 #, fuzzy msgid "Template file" msgstr "模板集" #: admin/fai/class_faiTemplateEntry.inc:301 #, fuzzy msgid "Template path" msgstr "模板名称" #: admin/fai/class_faiTemplateEntry.inc:302 #, fuzzy msgid "File owner" msgstr "文件名" #: admin/fai/class_faiSummaryTab.inc:50 msgid "Profiles" msgstr "Profiles" #: admin/fai/class_faiSummaryTab.inc:95 #, fuzzy msgid "Unknown FAI information source!" msgstr "个人信息" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 #, fuzzy msgid "You can't use this plug-in until FAI is activated." msgstr "直到激活 FAI,您不能使用这个插件。" #: admin/fai/class_faiSummaryTab.inc:228 msgid "This object has no FAI classes assigned." msgstr "这个对象没有分配 FAI 类。" #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "自动化安装说明" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "" #: admin/fai/class_faiSummaryTab.inc:348 msgid "No." msgstr "编号" #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "" #: admin/fai/faiPartitionTable.tpl:38 msgid "Discs" msgstr "Discs" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 #, fuzzy msgid "Add disk" msgstr "添加" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 msgid "Add RAID" msgstr "" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 msgid "Add volume group" msgstr "" #: admin/fai/class_debconfTemplate.inc:208 msgid "This package has no debconf options." msgstr "这个软件包没有 debconf 选项。" #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" #: admin/systems/services/repository/repository-list.xml:10 #, fuzzy msgid "List of repositories" msgstr "用户列表" #: admin/systems/services/repository/repository-list.xml:14 #, fuzzy msgid "Service" msgstr "服务" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 #, fuzzy msgid "Sections" msgstr "节" #: admin/systems/services/repository/servRepositorySetup.tpl:3 #, fuzzy msgid "FAI Repository" msgstr "仓库" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 #, fuzzy msgid "Parent server" msgstr "保留" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 msgid "URL" msgstr "" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 #, fuzzy msgid "Repository service" msgstr "仓库" #: admin/systems/services/repository/class_servRepository.inc:158 #, fuzzy msgid "FAI release" msgstr "自动化安装(FAI)类" #: admin/systems/services/repository/class_servRepository.inc:402 msgid "Services" msgstr "服务" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" #: admin/systems/services/repository/class_servRepository.inc:424 #, fuzzy msgid "Releases" msgstr "发行" #~ msgid "SUID" #~ msgstr "SUID" #~ msgid "SGID" #~ msgstr "SGID" #, fuzzy #~ msgid "Freezed" #~ msgstr "频率" #~ msgid "FS type" #~ msgstr "文件系统类型" #~ msgid "FS option" #~ msgstr "文件系统选项" #~ msgid "FS options" #~ msgstr "文件系统选项" #~ msgid "" #~ "This includes all account data, system access rules, imap settings, etc. " #~ "for this user. Please double check if your really want to do this since " #~ "there is no way for GOsa to get your data back." #~ msgstr "" #~ "这包含该用户所有账号数据,系统访问规则,imap 设置等等。请再次检查您是否要" #~ "这么做,因为 GOsa 没有办法将您的数据找回。" #~ msgid "Objects" #~ msgstr "对象" #~ msgid "Delete" #~ msgstr "删除" #, fuzzy #~ msgid "Filter" #~ msgstr "过滤器" #~ msgid "Base" #~ msgstr "位置" #~ msgid "Submit" #~ msgstr "提交" #~ msgid "This list displays all assigned class names for this profile." #~ msgstr "这个列表显示该 profile 所有分配的类名。" #~ msgid "edit" #~ msgstr "编辑" #~ msgid "delete" #~ msgstr "删除" #~ msgid "List of FAI objects (Fully Automatic Installation)" #~ msgstr "FAI (全自动安装)对象列表" #~ msgid "Information" #~ msgstr "提示信息" #~ msgid "" #~ "This menu allows you to select FAI class names and to add them to the " #~ "currently edited profile." #~ msgstr "这个菜单允许您为当前编辑的配置添加 FAI 类名。" #~ msgid "Filters" #~ msgstr "过滤器" #~ msgid "Show only classes with templates" #~ msgstr "只显示带有模板的分类" #~ msgid "Show only classes with scripts" #~ msgstr "只显示带有脚本的分类" #~ msgid "Show only classes with hooks" #~ msgstr "只显示带有钩子的分类" #~ msgid "Show only classes with variables" #~ msgstr "只显示带有变量的分类" #~ msgid "Show only classes with packages" #~ msgstr "只显示带有软件包的分类" #~ msgid "Show only classes with partitions" #~ msgstr "只显示带有分区的分类" #~ msgid "Display objects matching" #~ msgstr "显示匹配对象" #~ msgid "Regular expression for matching object names" #~ msgstr "匹配对象名的正则表达式" #, fuzzy #~ msgid "Sort direction" #~ msgstr "节" #~ msgid "Action" #~ msgstr "行动" #~ msgid "Current release" #~ msgstr "当前版本" #, fuzzy #~ msgid "Create read-only release" #~ msgstr "当前版本" #~ msgid "Delete current release" #~ msgstr "删除当前版本" #~ msgid "Show profiles" #~ msgstr "显示 profiles" #~ msgid "Show templates" #~ msgstr "显示模板" #~ msgid "Show scripts" #~ msgstr "显示脚本" #~ msgid "Show hooks" #~ msgstr "显示钩子" #~ msgid "Show variables" #~ msgstr "显示变量" #~ msgid "Show packages" #~ msgstr "显示软件包" #, fuzzy #~ msgid "Show partitions" #~ msgstr "显示分区" #, fuzzy #~ msgid "Show netboot products" #~ msgstr "对象组" #, fuzzy #~ msgid "Show localboot products" #~ msgstr "对象组" #~ msgid "Open" #~ msgstr "打开" #~ msgid "Close" #~ msgstr "关闭" #~ msgid "List of available packages" #~ msgstr "可用软件包列表" #, fuzzy #~ msgid "" #~ "The search returned too many results, only the first 200 entries are " #~ "shown." #~ msgstr "" #~ "您提供的查询字符串 '%s' 返回太多结果。为减少内存占用,只显示前200条。" #~ msgid "" #~ "This menu allows you to select multiple packages to add them to the " #~ "currently edited package list." #~ msgstr "这个菜单允许您为当前编辑的软件包列表添加多个软件包。" #~ msgid "Please enter your search string here" #~ msgstr "请在这里输入您的查询字符串" #~ msgid "" #~ "This list displays all assigned package names for this repository " #~ "settings." #~ msgstr "对于该仓库的设置,这个列表显示所有已分配的软件包名称。" #, fuzzy #~ msgid "This menu allows you to create, delete and edit repository settings." #~ msgstr "这个菜单允许您创建,删除和修改 FAI 分类。" #, fuzzy #~ msgid "Add repository" #~ msgstr "目录" #~ msgid "" #~ "This includes 'all' object information. Please double check if your " #~ "really want to do this since there is no way for GOsa to get your data " #~ "back." #~ msgstr "" #~ "这包含“所有”对象信息。请再次检查您是否要这么做,因为 GOsa 没有办法将您的数" #~ "据找回。" #~ msgid "" #~ "Best thing to do before performing this action would be to save the " #~ "current contents of your LDAP tree in a file. So - if you've done so - " #~ "press 'Delete' to continue or 'Cancel' to abort." #~ msgstr "" #~ "最好在执行这个操作之前,保存当前 LDAP 树中的内容到一个文件。所以,如果您已" #~ "经这么做了,按“删除”继续或者按“取消”退出。" #, fuzzy #~ msgid "Select the object you want to cut:" #~ msgstr "选择查看 GOsa 组" #, fuzzy #~ msgid "Roles" #~ msgstr "角色" #, fuzzy #~ msgid "Role management" #~ msgstr "管理" #~ msgid "Role" #~ msgstr "角色" #, fuzzy #~ msgid "Edit role" #~ msgstr "编辑宏" #~ msgid "Use" #~ msgstr "使用" #~ msgid "A new class name." #~ msgstr "一个新类名称。" #, fuzzy #~ msgid "List of classes" #~ msgstr "FAI 类列表" #, fuzzy #~ msgid "Select all" #~ msgstr "选择" #, fuzzy #~ msgid "Class types" #~ msgstr "分类类型" #, fuzzy #~ msgid "Display objects of type '%s'." #~ msgstr "显示匹配对象" #~ msgid "Display users matching" #~ msgstr "显示匹配的用户" #~ msgid "PT" #~ msgstr "PT" #~ msgid "S" #~ msgstr "S" #~ msgid "H" #~ msgstr "H" #~ msgid "V" #~ msgstr "V" #, fuzzy #~ msgid "Templates " #~ msgstr "模板" #, fuzzy #~ msgid "I" #~ msgstr "NI" #~ msgid "PK" #~ msgstr "PK" #, fuzzy #~ msgid "Number of listed %s" #~ msgstr "部门名称" #, fuzzy #~ msgid "profiles" #~ msgstr "Profiles" #, fuzzy #~ msgid "partitions" #~ msgstr "%s 分区" #, fuzzy #~ msgid "scripts" #~ msgstr "脚本" #, fuzzy #~ msgid "hooks" #~ msgstr "钩子" #, fuzzy #~ msgid "variables" #~ msgstr "变量" #, fuzzy #~ msgid "templates" #~ msgstr "模板" #, fuzzy #~ msgid "packages" #~ msgstr "软件包" #, fuzzy #~ msgid "departments" #~ msgstr "提交部门" #, fuzzy #~ msgid "localboot products" #~ msgstr "对象组" #, fuzzy #~ msgid "Partition start size" #~ msgstr "分区" #, fuzzy #~ msgid "Partition stop size" #~ msgstr "分区" #, fuzzy #~ msgid "Secondary" #~ msgstr "节" #, fuzzy #~ msgid "Raid 0" #~ msgstr "读" #, fuzzy #~ msgid "Raid 1" #~ msgstr "读" #, fuzzy #~ msgid "Raid 5" #~ msgstr "读" #, fuzzy #~ msgid "Raid 6" #~ msgstr "读" #~ msgid "%s partition" #~ msgstr "%s 分区" #~ msgid "%s partition(s)" #~ msgstr "%s 分区" #~ msgid "Choose a disk to delete or edit" #~ msgstr "选择一个要删除或修改的磁盘" #, fuzzy #~ msgid "Number of listed '%s'" #~ msgstr "部门名称" #, fuzzy #~ msgid "Deployment status" #~ msgstr "当前版本" #, fuzzy #~ msgid "System deployment status" #~ msgstr "系统管理" #, fuzzy #~ msgid "" #~ "This menu allows you to remove and change the properties of GOsa tasks." #~ msgstr "" #~ "这个菜单允许您添加,删除和修改所选系统的属性。您只能添加已经启动过一次的系" #~ "统。" #, fuzzy #~ msgid "List of queued jobs" #~ msgstr "部门列表" #~ msgid "Import" #~ msgstr "导入" #, fuzzy #~ msgid "Resume" #~ msgstr "删除" #, fuzzy #~ msgid "Pause" #~ msgstr "粘贴" #, fuzzy #~ msgid "Abort" #~ msgstr "端口" #, fuzzy #~ msgid "Reload" #~ msgstr "读" #, fuzzy #~ msgid "Target" #~ msgstr "芯片组" #, fuzzy #~ msgid "Schedule" #~ msgstr "PHPscheduleit" #, fuzzy #~ msgid "Move up" #~ msgstr "模式" #, fuzzy #~ msgid "Move down" #~ msgstr "模式" #, fuzzy #~ msgid "Execute now" #~ msgstr "执行" #, fuzzy #~ msgid "Abort job" #~ msgstr "端口" #, fuzzy #~ msgid "Waiting" #~ msgstr "警告" #, fuzzy #~ msgid "Processed" #~ msgstr "处理" #, fuzzy #~ msgid "Detection" #~ msgstr "节" #, fuzzy #~ msgid "Cannot update queue entry: %s" #~ msgstr "未知 FAIstate %s" #, fuzzy #~ msgid "Cannot load queue entries: %s" #~ msgstr "未知 FAIstate %s" #, fuzzy #~ msgid "System deployment" #~ msgstr "系统管理" #, fuzzy #~ msgid "System list" #~ msgstr "信赖的系统" #, fuzzy #~ msgid "ID" #~ msgstr "GID" #, fuzzy #~ msgid "Timestamp" #~ msgstr "过期" #, fuzzy #~ msgid "Targets" #~ msgstr "芯片组" #, fuzzy #~ msgid "System / Department" #~ msgstr "部门" #, fuzzy #~ msgid "Display users" #~ msgstr "显示匹配的用户" #, fuzzy #~ msgid "Display groups" #~ msgstr "显示用户组" #~ msgid "Submit department" #~ msgstr "提交部门" #, fuzzy #~ msgid "Abort installation" #~ msgstr "Windows 工作站" #, fuzzy #~ msgid "Reload GOto settings" #~ msgstr "Posix 设置" #, fuzzy #~ msgid "System analysis" #~ msgstr "系统" #, fuzzy #~ msgid "Installation activation" #~ msgstr "Windows 工作站" #, fuzzy #~ msgid "Reload LDAP config" #~ msgstr "重新加载列表" #, fuzzy #~ msgid "Time schedule" #~ msgstr "PHPscheduleit" #, fuzzy #~ msgid "Year" #~ msgstr "查找" #, fuzzy #~ msgid "Month" #~ msgstr "月" #, fuzzy #~ msgid "Day" #~ msgstr "五月" #~ msgid "Hour" #~ msgstr "小时" #, fuzzy #~ msgid "Minute" #~ msgstr "打印机" #, fuzzy #~ msgid "Reload fai release db" #~ msgstr "上传" #, fuzzy #~ msgid "Send message" #~ msgstr "挂起邮件" #, fuzzy #~ msgid "Subject" #~ msgstr "对象" #~ msgid "Message" #~ msgstr "信息" #, fuzzy #~ msgid "Create '%s' job" #~ msgstr "创建新 FAI 对象" #~ msgid "Add" #~ msgstr "添加" #~ msgid "Apply" #~ msgstr "应用" #~ msgid "Cancel" #~ msgstr "取消" #, fuzzy #~ msgid "Display server" #~ msgstr "显示名称" #, fuzzy #~ msgid "Display workstation" #~ msgstr "工作站" #, fuzzy #~ msgid "Display object groups" #~ msgstr "对象组列表" #~ msgid "Server" #~ msgstr "服务器" #~ msgid "Workstation" #~ msgstr "工作站" #~ msgid "Object group" #~ msgstr "对象组" #, fuzzy #~ msgid "Activate new" #~ msgstr "活动" #, fuzzy #~ msgid "Progress" #~ msgstr "处理" #, fuzzy #~ msgid "Sender" #~ msgstr "发送者" #, fuzzy #~ msgid "Target users" #~ msgstr "域用户" #, fuzzy #~ msgid "Target groups" #~ msgstr "部门" #, fuzzy #~ msgid "Available targets" #~ msgstr "可用的应用程序" #~ msgid "Object name" #~ msgstr "对象名称" #, fuzzy #~ msgid "Select to see object groups" #~ msgstr "选择查看 GOsa 组" #, fuzzy #~ msgid "Show object groups" #~ msgstr "对象组" #~ msgid "Select to see servers" #~ msgstr "选择显示服务器" #~ msgid "Show servers" #~ msgstr "显示服务器" #~ msgid "Select to see workstations" #~ msgstr "选择查看工作站" #~ msgid "Show workstations" #~ msgstr "显示工作站" #, fuzzy #~ msgid "Select to see incoming objects" #~ msgstr "选择查看电话" #, fuzzy #~ msgid "Show new objects" #~ msgstr "成员对象" #~ msgid "Regular expression for matching group names" #~ msgstr "用于匹配组名的正则表达式" #, fuzzy #~ msgid "Available logs" #~ msgstr "可用的应用程序" #, fuzzy #~ msgid "Selected log" #~ msgstr "选择" #, fuzzy #~ msgid "No logs for this host available!" #~ msgstr "文件可用。" #, fuzzy #~ msgid "Import jobs" #~ msgstr "导入" #, fuzzy #~ msgid "timestamp" #~ msgstr "过期" #, fuzzy #~ msgid "MAC-address" #~ msgstr "住址" #, fuzzy #~ msgid "job type" #~ msgstr "文件系统类型" #, fuzzy #~ msgid "object group" #~ msgstr "对象组" #, fuzzy #~ msgid "IP-address" #~ msgstr "住址" #, fuzzy #~ msgid "Select list to import" #~ msgstr "选择查看打印机" #, fuzzy #~ msgid "Browse" #~ msgstr "位置" #, fuzzy #~ msgid "MAC" #~ msgstr "ACL" #, fuzzy #~ msgid "IP" #~ msgstr "NI" #~ msgid "none" #~ msgstr "无" #, fuzzy #~ msgid "Date" #~ msgstr "粘贴" #, fuzzy #~ msgid "GOto log view" #~ msgstr "GOsa 帮助浏览器" #, fuzzy #~ msgid "Cannot delete '%s': object does not exist!" #~ msgstr "软件包文件 '%s' 不存在。" #, fuzzy #~ msgid "System mass deployment" #~ msgstr "系统管理" #, fuzzy #~ msgid "Edit product" #~ msgstr "编辑宏" #~ msgid "Edit class" #~ msgstr "编辑分类" #~ msgid "Delete class" #~ msgstr "删除分类" #, fuzzy #~ msgid "Opsi netboot package" #~ msgstr "使用软件包" #, fuzzy #~ msgid "Copy" #~ msgstr "复制" #~ msgid "copy" #~ msgstr "复制" #~ msgid "Copy this entry" #~ msgstr "拷贝条目" #, fuzzy #~ msgid "Sudo generic" #~ msgstr "通用配置" #~ msgid "package is configured" #~ msgstr "软件包已配置" #~ msgid "Branches" #~ msgstr "分支" #~ msgid "Create new locked branch" #~ msgstr "创建新锁定分支" #, fuzzy #~ msgid "Cut" #~ msgstr "剪切" #~ msgid "cut" #~ msgstr "剪切" #~ msgid "Cut this entry" #~ msgstr "剪切条目" #~ msgid "Choosen packages" #~ msgstr "选择的软件包" #, fuzzy #~ msgid "File system encryption" #~ msgstr "查看系统信息" #~ msgid "Fully Automatic Installation - management" #~ msgstr "全自动安装 ─ 管理" #~ msgid "Fully Automatic Installation" #~ msgstr "全自动安装 (FAI)" #~ msgid "This table displays all FAI classes in the selected tree." #~ msgstr "这个表显示在所选树下的所有 FAI 分类。" #, fuzzy #~ msgid "Package file '%s' does not exist!" #~ msgstr "软件包文件 '%s' 不存在。" #, fuzzy #~ msgid "Name is already in use!" #~ msgstr "该名称已经被使用。" #, fuzzy #~ msgid "Please enter a script!" #~ msgstr "请输入一个脚本。" #~ msgid "You're about to delete all information about the FAI class at '%s'." #~ msgstr "您将要删除在 '%s' 的 FAI 类所有信息。" #, fuzzy #~ msgid "You have no permission to delete this entry!" #~ msgstr "您无权删除这个组件!" #, fuzzy #~ msgid "You're about to delete the following entry %s" #~ msgstr "您将要删除条目 %s。" #, fuzzy #~ msgid "You're about to delete the following entries %s" #~ msgstr "您将要删除条目 %s。" #~ msgid "You're about to delete a fai branch / freeze '%s'." #~ msgstr "您将要删除一个 fai 分支 / freeze '%s'。" #, fuzzy #~ msgid "Branch name is not valid!" #~ msgstr "指定的 branch 名称无效。" #, fuzzy #~ msgid "Freeze name is not valid!" #~ msgstr "指定的 freeze 名称无效。" #, fuzzy #~ msgid "You have no permission to create a new branch!" #~ msgstr "您无权删除这个用户!" #~ msgid "Ok" #~ msgstr "好" #~ msgid "Packages bundle" #~ msgstr "软件包集合" #, fuzzy #~ msgid "There is already a template with the given name." #~ msgstr "已经由同名文件上传。" #~ msgid "Please specify a value for attribute 'file'." #~ msgstr "请为属性“文件”指定一个值" #, fuzzy #~ msgid "Please specify a valid value for attribute 'Destination path'." #~ msgstr "请为属性“路径”给定一个值" #, fuzzy #~ msgid "Please enter a file name." #~ msgstr "请输入一个名称。" #~ msgid "Please enter a user." #~ msgstr "请输入一个用户。" #~ msgid "Please enter a valid user. Only a-z/0-9 are allowed." #~ msgstr "请输入一个有效用户名。只允许 a-z/0-9。" #~ msgid "Please enter a group." #~ msgstr "请输入一个组。" #~ msgid "Please enter a valid group. Only a-z/0-9 are allowed." #~ msgstr "请输入一个有效组名。只允许 a-z/0-9。" #~ msgid "Create new FAI object - partition table." #~ msgstr "创建新 FAI 对象 ─ 分区表。" #~ msgid "Create new FAI object - package bundle." #~ msgstr "创建新 FAI 对象 ─ 软件包。" #~ msgid "Create new FAI object - script bundle." #~ msgstr "创建新 FAI 对象 ─ 脚本包。" #~ msgid "Create new FAI object - variable bundle." #~ msgstr "创建新 FAI 对象 ─ 变量包。" #~ msgid "Create new FAI object - hook bundle." #~ msgstr "创建新 FAI 对象 ─ 钩子包。" #~ msgid "Create new FAI object - profile." #~ msgstr "创建新 FAI 对象 ─ profile。" #~ msgid "Create new FAI object - template." #~ msgstr "创建新 FAI 对象 ─ 模板。" #~ msgid "Spaces are not allowed within class names." #~ msgstr "对象名中不允许有空格。" #~ msgid "The given class name is empty." #~ msgstr "给出的类名为空。" #~ msgid "The specified class name is already in use for this object type." #~ msgstr "对于此对象类,指定的类名已经被使用了。" #, fuzzy #~ msgid "There is already a variable with the given name." #~ msgstr "已经由同名文件上传。" #~ msgid "Please specify a value for the attribute 'content'." #~ msgstr "请为属性“内容”给定一个值。" #~ msgid "Please enter a name." #~ msgstr "请输入一个名称。" #~ msgid "Display FAI profile objects" #~ msgstr "显示 FAI profile 对象" #~ msgid "Display FAI template objects" #~ msgstr "显示 FAI 模板对象" #~ msgid "Display FAI scripts" #~ msgstr "显示 FAI 脚本" #~ msgid "Display FAI hooks" #~ msgstr "显示 FAI 钩子" #~ msgid "Display FAI variables" #~ msgstr "显示 FAI 变量" #~ msgid "Display FAI packages" #~ msgstr "显示 FAI 软件包" #~ msgid "Display FAI partitions" #~ msgstr "显示 FAI 分区" #, fuzzy #~ msgid "Number of listed profiles" #~ msgstr "部门名称" #, fuzzy #~ msgid "Number of listed partitions" #~ msgstr "部门名称" #, fuzzy #~ msgid "Number of listed scripts" #~ msgstr "脚本列表" #, fuzzy #~ msgid "Number of listed variables" #~ msgstr "已分配变量列表" #, fuzzy #~ msgid "Number of listed templates" #~ msgstr "部门名称" #, fuzzy #~ msgid "Number of listed packages" #~ msgstr "部门名称" #, fuzzy #~ msgid "Number of listed departments" #~ msgstr "部门名称" #, fuzzy #~ msgid "Please specify a valid disc name." #~ msgstr "请提供一个有效的脚本名。" #~ msgid "Please enter a valid mount point for partition %s." #~ msgstr "请输入分区 %s 的一个有效挂载点" #~ msgid "Please enter a valid partition size for partition %s." #~ msgstr "请为分区 %s 输入一个有效的分区大小。" #~ msgid "Please enter a valid range for partition %s." #~ msgstr "请为分区 %s 输入一个有效范围。" #~ msgid "Please enter a range for partition size for partition %s." #~ msgstr "请为分区 %s 输入分区大小范围。" #~ msgid "Back" #~ msgstr "返回" #, fuzzy #~ msgid "Saving of FAI/package list with dn '%s' failed." #~ msgstr "保存 dn 为 '%s' 的 user/kolab 账号为空。" #, fuzzy #~ msgid "Saving of FAI/hook with dn '%s' failed." #~ msgstr "保存 dn 为 '%s' 的 user/kolab 账号为空。" #, fuzzy #~ msgid "Saving of FAI/variable with dn '%s' failed." #~ msgstr "保存 dn 为 '%s' 的 user/kolab 账号为空。" #, fuzzy #~ msgid "Saving of FAI/template with dn '%s' failed." #~ msgstr "保存 dn 为 '%s' 的 user/kolab 账号为空。" #, fuzzy #~ msgid "Creating of FAI/script with dn '%s' failed." #~ msgstr "创建 FAI script base 失败" #, fuzzy #~ msgid "Saving of FAI/partition table with dn '%s' failed." #~ msgstr "保存 FAI 分区表失败" #, fuzzy #~ msgid "Saving of FAI/profile with dn '%s' failed." #~ msgstr "保存 dn 为 '%s' 的 user/kolab 账号为空。" #~ msgid "Please select a valid file." #~ msgstr "请选择一个有效文件。" #, fuzzy #~ msgid "There is already a hook with the given name." #~ msgstr "已经存在一个有相同 cn 的对象。" #~ msgid "Please enter a value for script." #~ msgstr "请为脚本输入一个值。" #, fuzzy #~ msgid "There is already a script with the given name." #~ msgstr "已经存在一个有相同 cn 的对象。" #~ msgid "Please assign at least one class to this profile." #~ msgstr "请为此 profile 分配至少一个分类。" #~ msgid "Please enter a valid name." #~ msgstr "请输入一个有效名称。" #, fuzzy #~ msgid "There is already a FAI object with this class name defined." #~ msgstr "已经有一个 profile 使用了这个类名。" gosa-plugin-fai-2.7.4/locale/nl/0000755000175000017500000000000011752422555015362 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/nl/LC_MESSAGES/0000755000175000017500000000000011752422555017147 5ustar cajuscajusgosa-plugin-fai-2.7.4/locale/nl/LC_MESSAGES/messages.po0000644000175000017500000021310211475426262021316 0ustar cajuscajus# translation of messages.po to Dutch # GOsa2 Translations # Copyright (C) 2003 GONICUS GmbH, Germany # This file is distributed under the same license as the GOsa2 package. # Alfred Schroeder , 2004. # Cajus Pollmeier , 2004. # # Translator: # Niels Klomp (CareWorks ICT Services) , 2005. msgid "" msgstr "" "Project-Id-Version: messages\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-04 15:23+0100\n" "PO-Revision-Date: 2006-06-02 16:58+0100\n" "Last-Translator: Niels Klomp (CareWorks ICT Services) \n" "Language-Team: CareWorks ICT Services \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: admin/fai/faiTemplateEntry.tpl:3 admin/fai/faiVariable.tpl:5 #: admin/fai/faiProfile.tpl:5 admin/fai/faiScriptEntry.tpl:5 #: admin/fai/faiScript.tpl:5 admin/fai/faiPackage.tpl:5 #: admin/fai/faiHook.tpl:5 admin/fai/faiHookEntry.tpl:6 #: admin/fai/faiTemplate.tpl:5 admin/fai/faiVariableEntry.tpl:6 #: admin/fai/faiPartitionTable.tpl:5 msgid "Generic" msgstr "Algemeen" #: admin/fai/faiTemplateEntry.tpl:5 admin/fai/class_faiTemplateEntry.inc:291 #, fuzzy msgid "FAI template entry" msgstr "Nieuw sjabloon" #: admin/fai/faiTemplateEntry.tpl:8 admin/fai/faiDiskEntry.tpl:33 #: admin/fai/faiProfile.tpl:7 admin/fai/faiScriptEntry.tpl:7 #: admin/fai/faiScript.tpl:7 admin/fai/faiPackage.tpl:7 #: admin/fai/faiHook.tpl:7 admin/fai/faiHookEntry.tpl:8 #: admin/fai/faiVariableEntry.tpl:8 admin/fai/faiPartitionTable.tpl:7 #: admin/systems/services/repository/servRepositorySetup.tpl:7 #, fuzzy msgid "Generic settings" msgstr "Algemene wachtrij instellingen" #: admin/fai/faiTemplateEntry.tpl:10 admin/fai/class_faiTemplateEntry.inc:245 #, fuzzy msgid "File name" msgstr "Bestandsnaam" #: admin/fai/faiTemplateEntry.tpl:19 admin/fai/class_faiTemplateEntry.inc:240 msgid "Destination path" msgstr "Doelpad" #: admin/fai/faiTemplateEntry.tpl:28 admin/fai/faiDiskEntry.tpl:35 #: admin/fai/class_faiPartitionTableEntry.inc:434 admin/fai/faiVariable.tpl:19 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:488 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:704 #: admin/fai/faiProfile.tpl:19 admin/fai/faiScriptEntry.tpl:19 #: admin/fai/faiScript.tpl:19 admin/fai/faiPackage.tpl:18 #: admin/fai/faiHook.tpl:18 admin/fai/class_faiProfile.inc:374 #: admin/fai/faiPartitionTableEntry.tpl:13 admin/fai/faiHookEntry.tpl:20 #: admin/fai/class_faiVariableEntry.inc:135 #: admin/fai/class_faiTemplate.inc:542 admin/fai/class_faiScript.inc:81 #: admin/fai/class_faiScript.inc:533 admin/fai/class_faiScriptEntry.inc:219 #: admin/fai/faiTemplate.tpl:19 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:797 admin/fai/faiVariableEntry.tpl:20 #: admin/fai/class_faiHookEntry.inc:238 admin/fai/class_faiVariable.inc:407 #: admin/fai/faiPartition.tpl:28 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:689 admin/fai/class_faiTemplateEntry.inc:299 #: admin/fai/faiPartitionTable.tpl:19 msgid "Description" msgstr "Omschrijving" #: admin/fai/faiTemplateEntry.tpl:36 admin/fai/faiTemplateEntry.tpl:39 msgid "Template attributes" msgstr "Sjabloon atributen" #: admin/fai/faiTemplateEntry.tpl:44 #, fuzzy msgid "Template file status" msgstr "Sjabloon bundel" #: admin/fai/faiTemplateEntry.tpl:46 admin/fai/class_faiTemplateEntry.inc:236 msgid "File" msgstr "Bestand" #: admin/fai/faiTemplateEntry.tpl:50 msgid "Save template" msgstr "Sjabloon opslaan" #: admin/fai/faiTemplateEntry.tpl:51 #, fuzzy msgid "Edit template" msgstr "Sjablonen" #: admin/fai/faiTemplateEntry.tpl:58 #, fuzzy msgid "Full path" msgstr "Fontpad" #: admin/fai/faiTemplateEntry.tpl:70 msgid "Upload" msgstr "Uploaden" #: admin/fai/faiTemplateEntry.tpl:77 #, fuzzy msgid "File attributes" msgstr "Variabele attributen" #: admin/fai/faiTemplateEntry.tpl:79 msgid "Owner" msgstr "Eigenaar" #: admin/fai/faiTemplateEntry.tpl:88 admin/fai/faiTemplateEntry.tpl:134 #: admin/fai/class_faiTemplateEntry.inc:255 #: admin/fai/class_faiTemplateEntry.inc:258 #: admin/fai/class_faiTemplateEntry.inc:260 msgid "Group" msgstr "Groep" #: admin/fai/faiTemplateEntry.tpl:99 msgid "Access" msgstr "Toegang" #: admin/fai/faiTemplateEntry.tpl:102 admin/fai/class_faiTemplateEntry.inc:303 #, fuzzy msgid "File permissions" msgstr "Rechten" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Class" msgstr "Klasse" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Read" msgstr "Lezen" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Write" msgstr "Schrijven" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Execute" msgstr "Commando" #: admin/fai/faiTemplateEntry.tpl:103 msgid "Special" msgstr "Speciaal" #: admin/fai/faiTemplateEntry.tpl:106 admin/fai/class_faiTemplateEntry.inc:249 #: admin/fai/class_faiTemplateEntry.inc:251 msgid "User" msgstr "Gebruiker" #: admin/fai/faiTemplateEntry.tpl:162 msgid "Others" msgstr "Anderen" #: admin/fai/faiTemplateEntry.tpl:186 msgid "sticky" msgstr "sticky" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/class_faiHook.inc:232 admin/fai/class_faiDiskEntry.inc:416 #: admin/fai/tabsPartition.inc:35 admin/fai/class_filterFAI.inc:131 #: admin/fai/class_filterOPSIPackages.inc:40 #: admin/fai/class_faiManagement.inc:258 admin/fai/class_faiManagement.inc:332 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiTemplate.inc:221 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/class_faiScript.inc:224 #: admin/fai/class_FAI.inc:570 admin/fai/class_faiScriptEntry.inc:72 #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/tabsHook.inc:34 #: admin/fai/class_faiPartitionTable.inc:249 #: admin/fai/class_faiPartitionTable.inc:312 #: admin/fai/class_faiHookEntry.inc:77 admin/fai/class_faiHookEntry.inc:80 #: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiSummaryTab.inc:95 #: admin/fai/tabsProfile.inc:35 #: admin/systems/services/repository/class_servRepository.inc:158 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepository.inc:218 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 msgid "Error" msgstr "Fout" #: admin/fai/tabsScript.inc:35 admin/fai/tabsTemplate.inc:35 #: admin/fai/tabsPartition.inc:35 admin/fai/tabsVariable.inc:35 #: admin/fai/tabsPackage.inc:35 admin/fai/tabsHook.inc:34 #: admin/fai/tabsProfile.inc:35 #, fuzzy msgid "Moving the tree failed. Destination tree is subtree of source tree." msgstr "" "Het verplaatsen van de tree is mislukt. Bestemmings-tree is een subtree van " "de bron-tree." #: admin/fai/class_faiTemplateEdit.inc:60 #, php-format msgid "" "The file encoding has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/faiDiskEntry.tpl:3 admin/fai/class_faiDiskEntry.inc:249 #: admin/fai/faiPartitionTableEntry.tpl:3 msgid "Device" msgstr "Apparaat" #: admin/fai/faiDiskEntry.tpl:5 #, fuzzy msgid "FAI disk entry" msgstr "Toon FAI inhakers" #: admin/fai/faiDiskEntry.tpl:8 admin/fai/class_faiDiskEntry.inc:705 #, fuzzy msgid "Disk options" msgstr "FS opties" #: admin/fai/faiDiskEntry.tpl:10 #: admin/fai/class_faiPartitionTableEntry.inc:330 #: admin/fai/class_faiPartitionTableEntry.inc:333 #: admin/fai/class_faiPartitionTableEntry.inc:337 #: admin/fai/class_faiPartitionTableEntry.inc:433 admin/fai/faiVariable.tpl:9 #: admin/fai/class_faiHook.inc:74 admin/fai/class_faiHook.inc:356 #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiDiskEntry.inc:645 #: admin/fai/class_faiDiskEntry.inc:648 admin/fai/class_faiDiskEntry.inc:703 #: admin/fai/faiProfile.tpl:9 admin/fai/faiScriptEntry.tpl:9 #: admin/fai/faiScript.tpl:9 admin/fai/faiPackage.tpl:9 #: admin/fai/classSelect/selectClass-list.xml:28 admin/fai/faiHook.tpl:9 #: admin/fai/class_faiProfile.inc:105 admin/fai/class_faiProfile.inc:276 #: admin/fai/class_faiProfile.inc:286 admin/fai/class_faiProfile.inc:373 #: admin/fai/faiPartitionTableEntry.tpl:7 admin/fai/faiHookEntry.tpl:10 #: admin/fai/class_faiManagement.inc:924 admin/fai/class_faiManagement.inc:930 #: admin/fai/class_faiVariableEntry.inc:87 #: admin/fai/class_faiVariableEntry.inc:96 #: admin/fai/class_faiVariableEntry.inc:99 #: admin/fai/class_faiVariableEntry.inc:134 admin/fai/class_faiTemplate.inc:77 #: admin/fai/class_faiTemplate.inc:406 admin/fai/class_faiTemplate.inc:541 #: admin/fai/class_askClassName.inc:142 admin/fai/class_askClassName.inc:146 #: admin/fai/class_askClassName.inc:150 admin/fai/class_askClassName.inc:154 #: admin/fai/packageSelect/selectPackage-list.xml:40 #: admin/fai/class_faiScript.inc:81 admin/fai/class_faiScript.inc:359 #: admin/fai/class_faiScript.inc:532 admin/fai/class_faiScriptEntry.inc:169 #: admin/fai/class_faiScriptEntry.inc:174 #: admin/fai/class_faiScriptEntry.inc:177 #: admin/fai/class_faiScriptEntry.inc:218 admin/fai/fai-list.xml:28 #: admin/fai/faiTemplate.tpl:9 admin/fai/class_faiPartitionTable.inc:115 #: admin/fai/class_faiPartitionTable.inc:482 #: admin/fai/class_faiPartitionTable.inc:796 admin/fai/faiVariableEntry.tpl:10 #: admin/fai/class_faiHookEntry.inc:186 admin/fai/class_faiHookEntry.inc:191 #: admin/fai/class_faiHookEntry.inc:194 admin/fai/class_faiHookEntry.inc:237 #: admin/fai/class_faiVariable.inc:292 admin/fai/class_faiVariable.inc:406 #: admin/fai/faiPartition.tpl:8 admin/fai/class_faiPackage.inc:161 #: admin/fai/class_faiPackage.inc:551 admin/fai/class_faiPackage.inc:688 #: admin/fai/class_faiTemplateEntry.inc:232 #: admin/fai/class_faiTemplateEntry.inc:298 #: admin/fai/class_faiSummaryTab.inc:349 admin/fai/faiPartitionTable.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:213 #: admin/systems/services/repository/class_servRepositorySetup.inc:43 msgid "Name" msgstr "Naam" #: admin/fai/faiDiskEntry.tpl:20 msgid "fstab key" msgstr "" #: admin/fai/faiDiskEntry.tpl:44 msgid "Disk label" msgstr "" #: admin/fai/faiDiskEntry.tpl:61 admin/fai/faiPartition.tpl:109 msgid "Combined physical partitions" msgstr "" #: admin/fai/faiDiskEntry.tpl:78 admin/fai/faiPartitionTableEntry.tpl:23 msgid "Partition entries" msgstr "Partitie regels" #: admin/fai/faiDiskEntry.tpl:86 admin/fai/faiDiskEntry.tpl:88 #: admin/fai/faiPartitionTableEntry.tpl:31 #: admin/fai/faiPartitionTableEntry.tpl:33 msgid "Add partition" msgstr "Partitie toevoegen" #: admin/fai/faiGroupHandle.tpl:3 #, fuzzy msgid "Please select the objects you want to remove:" msgstr "Geef a.u.b. een nieuwe naam op" #: admin/fai/faiGroupHandle.tpl:5 #, fuzzy msgid "Select the object you want to edit:" msgstr "Selecteer de toe te voegen objecten" #: admin/fai/faiGroupHandle.tpl:7 #, fuzzy msgid "Select the object you want to copy:" msgstr "Selecteer om GOsa groepen te zien" #: admin/fai/faiGroupHandle.tpl:12 #, fuzzy msgid "FAI group selection" msgstr "Groep instellingen" #: admin/fai/faiGroupHandle.tpl:40 #, fuzzy msgid "Frozen" msgstr "Frequentie" #: admin/fai/class_faiPartitionTableEntry.inc:142 #, fuzzy msgid "primary" msgstr "Primaire groep" #: admin/fai/class_faiPartitionTableEntry.inc:142 #, fuzzy msgid "logical" msgstr "Lokaal toevoegen" #: admin/fai/class_faiPartitionTableEntry.inc:149 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/faiPartition.tpl:14 #: admin/fai/class_faiSummaryTab.inc:354 msgid "Type" msgstr "Type" #: admin/fai/class_faiPartitionTableEntry.inc:150 #, fuzzy msgid "Filesystem type" msgstr "Systeemtype" #: admin/fai/class_faiPartitionTableEntry.inc:151 #: admin/fai/class_faiPartitionTableEntry.inc:438 #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiDiskEntry.inc:709 #: admin/fai/class_faiPartition.inc:419 admin/fai/faiPartition.tpl:165 #: admin/fai/class_faiSummaryTab.inc:353 msgid "Mount point" msgstr "Koppelpunt" #: admin/fai/class_faiPartitionTableEntry.inc:152 #: admin/fai/class_faiSummaryTab.inc:352 msgid "Size in MB" msgstr "Grootte in MB" #: admin/fai/class_faiPartitionTableEntry.inc:153 #: admin/fai/class_faiPartitionTableEntry.inc:440 #: admin/fai/class_faiDiskEntry.inc:711 admin/fai/faiPartition.tpl:176 #: admin/fai/class_faiSummaryTab.inc:351 msgid "Mount options" msgstr "Koppelopties" #: admin/fai/class_faiPartitionTableEntry.inc:154 #, fuzzy msgid "Filesystem option" msgstr "systeem informatie bekijken" #: admin/fai/class_faiPartitionTableEntry.inc:155 #: admin/fai/faiPartition.tpl:92 msgid "Preserve" msgstr "Bewaar" #: admin/fai/class_faiPartitionTableEntry.inc:246 msgid "False" msgstr "Nee" #: admin/fai/class_faiPartitionTableEntry.inc:248 msgid "True" msgstr "Ja" #: admin/fai/class_faiPartitionTableEntry.inc:252 #: admin/fai/class_faiPartitionTableEntry.inc:254 admin/fai/fai-list.xml:175 #: admin/systems/services/repository/repository-list.xml:72 #: admin/systems/services/repository/repository-list.xml:98 msgid "Remove" msgstr "Verwijderen" #: admin/fai/class_faiPartitionTableEntry.inc:360 #, php-format msgid "please enter a unique mount point for partition %s" msgstr "Geef a.u.b. een uniek koppelpunt op voor partitie %s" #: admin/fai/class_faiPartitionTableEntry.inc:365 #, php-format msgid "partition %s mount point" msgstr "" #: admin/fai/class_faiPartitionTableEntry.inc:370 #, php-format msgid "" "File system type 'swap' is already used, change file system type for " "partition %s." msgstr "" "Bestandssysteem type 'swap' wordt al gebruikt. Verander bestandssysteem type " "voor partitie %s." #: admin/fai/class_faiPartitionTableEntry.inc:374 #, fuzzy msgid "" "Please use 'swap' as mount point, if 'swap' is used as file system type." msgstr "" "Gebruik a.u.b. 'swap' als koppelpunt indien 'swap' gebruikt wordt als fs-" "type." #: admin/fai/class_faiPartitionTableEntry.inc:381 #: admin/fai/class_faiPartitionTableEntry.inc:385 #: admin/fai/class_faiPartitionTableEntry.inc:391 #: admin/fai/class_faiPartitionTableEntry.inc:393 #: admin/fai/class_faiPartitionTableEntry.inc:398 #, fuzzy, php-format msgid "partition %s size" msgstr "Partities" #: admin/fai/class_faiPartitionTableEntry.inc:413 msgid "" "You have more than 3 primary partition table entries in your configuration, " "please check your configuration twice." msgstr "" "U heeft meer dan 3 primaire partitietabel regels in uw configuratie. " "Controleer uw configuratie a.u.b. nogmaals." #: admin/fai/class_faiPartitionTableEntry.inc:425 #: admin/fai/class_faiDiskEntry.inc:695 #, fuzzy msgid "Partition table entry" msgstr "Partitietabel" #: admin/fai/class_faiPartitionTableEntry.inc:426 #: admin/fai/class_faiDiskEntry.inc:696 admin/fai/faiPartitionTableEntry.tpl:5 #, fuzzy msgid "FAI partition table entry" msgstr "Nieuwe partitietabel" #: admin/fai/class_faiPartitionTableEntry.inc:435 #: admin/fai/class_faiDiskEntry.inc:706 #, fuzzy msgid "Partition type" msgstr "Partitietabel" #: admin/fai/class_faiPartitionTableEntry.inc:436 #: admin/fai/class_faiDiskEntry.inc:707 #, fuzzy msgid "Partition no." msgstr "Partities" #: admin/fai/class_faiPartitionTableEntry.inc:437 #: admin/fai/class_faiDiskEntry.inc:708 #, fuzzy msgid "File system type" msgstr "Systeemtype" #: admin/fai/class_faiPartitionTableEntry.inc:439 #: admin/fai/class_faiDiskEntry.inc:710 admin/fai/class_faiPartition.inc:384 #: admin/fai/class_faiPartition.inc:389 #, fuzzy msgid "Partition size" msgstr "Partities" #: admin/fai/class_faiPartitionTableEntry.inc:441 #: admin/fai/class_faiDiskEntry.inc:712 admin/fai/class_faiSummaryTab.inc:350 #, fuzzy msgid "File system options" msgstr "systeem informatie bekijken" #: admin/fai/class_faiPartitionTableEntry.inc:442 #: admin/fai/class_faiDiskEntry.inc:713 #, fuzzy msgid "Partition flags" msgstr "Partities" #: admin/fai/faiVariable.tpl:32 msgid "List of assigned variables" msgstr "Lijst met toegekende variabelen" #: admin/fai/faiVariable.tpl:37 msgid "Choose a variable to delete or edit" msgstr "Kies een te bewerken of verwijderen variabele" #: admin/fai/faiVariable.tpl:50 admin/fai/fai-list.xml:167 #: admin/systems/services/repository/repository-list.xml:91 msgid "Edit" msgstr "Bewerken" #: admin/fai/class_faiHook.inc:465 admin/fai/fai-list.xml:76 #, fuzzy msgid "Hook" msgstr "Inhakers" #: admin/fai/class_faiHook.inc:466 admin/fai/faiHook.tpl:2 #, fuzzy msgid "FAI hook" msgstr "Toon FAI inhakers" #: admin/fai/class_faiHook.inc:479 msgid "RDN for FAI hook storage." msgstr "" #: admin/fai/class_faiHook.inc:487 admin/fai/class_faiPartitionTable.inc:796 #: admin/fai/class_faiVariable.inc:406 #, fuzzy msgid "Read only" msgstr "Lezen" #: admin/fai/class_faiDiskEntry.inc:155 admin/fai/class_faiPartition.inc:318 msgid "Options" msgstr "Opties" #: admin/fai/class_faiDiskEntry.inc:249 msgid "Label" msgstr "" #: admin/fai/class_faiDiskEntry.inc:249 #, fuzzy msgid "UUID" msgstr "SUID" #: admin/fai/class_faiDiskEntry.inc:317 #, fuzzy msgid "Disks" msgstr "Schijven" #: admin/fai/class_faiDiskEntry.inc:320 admin/fai/class_faiPartition.inc:306 #: admin/fai/faiPartition.tpl:37 msgid "Size" msgstr "" #: admin/fai/class_faiDiskEntry.inc:417 #: admin/fai/class_faiPartitionTable.inc:250 #, php-format msgid "" "The disk cannot be deleted while it is used in the '%s' disk definition!" msgstr "" #: admin/fai/class_faiDiskEntry.inc:501 msgid "encrypted" msgstr "" #: admin/fai/class_faiDiskEntry.inc:504 #, fuzzy msgid "boot able" msgstr "Inhakers bundel" #: admin/fai/class_faiDiskEntry.inc:507 #, fuzzy msgid "preserve" msgstr "Bewaar" #: admin/fai/class_faiDiskEntry.inc:678 #, fuzzy msgid "" "You have more than four primary partition table entries in your " "configuration, please check your configuration twice." msgstr "" "U heeft meer dan 3 primaire partitietabel regels in uw configuratie. " "Controleer uw configuratie a.u.b. nogmaals." #: admin/fai/class_faiDiskEntry.inc:682 #, fuzzy msgid "" "You cannot have more than three primary partition while using logical " "partitions, please check your configuration twice." msgstr "" "U heeft meer dan 3 primaire partitietabel regels in uw configuratie. " "Controleer uw configuratie a.u.b. nogmaals." #: admin/fai/faiProfile.tpl:2 admin/fai/class_faiProfile.inc:352 #, fuzzy msgid "FAI profile" msgstr "Nieuw profiel" #: admin/fai/faiProfile.tpl:30 admin/fai/faiProfile.tpl:33 #: admin/fai/class_faiProfile.inc:375 msgid "FAI classes" msgstr "FAI klassen" #: admin/fai/faiProfile.tpl:35 msgid "Choose a priority" msgstr "Kies een prioriteit" #: admin/fai/faiScriptEntry.tpl:2 admin/fai/faiScript.tpl:2 #: admin/fai/class_faiScript.inc:510 admin/fai/class_faiHookEntry.inc:240 #, fuzzy msgid "FAI script" msgstr "Importeer script" #: admin/fai/faiScriptEntry.tpl:32 msgid "Script attributes" msgstr "Script attributen" #: admin/fai/faiScriptEntry.tpl:34 #, fuzzy msgid "Priority configuration" msgstr "Systeem configuratie" #: admin/fai/faiScriptEntry.tpl:36 msgid "Priority" msgstr "Prioriteit" #: admin/fai/faiScriptEntry.tpl:40 msgid "" "Choose a priority. Low values result in an earlier, high values in a later " "execution." msgstr "" #: admin/fai/faiScriptEntry.tpl:51 admin/fai/faiHookEntry.tpl:44 #: admin/fai/class_faiScript.inc:509 admin/fai/class_faiScriptEntry.inc:182 #: admin/fai/fai-list.xml:70 admin/fai/class_faiHookEntry.inc:199 msgid "Script" msgstr "Script" #: admin/fai/faiScriptEntry.tpl:54 admin/fai/faiHookEntry.tpl:48 msgid "" "This FAI script is write protected, due to its encoding. Editing may break " "it!" msgstr "" #: admin/fai/faiScriptEntry.tpl:56 admin/fai/faiHookEntry.tpl:50 #: admin/fai/faiTemplateEdit.tpl:17 msgid "Edit anyway" msgstr "Alsnog bewerken" #: admin/fai/faiScriptEntry.tpl:71 admin/fai/faiHookEntry.tpl:64 msgid "Import script" msgstr "Importeer script" #: admin/fai/faiScript.tpl:32 admin/fai/faiScript.tpl:35 msgid "List of scripts" msgstr "Lijst met scripts" #: admin/fai/faiPackage.tpl:2 #, fuzzy msgid "FAI package" msgstr "Pakketlijst" #: admin/fai/faiPackage.tpl:29 #: admin/systems/services/repository/servRepositorySetup.tpl:1 #: admin/systems/services/repository/class_servRepository.inc:401 msgid "Repository" msgstr "Verzamelplaats" #: admin/fai/faiPackage.tpl:31 #, fuzzy msgid "Repository settings" msgstr "Verzamelplaats" #: admin/fai/faiPackage.tpl:33 admin/fai/class_faiManagement.inc:1001 #: admin/fai/fai-list.tpl:15 admin/fai/class_faiPackage.inc:694 #: admin/systems/services/repository/repository-list.xml:27 #: admin/systems/services/repository/repository-list.xml:60 #: admin/systems/services/repository/servRepositorySetup.tpl:20 #: admin/systems/services/repository/class_servRepositorySetup.inc:152 msgid "Release" msgstr "Distributie versie" #: admin/fai/faiPackage.tpl:40 admin/fai/class_faiPackage.inc:691 msgid "Section" msgstr "Sectie" #: admin/fai/faiPackage.tpl:47 msgid "Install method" msgstr "Installatie methode" #: admin/fai/faiPackage.tpl:51 #, fuzzy msgid "Please select the installation method" msgstr "Selecteer a.u.b. een geldig bestand." #: admin/fai/faiPackage.tpl:62 #, fuzzy msgid "Package settings" msgstr "Gebruikersinstellingen" #: admin/fai/faiPackage.tpl:65 msgid "Used packages" msgstr "Gebruikte pakketten" #: admin/fai/faiPackage.tpl:76 msgid "Add from list" msgstr "" #: admin/fai/classSelect/selectClass-list.xml:11 #: admin/fai/packageSelect/selectPackage-list.xml:10 #, fuzzy msgid "Please select the desired entries" msgstr "Voorkeurstaal" #: admin/fai/classSelect/selectClass-list.xml:15 #: admin/fai/class_faiManagement.inc:1303 #: admin/fai/packageSelect/selectPackage-list.xml:14 admin/fai/fai-list.xml:15 msgid "FAI" msgstr "FAI" #: admin/fai/classSelect/selectClass-list.xml:36 admin/fai/fai-list.xml:36 msgid "Properties" msgstr "Eigenschappen" #: admin/fai/classSelect/class_classSelect.inc:29 #, fuzzy msgid "Class selection" msgstr "Groep instellingen" #: admin/fai/classSelect/selectClass-filter.xml:21 #: admin/fai/packageSelect/selectPackage-filter.xml:16 #: admin/systems/services/repository/repository-filter.xml:17 #, fuzzy msgid "Default filter" msgstr "Parameters" #: admin/fai/faiHook.tpl:31 #, fuzzy msgid "List of hooks" msgstr "Lijst met inhakers scripts" #: admin/fai/faiHook.tpl:34 msgid "List of hook scripts" msgstr "Lijst met inhakers scripts" #: admin/fai/class_faiProfile.inc:105 #, fuzzy msgid "Types" msgstr "Type" #: admin/fai/class_faiProfile.inc:175 admin/fai/class_askClassName.inc:83 msgid "Hook bundle" msgstr "Inhakers bundel" #: admin/fai/class_faiProfile.inc:176 admin/fai/class_askClassName.inc:85 msgid "Template bundle" msgstr "Sjabloon bundel" #: admin/fai/class_faiProfile.inc:177 admin/fai/class_askClassName.inc:81 msgid "Script bundle" msgstr "Script bundel" #: admin/fai/class_faiProfile.inc:178 admin/fai/class_askClassName.inc:82 msgid "Variable bundle" msgstr "Variabele bundel" #: admin/fai/class_faiProfile.inc:179 admin/fai/class_askClassName.inc:80 msgid "Package bundle" msgstr "Pakket bundel" #: admin/fai/class_faiProfile.inc:180 admin/fai/class_faiManagement.inc:1115 #: admin/fai/class_askClassName.inc:79 admin/fai/class_faiGroupHandle.inc:100 #: admin/fai/fai-list.xml:94 admin/fai/class_faiPartitionTable.inc:776 #: admin/fai/class_faiSummaryTab.inc:48 msgid "Partition table" msgstr "Partitietabel" #: admin/fai/class_faiProfile.inc:185 msgid "Remove class from profile" msgstr "Verwijder klasse uit profiel" #: admin/fai/class_faiProfile.inc:188 msgid "Up" msgstr "Omhoog" #: admin/fai/class_faiProfile.inc:189 msgid "Down" msgstr "Omlaag" #: admin/fai/class_faiProfile.inc:272 msgid "No class specified for this profile!" msgstr "" #: admin/fai/class_faiProfile.inc:351 admin/fai/class_faiManagement.inc:1125 #: admin/fai/class_askClassName.inc:84 admin/fai/class_faiGroupHandle.inc:110 #: admin/fai/fai-list.xml:58 #, fuzzy msgid "Profile" msgstr "Profielen" #: admin/fai/class_faiProfile.inc:365 #, fuzzy msgid "RDN for FAI profile storage." msgstr "Kiosk profiel instellingen" #: admin/fai/faiHookEntry.tpl:3 admin/fai/class_faiHookEntry.inc:230 #, fuzzy msgid "FAI hook entry" msgstr "Toon FAI inhakers" #: admin/fai/faiHookEntry.tpl:33 msgid "Hook attributes" msgstr "Inhakers atributen" #: admin/fai/faiHookEntry.tpl:34 admin/fai/class_faiHookEntry.inc:239 msgid "Task" msgstr "Taak" #: admin/fai/faiHookEntry.tpl:36 msgid "Choose an existing FAI task" msgstr "Kies een bestaande FAI taak" #: admin/fai/migration/class_migrate_faiBaseRDN.inc:34 msgid "The storage position for FAI object has changed!" msgstr "" #: admin/fai/class_faiManagement.inc:25 #, fuzzy msgid "Software deployment" msgstr "Systeembeheer" #: admin/fai/class_faiManagement.inc:26 msgid "" "Manage software packages and deployment recipes for Windows and Linux systems" msgstr "" #: admin/fai/class_faiManagement.inc:208 #, fuzzy msgid "partition table" msgstr "Partitietabel" #: admin/fai/class_faiManagement.inc:209 #, fuzzy msgid "script" msgstr "Script" #: admin/fai/class_faiManagement.inc:210 #, fuzzy msgid "hook" msgstr "Inhakers" #: admin/fai/class_faiManagement.inc:211 #, fuzzy msgid "variable" msgstr "Variabele" #: admin/fai/class_faiManagement.inc:212 #, fuzzy msgid "template" msgstr "Sjabloon" #: admin/fai/class_faiManagement.inc:213 #, fuzzy msgid "package list" msgstr "Pakketlijst" #: admin/fai/class_faiManagement.inc:230 admin/fai/class_faiManagement.inc:244 #: admin/fai/class_faiManagement.inc:402 admin/fai/class_faiManagement.inc:485 #: admin/fai/class_faiManagement.inc:575 admin/fai/class_faiManagement.inc:680 #: admin/fai/class_faiManagement.inc:703 admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Permission error" msgstr "Rechten" #: admin/fai/class_faiManagement.inc:231 admin/fai/class_faiManagement.inc:244 #, fuzzy, php-format msgid "You have no permission to create a new %s!" msgstr "U heeft geen toestemming deze objectgroep te verwijderen!" #: admin/fai/class_faiManagement.inc:244 #, fuzzy msgid "profile" msgstr "Profielen" #: admin/fai/class_faiManagement.inc:398 #, fuzzy msgid "Branch locked" msgstr "Aftakkingen" #: admin/fai/class_faiManagement.inc:399 #, php-format msgid "The following entries are locked, you can't remove them %s." msgstr "" #: admin/fai/class_faiManagement.inc:572 msgid "FAI branch/freeze" msgstr "" #: admin/fai/class_faiManagement.inc:575 #, fuzzy msgid "You have no permission to delete this release!" msgstr "U heeft geen toestemming om deze uitgave te verwijderen!" #: admin/fai/class_faiManagement.inc:591 admin/fai/remove_branch.tpl:3 msgid "Warning" msgstr "Waarschuwing" #: admin/fai/class_faiManagement.inc:591 msgid "Release remove aborted because the release name check failed!" msgstr "" #: admin/fai/class_faiManagement.inc:678 admin/fai/class_faiManagement.inc:701 #, fuzzy msgid "Configuration" msgstr "Configuratie bestand" #: admin/fai/class_faiManagement.inc:680 admin/fai/class_faiManagement.inc:703 #: admin/fai/class_faiManagement.inc:724 #, fuzzy msgid "Branch" msgstr "Aftakkingen" #: admin/fai/class_faiManagement.inc:851 admin/fai/askClassName.tpl:70 msgid "Continue" msgstr "Doorgaan" #: admin/fai/class_faiManagement.inc:879 #: admin/fai/packageSelect/class_filterFAIPackages.inc:15 #: admin/fai/class_FAI.inc:588 admin/fai/class_faiPackageConfiguration.inc:35 #: admin/fai/class_faiPackage.inc:271 admin/fai/class_faiPackage.inc:573 #: admin/systems/services/repository/class_servRepository.inc:356 #, fuzzy msgid "Service infrastructure" msgstr "Zoek binnen subtree" #: admin/fai/class_faiManagement.inc:885 admin/fai/class_FAI.inc:1192 #, fuzzy msgid "Fatal error" msgstr "Terminal server" #: admin/fai/class_faiManagement.inc:1003 #, fuzzy msgid "Freeze" msgstr "Frequentie" #: admin/fai/class_faiManagement.inc:1117 #: admin/fai/class_faiGroupHandle.inc:102 admin/fai/fai-list.xml:88 #: admin/fai/class_faiSummaryTab.inc:49 msgid "Package list" msgstr "Pakketlijst" #: admin/fai/class_faiManagement.inc:1119 #: admin/fai/class_faiGroupHandle.inc:104 admin/fai/class_faiSummaryTab.inc:44 msgid "Scripts" msgstr "Scripts" #: admin/fai/class_faiManagement.inc:1121 #: admin/fai/class_faiGroupHandle.inc:106 admin/fai/class_faiSummaryTab.inc:46 msgid "Variables" msgstr "Variabelen" #: admin/fai/class_faiManagement.inc:1123 #: admin/fai/class_faiGroupHandle.inc:108 admin/fai/class_faiSummaryTab.inc:45 msgid "Hooks" msgstr "Inhakers" #: admin/fai/class_faiManagement.inc:1127 #: admin/fai/class_faiGroupHandle.inc:112 admin/fai/class_faiSummaryTab.inc:47 msgid "Templates" msgstr "Sjablonen" #: admin/fai/class_faiManagement.inc:1129 #: admin/fai/class_faiGroupHandle.inc:114 #, fuzzy msgid "OPSI net boot product" msgstr "Objectgroepen" #: admin/fai/class_faiManagement.inc:1131 #: admin/fai/class_faiGroupHandle.inc:116 #, fuzzy msgid "OPSI local boot product" msgstr "Objectgroepen" #: admin/fai/class_faiManagement.inc:1228 #, fuzzy msgid "FAI releases" msgstr "FAI klassen" #: admin/fai/class_faiManagement.inc:1229 #, fuzzy msgid "FAI release management" msgstr "Blokkeerlijst beheer" #: admin/fai/class_faiManagement.inc:1285 #, fuzzy msgid "RDN for FAI storage." msgstr "Wachtwoord encryptie" #: admin/fai/class_faiManagement.inc:1295 msgid "Name of the FAI default release." msgstr "" #: admin/fai/class_faiVariableEntry.inc:91 #, fuzzy msgid "Content" msgstr "Doorgaan" #: admin/fai/class_faiVariableEntry.inc:126 #, fuzzy msgid "Variable entry" msgstr "Variabele inhoud" #: admin/fai/class_faiVariableEntry.inc:127 #, fuzzy msgid "FAI variable entry " msgstr "Toon FAI variabelen" #: admin/fai/class_faiVariableEntry.inc:136 admin/fai/faiVariableEntry.tpl:37 msgid "Variable content" msgstr "Variabele inhoud" #: admin/fai/class_faiTemplate.inc:298 admin/fai/class_faiScriptEntry.inc:104 msgid "Download" msgstr "Downloaden" #: admin/fai/class_faiTemplate.inc:521 admin/fai/fai-list.xml:64 msgid "Template" msgstr "Sjabloon" #: admin/fai/class_faiTemplate.inc:522 #, fuzzy msgid "FAI template" msgstr "Nieuw sjabloon" #: admin/fai/class_faiTemplate.inc:534 #, fuzzy msgid "RDN for FAI template storage." msgstr "Nieuw sjabloon" #: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:532 #: admin/fai/class_faiPackage.inc:691 admin/fai/class_faiPackage.inc:694 #, fuzzy msgid "Read-only" msgstr "Lezen" #: admin/fai/paste_generic.tpl:2 #, fuzzy msgid "FAI settings" msgstr "FAI klassen" #: admin/fai/paste_generic.tpl:4 #, fuzzy msgid "Paste FAI class" msgstr "Naam van de FAI klasse" #: admin/fai/paste_generic.tpl:6 admin/fai/askClassName.tpl:31 #: admin/fai/askClassName.tpl:55 msgid "Class name" msgstr "Klassenaam" #: admin/fai/remove_branch.tpl:6 msgid "" "This includes all account data, system access, etc. for this branch. Please " "double check if your really want to do this since there is no way for GOsa " "to get your data back." msgstr "" "Dit omvat alle account gegevens, systeem toegangsregels, instellingen etc. " "voor deze aftakkingen. Verzeker uzelf hiervan, aangezien er geen " "mogelijkheid voor GOsa is om deze informatie terug te halen." #: admin/fai/remove_branch.tpl:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" "Indien u zeker bent drukt u dan 'Verwijderen' om door te gaan of 'Annuleren' " "om te annuleren." #: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80 #: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82 #: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84 #: admin/fai/class_askClassName.inc:85 admin/fai/class_askClassName.inc:86 msgid "Create new FAI object" msgstr "Nieuw FAI object aanmaken" #: admin/fai/packageSelect/selectPackage-list.xml:48 #: admin/fai/class_faiPackage.inc:161 #, fuzzy msgid "Version" msgstr "Rechten" #: admin/fai/packageSelect/class_packageSelect.inc:29 #, fuzzy msgid "Package selection" msgstr "Groep instellingen" #: admin/fai/class_faiScript.inc:522 #, fuzzy msgid "RDN for FAI script storage." msgstr "Importeer script" #: admin/fai/class_FAI.inc:288 admin/fai/class_FAI.inc:697 #, fuzzy msgid "LDAP error" msgstr "LDAP fout:" #: admin/fai/class_FAI.inc:570 #, php-format msgid "Error, following objects should be equal '%s' and '%s'" msgstr "" #: admin/fai/class_FAI.inc:909 #, php-format msgid "Creating group application release for %s" msgstr "" #: admin/fai/class_FAI.inc:978 admin/fai/class_FAI.inc:1000 #: admin/fai/class_FAI.inc:1040 admin/fai/class_FAI.inc:1045 #: admin/fai/class_FAI.inc:1083 msgid "Object" msgstr "Object" #: admin/fai/class_FAI.inc:979 #, php-format msgid "Adding missing group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1001 #, php-format msgid "Adding group application release container %s." msgstr "" #: admin/fai/class_FAI.inc:1041 #, fuzzy, php-format msgid "Could not create menu entry %s. (Already exists)." msgstr "Kan '%s' niet aanmaken. De gewenste naam bestaat al." #: admin/fai/class_FAI.inc:1046 #, php-format msgid "Created group application menu entry for %s." msgstr "" #: admin/fai/class_FAI.inc:1077 #, php-format msgid "Creating copy of %s" msgstr "Bezig met maken van kopie van %s" #: admin/fai/class_FAI.inc:1080 msgid "Processing" msgstr "Bezig met verwerken" #: admin/fai/class_FAI.inc:1098 #, fuzzy msgid "Could not create new release, the destination DN is already in use." msgstr "Kan '%s' niet aanmaken. De gewenste naam bestaat al." #: admin/fai/class_FAI.inc:1111 #, fuzzy msgid "Error while fetching source DN - aborted!" msgstr "Fout bij het ophalen van de bron dn - afgebroken!" #: admin/fai/class_FAI.inc:1193 #, php-format msgid "Release creation failed due to LDAP errors: %s" msgstr "" #: admin/fai/class_faiScriptEntry.inc:75 admin/fai/class_faiHookEntry.inc:80 #, fuzzy msgid "file is empty" msgstr "Het opgegeven bestand is leeg." #: admin/fai/class_faiScriptEntry.inc:161 admin/fai/class_faiHookEntry.inc:178 #, php-format msgid "" "The script encodig has changed from '%s' to '%s'. Do you really want to save?" msgstr "" #: admin/fai/class_faiScriptEntry.inc:210 #: admin/fai/class_faiScriptEntry.inc:220 #, fuzzy msgid "Script entry" msgstr "Variabele inhoud" #: admin/fai/class_faiScriptEntry.inc:211 #, fuzzy msgid "FAI script entry" msgstr "Importeer script" #: admin/fai/class_faiScriptEntry.inc:221 #, fuzzy msgid "Script Priority" msgstr "Inlogscript" #: admin/fai/fai-list.xml:11 #, fuzzy msgid "List of deployment classes and products" msgstr "Toon alleen klassen met pakketten" #: admin/fai/fai-list.xml:41 #: admin/systems/services/repository/repository-list.xml:43 msgid "Actions" msgstr "Acties" #: admin/fai/fai-list.xml:52 #: admin/systems/services/repository/repository-list.xml:54 msgid "Create" msgstr "Aanmaken" #: admin/fai/fai-list.xml:82 admin/fai/class_faiVariable.inc:385 msgid "Variable" msgstr "Variabele" #: admin/fai/fai-list.xml:107 #, fuzzy msgid "Remove entries" msgstr "Lidmaatschap objecten" #: admin/fai/fai-list.xml:118 #, fuzzy msgid "Create branch" msgstr "Maak nieuwe tak aan" #: admin/fai/fai-list.xml:125 #, fuzzy msgid "Create freeze" msgstr "Huidige uitgave" #: admin/fai/fai-list.xml:132 #, fuzzy msgid "Remove release" msgstr "Lidmaatschap objecten" #: admin/fai/faiSummary.tpl:2 #, fuzzy msgid "Summary of used FAI classes" msgstr "Naam van de FAI klasse" #: admin/fai/faiSummary.tpl:5 msgid "FAI object tree" msgstr "FAI objectlijst" #: admin/fai/faiSummary.tpl:13 msgid "Reload class and release configuration from parent object." msgstr "Klasse herladen en configuratie van ouder object vrijgeven." #: admin/fai/faiSummary.tpl:24 #, fuzzy msgid "You are not allowed to view the FAI summary." msgstr "U heeft geen toestemming om deze gebruiker te verwijderen!" #: admin/fai/faiTemplateEdit.tpl:15 msgid "This FAI template is write protected. Editing may break it!" msgstr "" #: admin/fai/faiTemplate.tpl:30 msgid "List of template files" msgstr "Lijst met sjabloonbestanden" #: admin/fai/class_faiPartition.inc:162 admin/fai/class_faiPartition.inc:166 #, fuzzy msgid "Logical" msgstr "Lokaal toevoegen" #: admin/fai/class_faiPartition.inc:165 #, fuzzy msgid "Primary" msgstr "Primaire groep" #: admin/fai/class_faiPartition.inc:171 msgid "RAID 0" msgstr "" #: admin/fai/class_faiPartition.inc:172 msgid "RAID 1" msgstr "" #: admin/fai/class_faiPartition.inc:173 msgid "RAID 5" msgstr "" #: admin/fai/class_faiPartition.inc:174 msgid "RAID 6" msgstr "" #: admin/fai/class_faiPartition.inc:181 #, fuzzy msgid "fixed" msgstr "Bestand" #: admin/fai/class_faiPartition.inc:182 msgid "dynamic" msgstr "" #: admin/fai/class_faiPartition.inc:183 msgid "remaining space" msgstr "" #: admin/fai/class_faiPartition.inc:188 msgid "KB" msgstr "" #: admin/fai/class_faiPartition.inc:189 msgid "MB" msgstr "" #: admin/fai/class_faiPartition.inc:190 msgid "GB" msgstr "" #: admin/fai/class_faiPartition.inc:191 msgid "TB" msgstr "" #: admin/fai/class_faiPartition.inc:192 msgid "PB" msgstr "" #: admin/fai/class_faiPartition.inc:193 msgid "%" msgstr "" #: admin/fai/class_faiPartition.inc:198 msgid "always" msgstr "" #: admin/fai/class_faiPartition.inc:199 msgid "reinstall" msgstr "" #: admin/fai/class_faiPartition.inc:203 msgid "swap space" msgstr "" #: admin/fai/class_faiPartition.inc:312 #, fuzzy msgid "spare" msgstr "Opslaan" #: admin/fai/class_faiPartition.inc:315 #, fuzzy msgid "missing" msgstr "Rechten" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Minimum partition size" msgstr "Partities" #: admin/fai/class_faiPartition.inc:402 #, fuzzy msgid "Maximum partition size" msgstr "Partities" #: admin/fai/class_faiPartition.inc:410 msgid "Raid arrays must contain at least two partitions!" msgstr "" #: admin/fai/class_faiPartition.inc:412 msgid "" "Raid 0 arrays can only be realized with a combination of two partitions!" msgstr "" #: admin/fai/class_faiPartitionTable.inc:777 admin/fai/faiPartitionTable.tpl:2 #, fuzzy msgid "FAI partition table" msgstr "Nieuwe partitietabel" #: admin/fai/class_faiPartitionTable.inc:789 #, fuzzy msgid "RDN for FAI partition storage." msgstr "Nieuwe partitietabel" #: admin/fai/faiVariableEntry.tpl:3 #, fuzzy msgid "FAI variable entry" msgstr "Toon FAI variabelen" #: admin/fai/faiVariableEntry.tpl:33 admin/fai/faiVariableEntry.tpl:35 msgid "Variable attributes" msgstr "Variabele attributen" #: admin/fai/fai-filter.xml:18 #, fuzzy msgid "FAI objects" msgstr "FAI objectlijst" #: admin/fai/fai-filter.xml:32 #, fuzzy msgid "Opsi packages" msgstr "Gebruikte pakketten" #: admin/fai/fai-filter.xml:46 msgid "FAI & Opsi packages" msgstr "" #: admin/fai/class_faiHookEntry.inc:229 #, fuzzy msgid "Hook entry" msgstr "Record verwijderen" #: admin/fai/faiNewBranch.tpl:5 #, fuzzy msgid "" "You are now going to create a branch or locked branch. This action clones " "the existing release to another release name. Branches can be modified as " "usual. FAI classes of locked branches cannot be modified, just additional " "classes are possible. Branch names should be alphanumeric, excluding the " "reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' " "and 'FAI'." msgstr "" "U staat op het punt een nieuwe distributie of afgesloten distributie aan te " "maken. Deze actie kopieert de bestaande uitgave naar een nieuwe uitgave " "naam. Distributies kunnen zoals gewoonlijk veranderd worden. FAI klassen of " "gesloten distributies kunnen niet veranderd worden. Er kunnen alleen " "additionele klassen aangemaakt worden. Distributie namen moeten alfanumeriek " "zijn, met uitzondering van de gereserveerde namen 'scripts', 'hooks', " "'partitions', 'variables', 'templates' en 'fai'." #: admin/fai/faiNewBranch.tpl:7 msgid "" "Branches are created as sub releases of the currently selected branch. " "Creating a new branch named 1.0.2 in SARGE for example, will result in a new " "release called SARGE/1.0.2." msgstr "" #: admin/fai/faiNewBranch.tpl:12 msgid "Please enter a name for the branch" msgstr "Voer a.u.b. een naam voor de aftakking in." #: admin/fai/faiNewBranch.tpl:23 msgid "Processing the requested operation" msgstr "Bezig met verwerken van de gevraagde opdracht" #: admin/fai/faiNewBranch.tpl:24 #, fuzzy msgid "" "As soon as the copy operation has finished, you can scroll down to end of " "the page and press the 'Continue' button to continue with the FAI management " "dialog." msgstr "" "Zodra de kopieerbewerking beeindigd is, kunt u naar het einde van de pagina " "gaan en op de 'Verder' knop drukken om verder te gaan met de FAI beheer " "dialoog." #: admin/fai/faiNewBranch.tpl:29 #, fuzzy msgid "" "Your browser doesn't support HTML IFRAME elements, please use this link to " "perform the requested operation." msgstr "" "Uw browser heeft geen ondersteuning voor frames. Gebruik a.u.b. deze link om " "de gewenste opdracht uit te voeren." #: admin/fai/faiNewBranch.tpl:31 msgid "Perform requested operation." msgstr "Gewenste opdracht uitvoeren." #: admin/fai/faiNewBranch.tpl:32 msgid "Initiate operation" msgstr "Opdracht starten" #: admin/fai/askClassName.tpl:6 #, fuzzy msgid "" "Adding a new class to the FAI management, requires a class name. You have to " "specify a unique class name for unique types of FAI classes, while you can " "use the same class name for different types of FAI classes. In the last " "case, FAI will automatically enclose all these different class types to one " "unique class name." msgstr "" "Het toevoegen van een nieuwe klasse aan FAI beheer, vereist een klassenaam. " "U dient een unieke klassenaam binnen een FAI klassetype te gebruiken. Het is " "mogelijk dezelfde klassenaam voor verschillende FAI klassetypes te " "gebruiken. In het laatste geval zal FAI automatisch alle verschillende " "klassetypes onderbrengen binnen een unieke klassenaam." #: admin/fai/askClassName.tpl:12 msgid "" "Please use one of the following methods to choose the name for the new FAI " "class." msgstr "" "Gebruik a.u.b. een van de volgende methodes om de naam voor de nieuwe FAI " "klasse te kiezen." #: admin/fai/askClassName.tpl:17 #, fuzzy msgid "FAI class creator" msgstr "FAI klassen" #: admin/fai/askClassName.tpl:20 #, fuzzy msgid "Class settings" msgstr "Gebruikersinstellingen" #: admin/fai/askClassName.tpl:25 msgid "Enter FAI class name manually" msgstr "Voer FAI klassenaam handmatig in" #: admin/fai/askClassName.tpl:43 #, fuzzy msgid "Class name selector" msgstr "Klassenaam" #: admin/fai/askClassName.tpl:49 msgid "Choose FAI class name from a list of existing classes" msgstr "Kies FAI klassenaam uit een lijst met bestaande klasses" #: admin/fai/askClassName.tpl:57 msgid "Choose class name" msgstr "Kies een klassenaam" #: admin/fai/class_faiPackageConfiguration.inc:68 #, php-format msgid "Debconf information for package '%s'" msgstr "Debconf informatie voor pakket '%s'" #: admin/fai/class_faiVariable.inc:386 #, fuzzy msgid "FAI variable" msgstr "Toon FAI variabelen" #: admin/fai/class_faiVariable.inc:399 #, fuzzy msgid "RDN for FAI variable storage." msgstr "Toon FAI variabelen" #: admin/fai/faiPartition.tpl:2 #, fuzzy msgid "Partition" msgstr "Partities" #: admin/fai/faiPartition.tpl:4 #, fuzzy msgid "FAI partition" msgstr "Partitie toevoegen" #: admin/fai/faiPartition.tpl:80 msgid "Resize existing partition" msgstr "" #: admin/fai/faiPartition.tpl:85 #, fuzzy msgid "Boot able" msgstr "Inhakers bundel" #: admin/fai/faiPartition.tpl:122 #, fuzzy msgid "Toggle missing" msgstr "Informatie weergeven/verbergen" #: admin/fai/faiPartition.tpl:123 #, fuzzy msgid "Toggle spare" msgstr "Verwijder markering omschakelen" #: admin/fai/faiPartition.tpl:134 #, fuzzy msgid "File system" msgstr "Systeemtype" #: admin/fai/faiPartition.tpl:141 #, fuzzy msgid "File system create options" msgstr "systeem informatie bekijken" #: admin/fai/faiPartition.tpl:151 msgid "Encrypted" msgstr "" #: admin/fai/faiPartition.tpl:153 #, fuzzy msgid "Tune options" msgstr "Koppelopties" #: admin/fai/class_faiPackage.inc:161 msgid "Status" msgstr "Status" #: admin/fai/class_faiPackage.inc:233 msgid "Invalid package names" msgstr "" #: admin/fai/class_faiPackage.inc:234 #, php-format msgid "The following package names don't match the Debian policy: %s" msgstr "" #: admin/fai/class_faiPackage.inc:424 #, fuzzy msgid "Configured" msgstr "Instellen" #: admin/fai/class_faiPackage.inc:430 msgid "Package marked for removal" msgstr "Pakket gemarkeerd voor verwijdering" #: admin/fai/class_faiPackage.inc:447 #, fuzzy msgid "Mark package for removal" msgstr "Pakket gemarkeerd voor verwijdering" #: admin/fai/class_faiPackage.inc:453 #, fuzzy msgid "Configure this package" msgstr "Configuratie bestand" #: admin/fai/class_faiPackage.inc:458 #, fuzzy msgid "Remove this package" msgstr "Plaatje verwijderen" #: admin/fai/class_faiPackage.inc:537 #, fuzzy msgid "Please select a least one package!" msgstr "Selecteer a.u.b. tenminste een pakket." #: admin/fai/class_faiPackage.inc:541 #, fuzzy msgid "" "Please choose a valid release/section combination for your repository setup!" msgstr "" "Kies a.u.b. een geldige combinatie voor uw verzamelplaats instellingen." #: admin/fai/class_faiPackage.inc:668 msgid "Package" msgstr "Pakket" #: admin/fai/class_faiPackage.inc:669 #, fuzzy msgid "FAI Package list" msgstr "Pakketlijst" #: admin/fai/class_faiPackage.inc:681 msgid "RDN for FAI package storage." msgstr "" #: admin/fai/class_faiPackage.inc:690 msgid "Packages" msgstr "Pakketten" #: admin/fai/class_faiPackage.inc:692 #, fuzzy msgid "Install Method" msgstr "Installatie methode" #: admin/fai/class_faiPackage.inc:693 #, fuzzy msgid "Package configuration" msgstr "FAX database" #: admin/fai/class_faiTemplateEntry.inc:118 msgid "no file uploaded yet" msgstr "nog geen bestand ge-upload." #: admin/fai/class_faiTemplateEntry.inc:121 #, php-format msgid "exists in database (size: %s bytes)" msgstr "bestaat in database (grootte: %s bytes)" #: admin/fai/class_faiTemplateEntry.inc:290 #, fuzzy msgid "Template entry" msgstr "Sjabloongebruiker" #: admin/fai/class_faiTemplateEntry.inc:300 #, fuzzy msgid "Template file" msgstr "Sjabloon bundel" #: admin/fai/class_faiTemplateEntry.inc:301 #, fuzzy msgid "Template path" msgstr "Sjabloon naam" #: admin/fai/class_faiTemplateEntry.inc:302 #, fuzzy msgid "File owner" msgstr "Bestandsnaam" #: admin/fai/class_faiSummaryTab.inc:50 msgid "Profiles" msgstr "Profielen" #: admin/fai/class_faiSummaryTab.inc:95 #, fuzzy msgid "Unknown FAI information source!" msgstr "Persoonlijke informatie" #: admin/fai/class_faiSummaryTab.inc:188 #: admin/systems/services/repository/class_servRepository.inc:200 msgid "You can't use this plug-in until FAI is activated." msgstr "" #: admin/fai/class_faiSummaryTab.inc:228 msgid "This object has no FAI classes assigned." msgstr "Dit object heeft geen FAI klassen toegewezen gekregen." #: admin/fai/class_faiSummaryTab.inc:231 msgid "FAI summary" msgstr "FAI samenvatting" #: admin/fai/class_faiSummaryTab.inc:345 msgid "Summary of fai classes" msgstr "" #: admin/fai/class_faiSummaryTab.inc:348 msgid "No." msgstr "Aantal" #: admin/fai/faiPartitionTable.tpl:32 msgid "Use 'setup-storage' to partition the disk" msgstr "" #: admin/fai/faiPartitionTable.tpl:38 msgid "Discs" msgstr "Schijven" #: admin/fai/faiPartitionTable.tpl:43 admin/fai/faiPartitionTable.tpl:47 #, fuzzy msgid "Add disk" msgstr "Toevoegen" #: admin/fai/faiPartitionTable.tpl:44 admin/fai/faiPartitionTable.tpl:48 msgid "Add RAID" msgstr "" #: admin/fai/faiPartitionTable.tpl:45 admin/fai/faiPartitionTable.tpl:49 msgid "Add volume group" msgstr "" #: admin/fai/class_debconfTemplate.inc:208 msgid "This package has no debconf options." msgstr "Dit pakket heeft geen debconf mogelijkheden." #: admin/fai/class_debconfTemplate.inc:245 msgid "" "This debconf question is dynamically generated during package installation " "and requires choosing between specific options which cannot be presented " "here. The entered text needs to be one of the valid choices in order to take " "effect." msgstr "" #: admin/systems/services/repository/repository-list.xml:10 #, fuzzy msgid "List of repositories" msgstr "Lijst met gebruikers" #: admin/systems/services/repository/repository-list.xml:14 #, fuzzy msgid "Service" msgstr "Services" #: admin/systems/services/repository/repository-list.xml:35 #: admin/systems/services/repository/servRepositorySetup.tpl:40 #: admin/systems/services/repository/class_servRepository.inc:426 #, fuzzy msgid "Sections" msgstr "Sectie" #: admin/systems/services/repository/servRepositorySetup.tpl:3 #, fuzzy msgid "FAI Repository" msgstr "Verzamelplaats" #: admin/systems/services/repository/servRepositorySetup.tpl:9 #: admin/systems/services/repository/class_servRepository.inc:423 #, fuzzy msgid "Parent server" msgstr "Bewaar" #: admin/systems/services/repository/servRepositorySetup.tpl:29 #: admin/systems/services/repository/class_servRepository.inc:425 #: admin/systems/services/repository/class_servRepositorySetup.inc:156 msgid "URL" msgstr "" #: admin/systems/services/repository/class_servRepository.inc:27 #: admin/systems/services/repository/class_servRepository.inc:338 #: admin/systems/services/repository/class_servRepository.inc:382 #: admin/systems/services/repository/class_servRepository.inc:402 #: admin/systems/services/repository/class_servRepositorySetup.inc:203 #, fuzzy msgid "Repository service" msgstr "Verzamelplaats" #: admin/systems/services/repository/class_servRepository.inc:158 #, fuzzy msgid "FAI release" msgstr "FAI klassen" #: admin/systems/services/repository/class_servRepository.inc:402 msgid "Services" msgstr "Services" #: admin/systems/services/repository/class_servRepository.inc:414 msgid "" "Script to manage branching and freezing of FAI repositories. Please read the " "FAQ for details." msgstr "" #: admin/systems/services/repository/class_servRepository.inc:424 #, fuzzy msgid "Releases" msgstr "Distributie versie" #~ msgid "SUID" #~ msgstr "SUID" #~ msgid "SGID" #~ msgstr "SGID" #, fuzzy #~ msgid "Freezed" #~ msgstr "Frequentie" #~ msgid "FS type" #~ msgstr "FS type" #~ msgid "FS option" #~ msgstr "FS opties" #~ msgid "FS options" #~ msgstr "FS opties" #~ msgid "" #~ "This includes all account data, system access rules, imap settings, etc. " #~ "for this user. Please double check if your really want to do this since " #~ "there is no way for GOsa to get your data back." #~ msgstr "" #~ "Dit omvat alle account gegevens, systeem toegangsregels, imap " #~ "instellingen etc. voor deze gebruiker. Verzeker uzelf hiervan, aangezien " #~ "er geen mogelijkheid voor GOsa is om deze informatie terug te halen." #~ msgid "Objects" #~ msgstr "Objecten" #~ msgid "Delete" #~ msgstr "Verwijderen" #, fuzzy #~ msgid "Filter" #~ msgstr "Filters" #~ msgid "Base" #~ msgstr "Basis" #~ msgid "Submit" #~ msgstr "Verwerk" #~ msgid "This list displays all assigned class names for this profile." #~ msgstr "Deze lijst toont alle toegekende klassenamen voor dit profiel." #~ msgid "edit" #~ msgstr "Bewerk" #~ msgid "delete" #~ msgstr "Verwijder" #~ msgid "List of FAI objects (Fully Automatic Installation)" #~ msgstr "Lijst met FAI objecten (Fully Automatic Installation)" #~ msgid "Information" #~ msgstr "Informatie" #~ msgid "" #~ "This menu allows you to select FAI class names and to add them to the " #~ "currently edited profile." #~ msgstr "" #~ "Dit menu maakt het mogelijk ok FAI klassenamen te selecteren en deze toe " #~ "te voegen aan het profiel dat op dit moment bewerkt wordt." #~ msgid "Filters" #~ msgstr "Filters" #~ msgid "Show only classes with templates" #~ msgstr "Toon alleen klassen met sjablonen" #~ msgid "Show only classes with scripts" #~ msgstr "Toon alleen klassen met scripts" #~ msgid "Show only classes with hooks" #~ msgstr "Toon alleen klassen met inhakers" #~ msgid "Show only classes with variables" #~ msgstr "Toon alleen klassen met variabelen" #~ msgid "Show only classes with packages" #~ msgstr "Toon alleen klassen met pakketten" #~ msgid "Show only classes with partitions" #~ msgstr "Toon alleen klassen met partities" #~ msgid "Display objects matching" #~ msgstr "Toon overeenkomende objecten" #~ msgid "Regular expression for matching object names" #~ msgstr "Reguliere expressie voor overeenkomende objectnamen" #, fuzzy #~ msgid "Sort direction" #~ msgstr "Sectie" #~ msgid "Action" #~ msgstr "Actie" #~ msgid "Current release" #~ msgstr "Huidige uitgave" #, fuzzy #~ msgid "Create read-only release" #~ msgstr "Huidige uitgave" #~ msgid "Delete current release" #~ msgstr "Verwijder huidige uitgave" #~ msgid "Show profiles" #~ msgstr "Toon profielen" #~ msgid "Show templates" #~ msgstr "Toon sjablonen" #~ msgid "Show scripts" #~ msgstr "Toon scripts" #~ msgid "Show hooks" #~ msgstr "Toon inhakers" #~ msgid "Show variables" #~ msgstr "Toon variabelen" #~ msgid "Show packages" #~ msgstr "Toon pakketten" #, fuzzy #~ msgid "Show partitions" #~ msgstr "Toon partities" #, fuzzy #~ msgid "Show netboot products" #~ msgstr "Objectgroepen" #, fuzzy #~ msgid "Show localboot products" #~ msgstr "Objectgroepen" #~ msgid "Open" #~ msgstr "Open" #~ msgid "Close" #~ msgstr "Sluiten" #~ msgid "List of available packages" #~ msgstr "Lijst met beschikbare pakketten" #, fuzzy #~ msgid "" #~ "The search returned too many results, only the first 200 entries are " #~ "shown." #~ msgstr "" #~ "De door u opgegeven zoekopdracht '%s' gaf teveel resultaten terug. Om het " #~ "geheugengebruik laag te houden worden alleen de eerste 200 resultaten " #~ "getoond." #~ msgid "" #~ "This menu allows you to select multiple packages to add them to the " #~ "currently edited package list." #~ msgstr "" #~ "Dit menu maakt het mogelijk om meerdere pakketten toe te voegen aan de op " #~ "dit moment bewerkte pakketlijst." #~ msgid "Please enter your search string here" #~ msgstr "Geef hier uw zoekwaarde op" #~ msgid "" #~ "This list displays all assigned package names for this repository " #~ "settings." #~ msgstr "" #~ "Deze lijst toont alle toegekende pakketnamen voor deze verzamelplaats " #~ "instellingen." #, fuzzy #~ msgid "This menu allows you to create, delete and edit repository settings." #~ msgstr "" #~ "Dit menu maakt het mogelijk om FAI klassen aan te maken, bewerken en " #~ "verwijderen." #, fuzzy #~ msgid "Add repository" #~ msgstr "Directory" #~ msgid "" #~ "This includes 'all' object information. Please double check if your " #~ "really want to do this since there is no way for GOsa to get your data " #~ "back." #~ msgstr "" #~ "Dit omvat 'alle' object informatie. Verzeker uzelf hiervan, aangezien er " #~ "geen manier is voor GOsa om deze gegevens terug te halen." #~ msgid "" #~ "Best thing to do before performing this action would be to save the " #~ "current contents of your LDAP tree in a file. So - if you've done so - " #~ "press 'Delete' to continue or 'Cancel' to abort." #~ msgstr "" #~ "Het is aan te raden de huidige inhoud van uw LDAP database op te slaan " #~ "alvorens u doorgaat. Indien u dat gedaan heeft drukt u op 'Verwijderen' " #~ "om door te gaan of op 'Annuleren' om te annuleren." #, fuzzy #~ msgid "Select the object you want to cut:" #~ msgstr "Selecteer om GOsa groepen te zien" #, fuzzy #~ msgid "Roles" #~ msgstr "Funktie" #, fuzzy #~ msgid "Role management" #~ msgstr "Blokkeerlijst beheer" #~ msgid "Role" #~ msgstr "Funktie" #, fuzzy #~ msgid "Edit role" #~ msgstr "Bewerk share" #~ msgid "Use" #~ msgstr "Gebruik" #~ msgid "A new class name." #~ msgstr "Een nieuwe klassenaam." #, fuzzy #~ msgid "List of classes" #~ msgstr "Lijst met FAI klassen" #, fuzzy #~ msgid "Select all" #~ msgstr "Selecteer" #, fuzzy #~ msgid "Class types" #~ msgstr "Klasse type" #, fuzzy #~ msgid "Display objects of type '%s'." #~ msgstr "Toon overeenkomende objecten" #~ msgid "Display users matching" #~ msgstr "Toon overeenkomende gebruikers" #~ msgid "PT" #~ msgstr "PT" #~ msgid "S" #~ msgstr "SC" #~ msgid "H" #~ msgstr "H" #~ msgid "V" #~ msgstr "V" #, fuzzy #~ msgid "Templates " #~ msgstr "Sjablonen" #, fuzzy #~ msgid "I" #~ msgstr "NI" #~ msgid "PK" #~ msgstr "PK" #, fuzzy #~ msgid "Number of listed %s" #~ msgstr "Naam van de afdeling" #, fuzzy #~ msgid "profiles" #~ msgstr "Profielen" #, fuzzy #~ msgid "partitions" #~ msgstr "%s partitie" #, fuzzy #~ msgid "scripts" #~ msgstr "Script" #, fuzzy #~ msgid "hooks" #~ msgstr "Inhakers" #, fuzzy #~ msgid "variables" #~ msgstr "Variabele" #, fuzzy #~ msgid "templates" #~ msgstr "Sjabloon" #, fuzzy #~ msgid "packages" #~ msgstr "Pakketten" #, fuzzy #~ msgid "departments" #~ msgstr "Verwerk afdeling" #, fuzzy #~ msgid "localboot products" #~ msgstr "Objectgroepen" #, fuzzy #~ msgid "Partition start size" #~ msgstr "Partities" #, fuzzy #~ msgid "Partition stop size" #~ msgstr "Partities" #, fuzzy #~ msgid "Secondary" #~ msgstr "Sectie" #, fuzzy #~ msgid "Raid 0" #~ msgstr "Lezen" #, fuzzy #~ msgid "Raid 1" #~ msgstr "Lezen" #, fuzzy #~ msgid "Raid 5" #~ msgstr "Lezen" #, fuzzy #~ msgid "Raid 6" #~ msgstr "Lezen" #~ msgid "%s partition" #~ msgstr "%s partitie" #~ msgid "%s partition(s)" #~ msgstr "%s partitie(s)" #~ msgid "Choose a disk to delete or edit" #~ msgstr "Kies een te bewerken of verwijderen hardeschijf" #, fuzzy #~ msgid "Number of listed '%s'" #~ msgstr "Naam van de afdeling" #, fuzzy #~ msgid "Deployment status" #~ msgstr "Systeem status" #, fuzzy #~ msgid "System deployment status" #~ msgstr "Systeembeheer" #, fuzzy #~ msgid "" #~ "This menu allows you to remove and change the properties of GOsa tasks." #~ msgstr "" #~ "Dit menu maakt het mogelijk om specifieke systemen toe te voegen, " #~ "bewerken en verwijderen. U kunt alleen systemen toevoegen die al eens " #~ "opgestart geweest zijn." #, fuzzy #~ msgid "List of queued jobs" #~ msgstr "Lijst met afdelingen" #~ msgid "Import" #~ msgstr "Importeren" #, fuzzy #~ msgid "Resume" #~ msgstr "Verwijderen" #, fuzzy #~ msgid "Pause" #~ msgstr "Plakken" #, fuzzy #~ msgid "Abort" #~ msgstr "Poort" #, fuzzy #~ msgid "Reload" #~ msgstr "Lezen" #, fuzzy #~ msgid "Target" #~ msgstr "Chipset" #, fuzzy #~ msgid "Schedule" #~ msgstr "PHPScheduleIt" #, fuzzy #~ msgid "Move up" #~ msgstr "Modus" #, fuzzy #~ msgid "Move down" #~ msgstr "Modus" #, fuzzy #~ msgid "Execute now" #~ msgstr "Commando" #, fuzzy #~ msgid "Abort job" #~ msgstr "Poort" #, fuzzy #~ msgid "Waiting" #~ msgstr "Waarschuwing" #, fuzzy #~ msgid "Processed" #~ msgstr "Bezig met verwerken" #, fuzzy #~ msgid "Detection" #~ msgstr "Sectie" #, fuzzy #~ msgid "Cannot update queue entry: %s" #~ msgstr "Onbekende FAI status %s" #, fuzzy #~ msgid "Cannot load queue entries: %s" #~ msgstr "Onbekende FAI status %s" #, fuzzy #~ msgid "System deployment" #~ msgstr "Systeembeheer" #, fuzzy #~ msgid "System list" #~ msgstr "Systeem vertrouwen" #, fuzzy #~ msgid "ID" #~ msgstr "GID" #, fuzzy #~ msgid "Timestamp" #~ msgstr "Timeout" #, fuzzy #~ msgid "Targets" #~ msgstr "Chipset" #, fuzzy #~ msgid "System / Department" #~ msgstr "Afdeling" #, fuzzy #~ msgid "Display users" #~ msgstr "Toon overeenkomende gebruikers" #, fuzzy #~ msgid "Display groups" #~ msgstr "Toon groepen van gebruiker" #~ msgid "Submit department" #~ msgstr "Verwerk afdeling" #, fuzzy #~ msgid "Abort installation" #~ msgstr "Windows werkstation" #, fuzzy #~ msgid "Reload GOto settings" #~ msgstr "Posix instellingen" #, fuzzy #~ msgid "System analysis" #~ msgstr "Systeem" #, fuzzy #~ msgid "Installation activation" #~ msgstr "Windows werkstation" #, fuzzy #~ msgid "Reload LDAP config" #~ msgstr "Lijst herladen" #, fuzzy #~ msgid "Time schedule" #~ msgstr "PHPScheduleIt" #, fuzzy #~ msgid "Year" #~ msgstr "Zoeken" #, fuzzy #~ msgid "Month" #~ msgstr "maand" #, fuzzy #~ msgid "Day" #~ msgstr "dag" #, fuzzy #~ msgid "Hour" #~ msgstr "uur" #, fuzzy #~ msgid "Minute" #~ msgstr "Printer" #, fuzzy #~ msgid "Reload fai release db" #~ msgstr "Uploaden" #, fuzzy #~ msgid "Send message" #~ msgstr "Bericht in wachtstand plaatsen" #, fuzzy #~ msgid "Subject" #~ msgstr "Object" #~ msgid "Message" #~ msgstr "Bericht" #, fuzzy #~ msgid "Create '%s' job" #~ msgstr "Nieuw FAI object aanmaken" #~ msgid "Add" #~ msgstr "Toevoegen" #~ msgid "Apply" #~ msgstr "Toepassen" #~ msgid "Cancel" #~ msgstr "Annuleren" #, fuzzy #~ msgid "Display server" #~ msgstr "Getoonde naam" #, fuzzy #~ msgid "Display workstation" #~ msgstr "werkstations" #, fuzzy #~ msgid "Display object groups" #~ msgstr "Lijst met objectgroepen" #~ msgid "Server" #~ msgstr "Server" #~ msgid "Workstation" #~ msgstr "Werkstation" #~ msgid "Object group" #~ msgstr "Objectgroep" #, fuzzy #~ msgid "Activate new" #~ msgstr "Actief" #, fuzzy #~ msgid "Progress" #~ msgstr "Bezig met verwerken" #, fuzzy #~ msgid "Sender" #~ msgstr "Afzender" #, fuzzy #~ msgid "Target users" #~ msgstr "Windows gebruikers" #, fuzzy #~ msgid "Target groups" #~ msgstr "afdelingen" #, fuzzy #~ msgid "Available targets" #~ msgstr "Beschikbare programma's" #~ msgid "Object name" #~ msgstr "Objectnaam" #, fuzzy #~ msgid "Select to see object groups" #~ msgstr "Selecteer om GOsa groepen te zien" #, fuzzy #~ msgid "Show object groups" #~ msgstr "Objectgroepen" #~ msgid "Select to see servers" #~ msgstr "Selecteer om servers te zien" #~ msgid "Show servers" #~ msgstr "Toon servers" #~ msgid "Select to see workstations" #~ msgstr "Selecteer om werkstations te zien" #~ msgid "Show workstations" #~ msgstr "Toon werkstations" #, fuzzy #~ msgid "Select to see incoming objects" #~ msgstr "Selecteer om telefoons te zien" #, fuzzy #~ msgid "Show new objects" #~ msgstr "Lidmaatschap objecten" #~ msgid "Regular expression for matching group names" #~ msgstr "Reguliere expressie voor overeenkomende groepnamen" #, fuzzy #~ msgid "Available logs" #~ msgstr "Beschikbare programma's" #, fuzzy #~ msgid "Selected log" #~ msgstr "Selecteer" #, fuzzy #~ msgid "No logs for this host available!" #~ msgstr "Bestand is beschikbaar" #, fuzzy #~ msgid "Import jobs" #~ msgstr "Importeren" #, fuzzy #~ msgid "timestamp" #~ msgstr "Timeout" #, fuzzy #~ msgid "MAC-address" #~ msgstr "Adres" #, fuzzy #~ msgid "job type" #~ msgstr "FS type" #, fuzzy #~ msgid "object group" #~ msgstr "Objectgroep" #, fuzzy #~ msgid "import base" #~ msgstr "Het opslaan van de telefoon is mislukt" #, fuzzy #~ msgid "IP-address" #~ msgstr "Adres" #, fuzzy #~ msgid "Select list to import" #~ msgstr "Selecteer om printers te zien" #, fuzzy #~ msgid "Browse" #~ msgstr "Basis" #, fuzzy #~ msgid "MAC" #~ msgstr "Rechten" #, fuzzy #~ msgid "IP" #~ msgstr "NI" #~ msgid "none" #~ msgstr "geen" #, fuzzy #~ msgid "Date" #~ msgstr "Plakken" #, fuzzy #~ msgid "GOto log view" #~ msgstr "GOsa help" #, fuzzy #~ msgid "Cannot delete '%s': object does not exist!" #~ msgstr "Pakketbestand '%s' bestaat niet." #, fuzzy #~ msgid "System mass deployment" #~ msgstr "Systeembeheer" #, fuzzy #~ msgid "Edit product" #~ msgstr "Bewerk klasse" #~ msgid "Edit class" #~ msgstr "Bewerk klasse" #~ msgid "Delete class" #~ msgstr "Verwijder klasse" #, fuzzy #~ msgid "Opsi netboot package" #~ msgstr "Gebruikte pakketten" #, fuzzy #~ msgid "Copy" #~ msgstr "kopieer" #~ msgid "copy" #~ msgstr "kopieer" #~ msgid "Copy this entry" #~ msgstr "Deze invoer kopieren" #, fuzzy #~ msgid "Sudo generic" #~ msgstr "Algemeen" #~ msgid "package is configured" #~ msgstr "pakket is geconfigureerd" #~ msgid "Branches" #~ msgstr "Aftakkingen" #~ msgid "Create new locked branch" #~ msgstr "Maak nieuwe geblokkeerde tak aan" #, fuzzy #~ msgid "Cut" #~ msgstr "knippen" #~ msgid "cut" #~ msgstr "knippen" #~ msgid "Cut this entry" #~ msgstr "Deze invoer knippen" #~ msgid "Choosen packages" #~ msgstr "Gekozen pakketten" #, fuzzy #~ msgid "File system encryption" #~ msgstr "systeem informatie bekijken" #~ msgid "Fully Automatic Installation - management" #~ msgstr "Fully Automatic Installation - beheer" #~ msgid "Fully Automatic Installation" #~ msgstr "Fully Automatic Installation" #, fuzzy #~ msgid "This table displays all FAI classes in the selected tree." #~ msgstr "Deze tabel toont alle systemen in de geselecteerde tree" #, fuzzy #~ msgid "Package file '%s' does not exist!" #~ msgstr "Pakketbestand '%s' bestaat niet." #, fuzzy #~ msgid "Name is already in use!" #~ msgstr "De opgegeven naam wordt al gebruikt." #, fuzzy #~ msgid "Please enter a script!" #~ msgstr "Geef a.u.b. een scripts op." #~ msgid "You're about to delete all information about the FAI class at '%s'." #~ msgstr "" #~ "U staat op het punt alle informatie over deze FAI klasse op '%s' te " #~ "verwijderen." #, fuzzy #~ msgid "You have no permission to delete this entry!" #~ msgstr "U heeft geen toestemming om dit component te verwijderen!" #, fuzzy #~ msgid "You're about to delete the following entry %s" #~ msgstr "U staat op het punt de invoer %s te verwijderen." #, fuzzy #~ msgid "You're about to delete the following entries %s" #~ msgstr "U staat op het punt de invoer %s te verwijderen." #~ msgid "You're about to delete a fai branch / freeze '%s'." #~ msgstr "" #~ "U staat op het punt een FAI aftakking / bevriezing '%s' te verwijderen." #, fuzzy #~ msgid "Branch name is not valid!" #~ msgstr "De opgegeven aftakkingsnaam is ongeldig." #, fuzzy #~ msgid "Freeze name is not valid!" #~ msgstr "De opgegeven bevriesnaam is ongeldig." #, fuzzy #~ msgid "You have no permission to create a new branch!" #~ msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!" #~ msgid "Packages bundle" #~ msgstr "Pakketbundel" #, fuzzy #~ msgid "There is already a template with the given name." #~ msgstr "Er bestaat al een bestand met dezelfde naam." #~ msgid "Please specify a value for attribute 'file'." #~ msgstr "Geef a.u.b. een waarde op voor het atribuut 'bestand'." #, fuzzy #~ msgid "Please specify a valid value for attribute 'Destination path'." #~ msgstr "Geef a.u.b. een waarde op voor het atribuut 'pad'." #, fuzzy #~ msgid "Please enter a file name." #~ msgstr "Kies a.u.b. een naam." #~ msgid "Please enter a user." #~ msgstr "Geef a.u.b. een gebruiker op." #~ msgid "Please enter a valid user. Only a-z/0-9 are allowed." #~ msgstr "" #~ "Geef a.u.b. een geldige gebruiker op! Alleen a-z/0-9 zijn toegestaan." #~ msgid "Please enter a group." #~ msgstr "Geef a.u.b. een groep op." #~ msgid "Please enter a valid group. Only a-z/0-9 are allowed." #~ msgstr "Geef a.u.b. een geldige groep op! Alleen a-z/0-9 zijn toegestaan." #~ msgid "Create new FAI object - partition table." #~ msgstr "Nieuw FAI object - partitie tabel aanmaken." #~ msgid "Create new FAI object - package bundle." #~ msgstr "Nieuw FAI object - pakketbundel aanmaken." #~ msgid "Create new FAI object - script bundle." #~ msgstr "Nieuw FAI object - scriptbundel aanmaken." #~ msgid "Create new FAI object - variable bundle." #~ msgstr "Nieuw FAI object - variabelebundel aanmaken." #~ msgid "Create new FAI object - hook bundle." #~ msgstr "Nieuw FAI object - inhakerbundel aanmaken." #~ msgid "Create new FAI object - profile." #~ msgstr "Nieuw FAI object - profiel aanmaken." #~ msgid "Create new FAI object - template." #~ msgstr "Nieuw FAI object - sjabloon aanmaken." #, fuzzy #~ msgid "Spaces are not allowed within class names." #~ msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!" #~ msgid "The given class name is empty." #~ msgstr "De opgegeven klassenaam is leeg." #~ msgid "The specified class name is already in use for this object type." #~ msgstr "" #~ "De waarde die opgegeven is voor de klassenaam is al in gebruik voor dit " #~ "objecttype." #, fuzzy #~ msgid "There is already a variable with the given name." #~ msgstr "Er bestaat al een bestand met dezelfde naam." #~ msgid "Please specify a value for the attribute 'content'." #~ msgstr "Geef a.u.b. een waarde op voor het atribuut 'inhoud'." #~ msgid "Please enter a name." #~ msgstr "Kies a.u.b. een naam." #~ msgid "Display FAI profile objects" #~ msgstr "Toon FAI profieel objecten" #~ msgid "Display FAI template objects" #~ msgstr "Toon FAI sjabloon objecten" #~ msgid "Display FAI scripts" #~ msgstr "Toon FAI scripts" #~ msgid "Display FAI hooks" #~ msgstr "Toon FAI inhakers" #~ msgid "Display FAI variables" #~ msgstr "Toon FAI variabelen" #~ msgid "Display FAI packages" #~ msgstr "Toon FAI pakketten" #~ msgid "Display FAI partitions" #~ msgstr "Toon FAI partities" #, fuzzy #~ msgid "Number of listed profiles" #~ msgstr "Naam van de afdeling" #, fuzzy #~ msgid "Number of listed partitions" #~ msgstr "Naam van de afdeling" #, fuzzy #~ msgid "Number of listed scripts" #~ msgstr "Lijst met scripts" #, fuzzy #~ msgid "Number of listed variables" #~ msgstr "Lijst met toegekende variabelen" #, fuzzy #~ msgid "Number of listed templates" #~ msgstr "Naam van de afdeling" #, fuzzy #~ msgid "Number of listed packages" #~ msgstr "Naam van de afdeling" #, fuzzy #~ msgid "Number of listed departments" #~ msgstr "Naam van de afdeling" #, fuzzy #~ msgid "Please specify a valid disc name." #~ msgstr "Geef a.u.b. een geldige scriptnaam op." #~ msgid "Please enter a valid mount point for partition %s." #~ msgstr "Geef a.u.b. een geldig koppelpunt op voor partitie %s." #~ msgid "Please enter a valid partition size for partition %s." #~ msgstr "Geef a.u.b. een geldige partitie grootte op voor partitie %s." #~ msgid "Please enter a valid range for partition %s." #~ msgstr "Geef a.u.b. een geldig bereik op voor partitie %s." #~ msgid "Please enter a range for partition size for partition %s." #~ msgstr "Geef a.u.b. een bereik op voor de partitie grootte van partitie %s." #~ msgid "Back" #~ msgstr "Terug" #, fuzzy #~ msgid "Saving of FAI/package list with dn '%s' failed." #~ msgstr "Het opslaan van de FAI pakket basis is mislukt" #, fuzzy #~ msgid "Saving of FAI/hook with dn '%s' failed." #~ msgstr "Het opslaan van de FAI inhaker basis is mislukt" #, fuzzy #~ msgid "Saving of FAI/variable with dn '%s' failed." #~ msgstr "Het opslaan van de FAI variabele basis is mislukt" #, fuzzy #~ msgid "Saving of FAI/template with dn '%s' failed." #~ msgstr "Het opslaan van de FAI sjabloon basis is mislukt" #, fuzzy #~ msgid "Creating of FAI/script with dn '%s' failed." #~ msgstr "Het aanmaken van de FAI script basis is mislukt" #, fuzzy #~ msgid "Saving of FAI/partition table with dn '%s' failed." #~ msgstr "Het opslaan van de FAI partitietabel basis is mislukt" #, fuzzy #~ msgid "Saving of FAI/profile with dn '%s' failed." #~ msgstr "Het opslaan van het FAI profiel is mislukt" #~ msgid "Please select a valid file." #~ msgstr "Selecteer a.u.b. een geldig bestand." #, fuzzy #~ msgid "There is already a hook with the given name." #~ msgstr "Er bestaat al een object met deze cn." #~ msgid "Please enter a value for script." #~ msgstr "Geef a.u.b. een waarde voor script op" #, fuzzy #~ msgid "There is already a script with the given name." #~ msgstr "Er bestaat al een object met deze cn." #~ msgid "Please assign at least one class to this profile." #~ msgstr "Ken a.u.b. tenminste een klasse toe aan dit profiel." #~ msgid "Please enter a valid name." #~ msgstr "Geef a.u.b. een geldige naam op" #, fuzzy #~ msgid "There is already a FAI object with this class name defined." #~ msgstr "Er bestaat al een profiel met deze klassenaam." gosa-plugin-fai-2.7.4/admin/0000755000175000017500000000000011752422555014602 5ustar cajuscajusgosa-plugin-fai-2.7.4/admin/systems/0000755000175000017500000000000011752422555016311 5ustar cajuscajusgosa-plugin-fai-2.7.4/admin/systems/services/0000755000175000017500000000000011752422555020134 5ustar cajuscajusgosa-plugin-fai-2.7.4/admin/systems/services/repository/0000755000175000017500000000000011752422555022353 5ustar cajuscajusgosa-plugin-fai-2.7.4/admin/systems/services/repository/repository-list.xml0000644000175000017500000000441611656732552026276 0ustar cajuscajus false false false true 1 true FAKE_OC_FaiRepository server servrepository images/lits/element.png[new] |||170px;r| Release string %{filter:link(row,dn,"%s",Release)} true Sections string %{filter:filterSections(row,Sections)} true %{filter:actions(dn,row,objectClass)}
sub images/lists/element.png[new] new entry images/lists/element.png[new] separator remove entry images/lists/trash.png separator exporter edit entry images/lists/edit.png remove entry images/lists/trash.png
gosa-plugin-fai-2.7.4/admin/systems/services/repository/servRepositorySetup.tpl0000644000175000017500000000257211352631624027175 0ustar cajuscajus

{t}Repository{/t}

{t}Parent server{/t} {render acl=$ParentServerACL} {/render}
{t}Release{/t} {render acl=$ReleaseACL} {/render}
{t}URL{/t} {render acl=$UrlACL} {/render}
{t}Sections{/t}
{render acl=$SectionACL} {$Sections} {/render} {render acl=$SectionACL} {/render} {render acl=$SectionACL} {/render}

gosa-plugin-fai-2.7.4/admin/systems/services/repository/class_servRepository.inc0000644000175000017500000003624011475227246027321 0ustar cajuscajusDisplayName = _("Repository service"); /* Create repositoryMangement */ $this->repositoryMangement = new repositoryManagement($this->config,$this); /* Skip this if fai is deactivated */ if($this->config->pluginEnabled("faiManagement")){ $this->fai_activated = TRUE; }else{ return; } $this->repositories = array(); if(isset($this->attrs['FAIrepository'])){ for($i = 0; $i < $this->attrs['FAIrepository']['count']; $i++){ $tmp = explode("|",$this->attrs['FAIrepository'][$i]); $tmp2 = array(); $tmp3 = array(); if(isset($tmp[1])){ $tmp2['ParentServer'] = $tmp[1]; if(empty($tmp[1])){ $tmp2['ParentServer'] = "none"; } }else{ $tmp2['ParentServer'] = "none"; } if(isset($tmp[0])){ $tmp2['Url'] = $tmp[0]; }else{ $tmp2['Url'] = ""; } if(isset($tmp[2])){ $tmp2['Release'] = $tmp[2]; }else{ $tmp2['Release'] = ""; } if(isset($tmp[3])){ $tmp3 = explode(",",$tmp[3]); foreach($tmp3 as $sec){ $tmp2['Sections'][$sec]=$sec; } }else{ $tmp['Section']=array(); } $this->repositories[$tmp[2]]=$tmp2; } } session::set('RepositoryList', $this->repositories); } /*! \brief Act on events frowarded by the repositoryManagement */ function newEntry() { if(!$this->dialog){ $this->dialog = new servRepositorySetup($this->config,$this->dn); $this->dialog->parent = $this; } } /*! \brief Act on events frowarded by the repositoryManagement */ function removeEntry($action,$target,$all) { foreach($target as $value){ if(!isset($this->repositories[$value])) continue; $url = $this->repositories[$value]['Url']; $release = $this->repositories[$value]['Release']; $ldap = $this->config->get_ldap_link(); $ldap->cd ($this->config->current['BASE']); $found= false; $auto= false; $obj= array(); $aobj= array(); $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(|(FAIdebianMirror=".$url.")(FAIdebianMirror=auto)))",array("cn","FAIclass", "FAIdebianMirror")); if ($ldap->count() != 0){ while($attrs = $ldap->fetch()){ if (!isset($attrs['FAIclass'])){ continue; } foreach($attrs['FAIclass'] as $class){ if(preg_match("/:".str_replace("/","\/",$release)."$/i",$class)){ if (isset($attrs['FAIdebianMirror'][0]) && $attrs['FAIdebianMirror'][0] == "auto") { $aobj[$ldap->getDN()]= $attrs['cn'][0]; $auto= true; } else { $obj[$ldap->getDN()]= $attrs['cn'][0]; $found= true; } } } } } // Look for automatic releases if ($auto) { $usage= 0; $ldap->search("(&(objectClass=FAIrepositoryServer))",array("FAIrepository")); if ($ldap->count() != 0){ while($sattrs = $ldap->fetch()){ if (!isset($sattrs['FAIrepository'])){ continue; } for ($i= 0; $i < $sattrs['FAIrepository']['count']; $i++){ $t= preg_split('/\|/', $sattrs['FAIrepository'][$i]); if($release == $t[2]){ $usage++; } } } // Are we the last one to provide this release? if ($usage < 2) { $obj= array_merge($obj, $aobj); $found= true; } } } if ($found){ msg_dialog::display(_("Error"), msgPool::stillInUse(_("FAI release"), msgPool::buildList($obj)), ERROR_DIALOG); }else{ if(isset($this->repositories[$value])){ unset($this->repositories[$value]); } } } } /*! \brief Act on events frowarded by the repositoryManagement */ function editEntry($action,$target,$all) { if(count($target) == 1 && !$this->dialog){ $value = array_pop($target); if(isset($this->repositories[$value])){ $once = true; $obj = $this->repositories[$value]; /* to be able to detect if this was renamed */ $obj['initialy_was'] = $obj['Release']; $this->dialog = new servRepositorySetup($this->config,$this->dn,$obj); $this->dialog->parent = $this; } } } function execute() { /* Call parent execute */ plugin::execute(); $smarty= get_smarty(); $this->repositoryMangement->handleActions($this->repositoryMangement->detectPostActions()); if($this->is_account && !$this->view_logged){ $this->view_logged = TRUE; new log("view","server/".get_class($this),$this->dn); } if(!$this->fai_activated){ $str = "

"._("You can't use this plug-in until FAI is activated.")."

"; $display = $smarty->fetch(get_template_path('servRepository.tpl', TRUE,dirname(__FILE__))); return($str.$display); } /* Fill templating stuff */ $smarty->assign("is_createable",$this->acl_is_createable()); $display= ""; if(isset($_POST['repository_setup_save']) && is_object($this->dialog)){ $this->dialog->save_object(); if(($this->dialog->is_new_name())&&(isset($this->repositories[$this->dialog->GetName()]))){ msg_dialog::display(_("Error"), msgPool::duplicated(_("Name")), ERROR_DIALOG); }else if(count($this->dialog->check())!=0){ foreach($this->dialog->check() as $msg){ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG); } }else{ $obj = $this->dialog->save(); if($this->dialog->is_new_name()){ $oldname = $this->dialog->initialy_was; $this->repositories[$obj['Release']]=$obj; unset($this->repositories[$oldname]); }else{ $this->repositories[$obj['Release']]=$obj; } $this->dialog = FALSE; $this->is_dialog= false; } } if(isset($_POST['repository_setup_cancel'])){ $this->dialog=FALSE; $this->is_dialog = false; } if(is_object($this->dialog)){ $this->dialog->save_object(); $this->is_dialog = true; return($this->dialog->execute()); } /* Repository setup dialog handling /END */ $link = "%s"; $edit = " "; /* Hide delete icon, if delete is not allowed */ if($this->acl_is_removeable()){ $delete = ""; }else{ $delete = " "; } session::set('RepositoryList', $this->repositories); $str = $this->repositoryMangement->execute(); $display.= $smarty->fetch(get_template_path('servRepository.tpl', TRUE,dirname(__FILE__))); return($str.$display); } /* Save data to object */ function save_object() { plugin::save_object(); } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); return ($message); } /* Save to LDAP */ function save() { if(!$this->fai_activated) return; plugin::save(); $arr = array(); foreach($this->repositories as $servername => $conf){ $str = ""; foreach($conf['Sections'] as $sec){ $str.=$sec.","; } $str=preg_replace("/,$/","",$str); if($conf['ParentServer']=="none"){ $conf['ParentServer'] =""; } $arr[]=$conf['Url']."|".$conf['ParentServer']."|".$conf['Release']."|".$str; } $this->attrs['FAIrepository'] = $arr; $ldap= $this->config->get_ldap_link(); $ldap->cd ($this->config->current['BASE']); $ldap->cat($this->dn, array('dn')); if($ldap->count()){ $ldap->cd($this->dn); $this->cleanup(); $ldap->modify ($this->attrs); $this->handle_post_events("modify"); }else{ $ldap->cd ($this->config->current['BASE']); $ldap->create_missing_trees($this->dn); $ldap->cd($this->dn); $ldap->add($this->attrs); $this->handle_post_events("add"); } # If there were changes, just tell the server to reload information if(count($this->attrs)){ $this->trigger_si_fai_server_reload(); } if($this->initially_was_account){ new log("modify","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error()); }else{ new log("create","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error()); } } function getListEntry() { $fields = goService::getListEntry(); $fields['Message'] = _("Repository service"); return($fields); } function trigger_si_fai_server_reload() { /* Reload GOsa si FAI DB/cache */ if(class_available("DaemonEvent") && class_available("gosaSupportDaemon")){ $events = DaemonEvent::get_event_types(SYSTEM_EVENT | HIDDEN_EVENT); if(isset($events['TRIGGERED']['DaemonEvent_recreate_fai_server_db'])){ $evt = $events['TRIGGERED']['DaemonEvent_recreate_fai_server_db']; $tmp = new $evt['CLASS_NAME']($this->config); $tmp->set_type(TRIGGERED_EVENT); $tmp->add_targets(array("GOSA")); $o_queue = new gosaSupportDaemon(); if(!$o_queue->append($tmp)){ msg_dialog::display(_("Service infrastructure"),msgPool::siError($o_queue->get_error()),ERROR_DIALOG); } } } } function allow_remove() { /* Check if the service is still in use */ $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); foreach($this->repositories as $repository) { $url = $repository['Url']; $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(FAIdebianMirror=".$url."))",array("cn","FAIclass")); if ($ldap->count() != 0){ $obj= array(); $found= false; while($attrs = $ldap->fetch()){ foreach($attrs['FAIclass'] as $class){ $obj[$ldap->getDN()]= $attrs['cn'][0]; $found= true; } } if ($found){ $message = msgPool::stillInUse(_("Repository service")) . msgPool::buildList($obj); return $message; } } } } function remove_from_parent() { goService::remove_from_parent(); $this->trigger_si_fai_server_reload(); } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Repository"), "plDescription" => _("Repository service")." ("._("Services").")", "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 84, "plSection" => array("administration"), "plCategory" => array("server"), "plProperties" => array( array( "name" => "repositoryBranchHook", "type" => "command", "default" => "", "description" => _("Script to manage branching and freezing of FAI repositories. Please read the FAQ for details.") )), "plProvidedAcls"=> array( # "start" => _("Service start"), // Remove this to hide the start button at all. # "stop" => _("Service stop"), // Remove this to hide the stop button at all. # "restart" => _("Service restart"),// Remove this to hide the restart button at all. # "cn" => _("Name"), "ParentServer" => _("Parent server"), "Release" => _("Releases"), "Url" => _("URL"), "Section" => _("Sections")) )); } /*! \brief Returns the list of of services, active services. * Used in the filter class for services. * class_filterServerService.inc */ static function getRepositoryList() { return(session::get('RepositoryList')); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/systems/services/repository/class_repositoryManagement.inc0000644000175000017500000000333411343435217030445 0ustar cajuscajusui = get_userinfo(); $this->parent = $parent; // Set storage points - We do not have any - We just create a fake list which lists all services $this->storagePoints = array(""); // Build filter if (session::global_is_set(get_class($this)."_filter")){ $filter= session::global_get(get_class($this)."_filter"); } else { $filter = new filter(get_template_path("services/repository/repository-filter.xml", true)); $filter->setObjectStorage($this->storagePoints); } $this->setFilter($filter); // Build headpage $headpage = new listing(get_template_path("services/repository/repository-list.xml", true)); $headpage->registerElementFilter("filterSections", "repositoryManagement::filterSections"); $headpage->setFilter($filter); parent::__construct($config, $this->ui, "repositories", $headpage); $this->registerAction('edit', 'forwardToParent'); $this->registerAction('remove', 'forwardToParent'); $this->registerAction('new', 'forwardToParent'); } /*! \brief Forwards list action to the parent management class */ function forwardToParent($action, $target, $all) { if(!empty($action)){ $tmp = $action."Entry"; $this->parent->$tmp($action,$target,$all); } } /*! \brief Makes section array printable for the overview list. */ static function filterSections($a,$b) { if(!$b) return(' '); return(implode($b,', ')); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/systems/services/repository/repository-list.tpl0000644000175000017500000000050711361070535026257 0ustar cajuscajus

{$HEADLINE} {$SIZELIMIT}

{$RELOAD} {$ACTIONS}
{$LIST}
gosa-plugin-fai-2.7.4/admin/systems/services/repository/servRepository.tpl0000644000175000017500000000037611350721065026151 0ustar cajuscajus
gosa-plugin-fai-2.7.4/admin/systems/services/repository/class_filterServRepository.inc0000644000175000017500000000165311423326772030464 0ustar cajuscajus $entry){ $entry['objectClass'] = array('FAKE_OC_FaiRepository'); $item = array('count' => count($entry)); $item['dn'] = $key; if(!count($entry['Sections'])){ $entry['Sections'][] = ''; } foreach($entry as $name => $value){ $item[] = $name; if(!is_array($value)) $value=array($value); $value= array_values($value); $value['count'] = count($value); $item[$name] = $value; } $data[] = $item; } return($data); } } ?> gosa-plugin-fai-2.7.4/admin/systems/services/repository/class_servRepositorySetup.inc0000644000175000017500000001521111423326777030337 0ustar cajuscajusattrs['cn'][0])){ $this->cn=$this->attrs['cn'][0]; } if($data != false){ foreach(array("Sections","Release","Url","ParentServer","initialy_was") as $atr){ if(isset($data[$atr])){ $this->$atr = $data[$atr]; } } } // Prepare lists $this->sectionList = new sortableListing(); $this->sectionList->setDeleteable(true); $this->sectionList->setInstantDelete(true); $this->sectionList->setEditable(false); $this->sectionList->setWidth("100%"); $this->sectionList->setHeight("100px"); $this->sectionList->setHeader(array(_("Name"))); $this->sectionList->setColspecs(array('*','20px')); $this->sectionList->setDefaultSortColumn(0); } function GetName() { return($this->Release); } function is_new_name() { if(!$this->initialy_was){ return(true); }else{ if($this->Release != $this->initialy_was){ return(true); } } return(false); } function execute() { /* Call parent execute */ plugin::execute(); /* Fill templating stuff */ $smarty= get_smarty(); if(preg_match("/w/",$this->parent->getacl("Section"))){ if((isset($_POST['AddSection']))&&(isset($_POST['SectionName']))&&(!empty($_POST['SectionName']))){ /* Replace multiple spaces with a single, and cut of white spaces (trim)*/ $val = preg_replace("/\ \ * /" , " ", trim(get_post('SectionName'))); /* check if there are more than one entry given ( "section1 section2 )*/ if(preg_match("/ /",$val)){ /* Generate list of new section names */ $vals = explode(" ",$val); /* Add new entries */ foreach($vals as $entry){ $entry = trim($entry); if(!empty($entry)){ $this->Sections[$entry]=$entry; } } }else{ $this->Sections[$val]=$val; } } $this->sectionList->save_object(); $action = $this->sectionList->getAction(); if($action['action'] == 'delete'){ $this->Sections = $this->sectionList->getMaintainedData(); } } $this->sectionList->setAcl($this->parent->getacl('Section')); $this->sectionList->setListData(set_post($this->Sections) ); $this->sectionList->update(); $smarty->assign("Sections",$this->sectionList->render()); /* Get && assign acls */ $tmp = $this->parent->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translated){ $smarty->assign($name."ACL",$this->parent->getacl($name)); } /* Assign values */ foreach($this->attributes as $attr){ $smarty->assign($attr, set_post($this->$attr)); } $tmp = $this->getParentServers(); $smarty->assign("ParentServers" , set_post($tmp)); $smarty->assign("ParentServerKeys", set_post(array_flip($tmp))); return($smarty->fetch(get_template_path('servRepositorySetup.tpl', TRUE,dirname(__FILE__)))); } /* Save data to object */ function save_object() { if(isset($_POST['servRepositorySetup_Posted'])) { foreach($this->attributes as $attr){ if(($this->parent->acl_is_writeable($attr)) && (isset($_POST[$attr]))){ $this->$attr = get_post($attr); } } } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); if(empty($this->Release)){ $message[]= msgPool::required(_("Release")); } if(empty($this->Url)){ $message[] = msgPool::required(_("URL")); } return ($message); } /* Save to LDAP */ function save() { $tmp = array(); $tmp['ParentServer'] = $this->ParentServer; $tmp['Url'] = $this->Url; $tmp['Release'] = $this->Release; $tmp['Sections'] = $this->Sections; return($tmp); } function getParentServers() { $ret = array(); $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(objectClass=FAIrepositoryServer)",array("*")); while($attr = $ldap->fetch()){ if($attr['cn'][0] == $this->cn) continue; $ret[$attr['cn'][0]]= $attr['cn'][0]; } $ret = array_merge($ret,$this->GetHookElements()); $ret['none']= " "; asort($ret); return($ret); } /* this funtions calls a defined hook and parses all additional serverdata */ function GetHookElements() { $ret = array(); $cmd = $this->config->get_cfg_value("servrepository", "repositoryBranchHook"); if(!empty($cmd)){ $res = shell_exec($cmd); $res2 = trim($res); if(!$res || empty($res2)){ msg_dialog::display(_("Error"), msgPool::cmdexecfailed("repositoryBranchHook", $cmd, _("Repository service")), ERROR_DIALOG); }else{ $tmp = preg_split("/\n/",$res); foreach($tmp as $hook){ /* skip empty */ if(empty($hook)) continue; if(preg_match("/;/",$hook)){ $hookinfo = explode(";",$hook); $ret[$hookinfo[0]] = $hookinfo[0]; }else{ $ret[$hook] = $hook; } } } } return($ret); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/systems/services/repository/repository-filter.xml0000644000175000017500000000100511347711216026566 0ustar cajuscajus server true default auto dn objectClass name Message default Repository ... gosa-plugin-fai-2.7.4/admin/fai/0000755000175000017500000000000011752422555015341 5ustar cajuscajusgosa-plugin-fai-2.7.4/admin/fai/class_debconfTemplate.inc0000644000175000017500000002505211613742614022316 0ustar cajuscajusset_language($language); } function set_language($language) { $this->language= $language; } function load_from_string($str) { $lines = explode("\n",$str); $this->template = array(); $post_name = 0; $langcode = $this->language.".UTF-8"; $in_description = FALSE; $got_local_description = FALSE; foreach($lines as $line){ /* Reset description flag */ if ($in_description && !preg_match("/^ /", $line)){ $in_description= FALSE; } /* Template header */ if (preg_match("/^Template: /", $line)){ $post_name ++; $name= trim(preg_replace("/^Template: (.*)$/", "\\1", $line)); $this->template[$post_name]['Name'] = $name; $this->template[$post_name]['Default'] =""; $got_local_description= FALSE; continue; } /* Get type */ if (preg_match("/^Type: /", $line)){ $type= trim(preg_replace("/^Type: (.*)$/", "\\1", $line)); $this->template[$post_name]['Type']= $type; continue; } /* Get default */ if (preg_match("/^Default: /", $line)){ $this->template[$post_name]['Default']= ""; $default= trim(preg_replace("/^Default: (.*)$/", "\\1", $line)); $this->template[$post_name]['Default']= $default; continue; } /* Get description */ if (!$got_local_description && preg_match("/^Description: /i", $line)){ $description= trim(preg_replace("/^Description: (.*)$/i", "\\1", $line)); $this->template[$post_name]['Topic']= $description; $this->template[$post_name]['Description']= ""; $in_description= TRUE; continue; } /* Fill description */ if (!$got_local_description && $in_description){ $description= preg_replace("/^ (.*)$/", "\\1", $line); $this->template[$post_name]['Description'].= $description; continue; } /* Get local description */ if (preg_match("/^Description-$langcode: /i", $line)){ $description= trim(preg_replace("/^Description-$langcode: (.*)$/i", "\\1", $line)); $this->template[$post_name]['Topic']= $description; $in_description= TRUE; $got_local_description= TRUE; $this->template[$post_name]['Description']= ""; continue; } /* Fill local description */ if ($got_local_description && $in_description){ $description= preg_replace("/^ (.*)$/", "\\1", $line); $this->template[$post_name]['Description'].= $description; continue; } /* Get native choices */ if (preg_match("/^Choices: /", $line)){ $type= trim(preg_replace("/^Choices: (.*)$/", "\\1", $line)); $this->template[$post_name]['Choices']= $type; } /* Get local choices */ if (preg_match("/^Choices-$langcode: /", $line)){ $type= trim(preg_replace("/^Choices-$langcode: (.*)$/", "\\1", $line)); $this->template[$post_name]['Choices-local']= $type; } } $this->loaded_template= TRUE; $tmp= array(); foreach($this->template as $post_name => $template){ $template['post_name'] = "post_".$post_name; $tmp[] = $template; } $this->template = $tmp; return (TRUE); } function has_template() { return(count($this->template) != FALSE); } /* Check if some fields are posted */ function PostCheck() { /* Walk through all template variables */ foreach($this->template as $post_name => $entry){ /* Check if this var is set*/ if(isset($_POST[$entry['post_name']])){ /* special handling for arrays */ if(is_array($_POST[$entry['post_name']])){ $str = ""; foreach($_POST[$entry['post_name']] as $val){ $str.= $val.", "; } $str = preg_replace("/\,\ $/","",$str); $this->template[$post_name]['Default'] = $str; }else{ $this->template[$post_name]['Default'] = get_post($entry['post_name']); } } } foreach($this->template as $post_name => $entry){ if(isset($_POST["multi-".$entry['post_name']])){ $this->template[$post_name]['Default']= ""; foreach($_POST as $name => $value){ if(preg_match("/".$entry['post_name']."-multi-/",$name)){ $this->template[$post_name]['Default'] .= $value.", "; } } $this->template[$post_name]['Default'] = preg_replace("/, $/","",$this->template[$post_name]['Default']); } } } /* This funtion sets the defualt value */ function SetDefault($var,$val) { if ($this->loaded_template) { foreach($this->template as $key => $tmp){ if($tmp['Name'] == $var ){ $this->template[$key]['Default'] = $val; } } } } /* Display all possible options in html*/ function get_dialog() { if ($this->loaded_template && count($this->template)) { $result= ""; foreach ($this->template as $post_name => $entry){ $types= array("boolean" => "", "multiselect" => "", "note" => "", "password" => "", "select" => "", "string" => "", "text" => "", "title" => ""); /* Check if type is available */ if ((isset($entry['Type']))&&(isset($types[$entry['Type']]))){ /* Produce type specific output */ $fn= "render_".$entry['Type']; $str = $this->$fn($entry); if(!empty($str)){ $result.=$str.""; } } else { //php_error(E_WARNING, "An unknown type has been specified in the debconf template. Please fix."); } } $result.="

"; $result .= ""; return ($result); } else { return _("This package has no debconf options."); } } function render_boolean($data) { $post_name= $data['post_name']; $result="

".$data['Topic']."

".$data['Description']." "; foreach(array("true","false") as $value){ if($data['Default'] == $value){ $result.=""._($value); }else{ $result.=""._($value); } $result.="
"; } $result.= " "; return ($result); } function render_multiselect($data) { $post_name= $data['post_name']; if (preg_match('/\$\{/', $data['Choices'])){ $data['Description'].= '

'._('This debconf question is dynamically generated during package installation and requires choosing between specific options which cannot be presented here. The entered text needs to be one of the valid choices in order to take effect.').''; $result= $this->render_string($data); } else { $choices= ""; foreach (explode(", ", $data['Choices']) as $choice){ $choices[]= $choice; } $result="

".$data['Topic']."

".$data['Description']." "; $defs = explode(", ",$data['Default']); foreach($choices as $value){ if(in_array_strict($value,$defs)){ $result.="\n".$value."
"; }else{ $result.="\n".$value."
"; } } $result .= " "; } return ($result); } function render_note($data) { /* Ignore notes, they do not makes sense, since we don't get any chance to test entered values... */ return (""); } function render_password($data) { $result= ""; $result.= ""; $result.= "

".$data['Topic']."

".$data['Description']." 

"; $result.= $data['Description']; $result.= ""; return ($result); } function render_select($data) { $post_name= $data['post_name']; if (preg_match('/\$\{/', $data['Choices'])){ $result = $this->render_multiselect($data); } else { $choices= ""; foreach (explode(", ", $data['Choices']) as $choice){ $choices[]= $choice; } $result="

".$data['Topic']."

".$data['Description']." "; foreach($choices as $value){ if($data['Default'] == $value){ $result.="\n".set_post($value)."
"; }else{ $result.="\n".set_post($value)."
"; } } $result.= " "; } return ($result); } function render_string($data) { $result= "

".$data['Topic']."

".$data['Description']." "; return ($result); } function render_text($data) { /* Ignore text messages, they are normally used for status hints. */ return (""); } function render_title($data) { /* Ignore text messages, they are normally used for status hints. */ return (""); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/faiProfile.tpl0000644000175000017500000000267011363055306020141 0ustar cajuscajus

{t}Generic{/t}

{render acl=$cnACL} {/render}
{render acl=$descriptionACL} {/render}

{t}FAI classes{/t}

{$listing}
{render acl=$FAIclassACL} {/render}
gosa-plugin-fai-2.7.4/admin/fai/faiVariable.tpl0000644000175000017500000000401111354363056020261 0ustar cajuscajus

{t}Generic{/t}

{render acl=$cnACL} {/render}
{render acl=$descriptionACL} {/render}
 


{if $is_createable} {else} {/if} {if $is_removeable} {else} {/if}
gosa-plugin-fai-2.7.4/admin/fai/class_faiProfile.inc0000644000175000017500000003324111655724504021305 0ustar cajuscajusconfig->get_ldap_link(); $this->ui = get_userinfo(); /* Parse ldap attribute to get all assigned classes */ $tmp = explode(" ",$this->FAIclass); $tmp2 = array(); foreach($tmp as $class){ if(!empty($class)){ $tmp2[trim($class)] = trim($class); } } /* Sort assigned classes */ if(is_array($tmp2)){ foreach($tmp2 as $class){ $this->FAIclasses[$class]=$class; } } $categories = array("FAIscript","FAItemplate","FAIhook","FAIvariable","FAIpartitionTable","FAIpackageList"); /* Build filter */ $filter= ""; foreach ($categories as $cat){ $filter.= "(objectClass=$cat)"; } /* Get ldap connection */ $base = session::get('CurrentMainBase'); $ldap->cd($base); $sort = array(); /* search all FAI classes */ $ldap->search("(|$filter)",array("*")); while($attrs = $ldap->fetch()){ /* Sort by categorie */ foreach($categories as $cat){ if(in_array_strict($cat,$attrs['objectClass'])){ /* Append entry */ $this->FAIAllclasses[$attrs['cn'][0]][$cat]=$attrs; /* Create sort array, because the array above is a multidimensional array, and can't be sorted by php sorting functions*/ $sort[strtolower($attrs['cn'][0])] = $attrs['cn'][0]; } } } /* Sort the sort array */ //ksort($sort); /* Reorder the FAIclasses array */ foreach($sort as $name){ $tmp[$name] =$this->FAIAllclasses[$name]; } /* Assign sorted classes */ $this->FAIAllclasses = array(); $this->FAIAllclasses = $tmp; if($dn != "new"){ $this->dn =$dn; } $this->old_cn = $this->cn; // Prepare lists $this->classList = new sortableListing(array(),array(), TRUE); $this->classList->setDeleteable(true); $this->classList->setInstantDelete(false); $this->classList->setEditable(false); $this->classList->setWidth("100%"); $this->classList->setHeight("200px"); $this->classList->setHeader(array(_("Name"),_("Types"))); $this->classList->setDefaultSortColumn(0); } function acl_base_for_current_object($dn) { if($dn == "new" || $dn == ""){ if($this->dn == "new"){ $dn= $this->parent->parent->acl_base; }else{ $dn = $this->dn; } } return($dn); } function execute() { /* Call parent execute */ plugin::execute(); if($this->is_account && !$this->view_logged){ $this->view_logged = TRUE; new log("view","fai/".get_class($this),$this->dn); } /* Fill templating stuff */ $smarty= get_smarty(); $display= ""; $s_entry = ""; $s_action = ""; /* Remove class name From list */ $sort_once = false; if(!preg_match("/freeze/",$this->FAIstate)){ if(isset($_POST['AddClass']) && $this->acl_is_writeable("FAIclass")){ $this->classSelect = new classSelect($this->config, get_userinfo()); $this->dialog =true; } /* Save Dialog */ if(isset($_POST['classSelect_save']) && $this->classSelect instanceOf classSelect){ $list = $this->classSelect->save(); foreach($list as $entry){ $class = $entry['cn'][0]; $this->FAIclasses[$class] =$class; } $this->dialog=false; $this->classSelect=FALSE; } } /* Cancel Dialog */ if(isset($_POST['classSelect_cancel']) && $this->classSelect instanceOf classSelect){ $this->dialog=false; $this->classSelect=FALSE; } if($this->classSelect instanceOf classSelect){ session::set('filterFAIClass_base',$this->parent->parent->fai_release); session::set('filterBlacklist', array('cn' => array_values($this->FAIclasses))); return($this->classSelect->execute()); } /* item images */ $objTypes['FAIhook'] = image('plugins/fai/images/fai_hook.png','',_("Hook bundle")); $objTypes['FAItemplate'] = image('plugins/fai/images/fai_template.png','',_("Template bundle")); $objTypes['FAIscript'] = image('plugins/fai/images/fai_script.png','',_("Script bundle")); $objTypes['FAIvariable'] = image('plugins/fai/images/fai_variable.png','',_("Variable bundle")); $objTypes['FAIpackageList'] = image('plugins/fai/images/fai_packages.png','',_("Package bundle")); $objTypes['FAIpartitionTable'] = image('plugins/fai/images/fai_partitionTable.png','',_("Partition table")); $emp = image('images/empty.png'); /* Delete button */ $actions = image('images/lists/trash.png','DEL_%KEY%',_("Remove class from profile")); /* Up down buttons */ $linkupdown = image('images/lists/sort-up.png','sortup_%s',_("Up"), 'top'); $linkupdown.= image('images/lists/sort-down.png','sortdown_%s',_("Down"), 'bottom'); $this->classList->setAcl($this->getacl('FAIclass',preg_match('/^freeze/', $this->FAIstate))); $data = $lData = array(); foreach($this->FAIclasses as $usedClass){ $str = ""; if(isset($this->FAIAllclasses[$usedClass])){ foreach($this->FAIAllclasses[$usedClass] as $class => $obj){ $str.= $objTypes[$class]; } } $data[$usedClass] = $usedClass; $lData[$usedClass] = array('data'=>array($usedClass,$str)); } $this->classList->setListData($data,$lData); $this->classList->update(); $smarty->assign("freeze", preg_match("/freeze/i",$this->FAIstate)); $smarty->assign("FAIclasses" ,$this->FAIclasses); $smarty->assign("listing" ,$this->classList->render()); /* Magic quotes GPC, escapes every ' " \, to solve some security risks * If we post the escaped strings they will be escaped again */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); } $dn = $this->acl_base_for_current_object($this->dn); $smarty->assign("sub_object_is_addable", preg_match("/c/",$this->ui->get_permissions($dn,"fai/faiScriptEntry")) && !preg_match("/freeze/",$this->FAIstate)); $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translated){ $smarty->assign($name."ACL",$this->getacl($name, preg_match("/freeze/",$this->FAIstate))); } $display.= $smarty->fetch(get_template_path('faiProfile.tpl', TRUE)); return($display); } function remove_from_parent() { $ldap = $this->config->get_ldap_link(); $ldap->cd ($this->dn); $release = $this->parent->parent->fai_release; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $this->dn); new log("remove","fai/".get_class($this),$use_dn,$this->attributes); FAI::prepare_to_save_FAI_object($use_dn,array(),true); $this->handle_post_events("remove"); } /* Save data to object */ function save_object() { if(!preg_match("/freeze/",$this->FAIstate)){ plugin::save_object(); $this->classList->save_object(); $action = $this->classList->getAction(); if($action['action'] == 'reorder'){ $this->FAIclasses = $this->classList->getMaintainedData(); } if($action['action'] == 'delete'){ $s_entry = $this->classList->getKey($action['targets'][0]); unset($this->FAIclasses[$s_entry]); } } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); if(count($this->FAIclasses) == 0){ $message[]=_("No class specified for this profile!"); } if($this->cn == ""){ $message[]= msgPool::required(_("Name")); } /* Ensure that we do not overwrite an allready existing entry */ if($this->dn == "new" || $this->cn != $this->old_cn){ $release = $this->parent->parent->fai_release; $new_dn= 'cn='.$this->cn.",".get_ou("faiProfile", "faiProfileRDN").get_ou("faiManagement", "faiBaseRDN").$release; $res = faiManagement::check_class_name("FAIprofile",$this->cn,$new_dn); if(isset($res[$this->cn])){ $message[] = msgPool::duplicated(_("Name")); } } return ($message); } /* Save to LDAP */ function save() { plugin::save(); $ldap = $this->config->get_ldap_link(); $this->FAIclass = ""; foreach($this->FAIclasses as $class){ $this->FAIclass.=$class." "; } $this->attrs['FAIclass']=trim($this->FAIclass); /* Remove the old FAI profile, if the dn has changed. */ if($this->cn != $this->old_cn && $this->old_cn != ""){ $old_dn = preg_replace("/^cn=[^,]+,/","cn=".$this->old_cn.",",$this->dn); FAI::prepare_to_save_FAI_object($old_dn,array(),TRUE); } FAI::prepare_to_save_FAI_object($this->dn,$this->attrs); if($this->initially_was_account){ new log("modify","fai/".get_class($this),$this->dn,$this->attributes); }else{ new log("create","fai/".get_class($this),$this->dn,$this->attributes); } } function PrepareForCopyPaste($source) { plugin::PrepareForCopyPaste($source); /* Parse ldap attribute to get all assigned classes */ $tmp = explode(" ",$this->FAIclass); $tmp2 = array(); foreach($tmp as $class){ if(!empty($class)){ $tmp2[trim($class)] = trim($class); } } /* Sort assigned classes */ if(is_array($tmp2)){ foreach($tmp2 as $class){ $this->FAIclasses[$class]=$class; } } } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Profile"), "plDescription" => _("FAI profile"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 30, "plSection" => array("administration"), "plCategory" => array("fai"), "plProperties" => array( array( "name" => "faiProfileRDN", "type" => "rdn", "default" => "ou=profiles,", "description" => _("RDN for FAI profile storage."), "check" => "gosaProperty::isRdn", "migrate" => "migrate_faiProfileRDN", "group" => "plugin", "mandatory" => TRUE)), "plProvidedAcls" => array( "cn" => _("Name"), "description" => _("Description"), "FAIclass" => _("FAI classes")) )); } /*! \brief Used for copy & paste. Returns a HTML input mask, which allows to change the cn of this entry. @param Array Array containing current status && a HTML template. */ function getCopyDialog() { $vars = array("cn"); $smarty = get_smarty(); $smarty->assign("cn", set_post($this->cn)); $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE)); $ret = array(); $ret['string'] = $str; $ret['status'] = ""; return($ret); } /*! \brief Used for copy & paste. Some entries must be renamed to avaoid duplicate entries. */ function saveCopyDialog() { if(isset($_POST['cn'])){ $this->cn = get_post('cn'); } } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/class_askClassName.inc0000644000175000017500000001225311613742614021566 0ustar cajuscajusui = $ui; $this->objectClass = $objectClass; plugin::plugin ($config, $dn); } function execute() { /* Call parent execute */ plugin::execute(); /* Fill templating stuff */ $smarty = get_smarty(); $display= ""; /* First search for every ou, in given fai base * With a second search detect all object that belong to the different ous. */ $base = $this->parent->fai_release; $ldap = $this->config->get_ldap_link(); $type_acl_mapping = array( "FAIpartitionTable" => "faiPartitionTable", "FAIpackageList" => "faiPackage", "FAIscript" => "faiScript", "FAIvariable" => "faiVariable", "FAIhook" => "faiHook", "FAIprofile" => "faiProfile", "FAItemplate" => "faiTemplate"); $filter = ""; foreach($type_acl_mapping as $map){ $filter .= "(objectClass=".$map.")"; } $res = FAI::get_all_objects_for_given_base($base,"(|".$filter.")",TRUE); $delete = array(); $used = array(); foreach($res as $object){ /* skip class names with this name */ if(in_array_strict($this->objectClass,$object['objectClass']) || in_array_strict("FAIprofile",$object['objectClass'])){ if(isset($object['FAIstate'][0]) && preg_match("/removed$/",$object['FAIstate'][0])){ continue; } $delete[] = $object['cn'][0]; } /* Skip profiles */ if(!in_array_strict("FAIprofile",$object['objectClass'])){ if(isset($object['cn'])){ $used[$object['cn'][0]]= $object['cn'][0]; } } } /* Create headline * Depending on the object type we want to create, a different headline will be shown */ switch($this->objectClass) { case "FAIpartitionTable": $str =_("Create new FAI object")." - "._("Partition table");break; case "FAIpackageList" : $str =_("Create new FAI object")." - "._("Package bundle");break; case "FAIscript" : $str =_("Create new FAI object")." - "._("Script bundle");break; case "FAIvariable" : $str =_("Create new FAI object")." - "._("Variable bundle");break; case "FAIhook" : $str =_("Create new FAI object")." - "._("Hook bundle");break; case "FAIprofile" : $str =_("Create new FAI object")." - "._("Profile");break; case "FAItemplate" : $str =_("Create new FAI object")." - "._("Template bundle");break; default : $str =_("Create new FAI object");break; } $smarty->assign("headline",$str); /* Save forbidden class names */ $this->forbidden = $delete; /* Delete all class names which already have this type of object */ foreach($delete as $del){ unset($used[$del]); } /* if there is no class name which is missing for this type * of objectClass, we only can create a new one, disable selectBox */ if(count ($used)==0){ $smarty->assign("ClassNamesAvailable", " disabled "); $smarty->assign("grey", 'style="color:#C0C0C0"'); }else{ $smarty->assign("ClassNamesAvailable", ""); $smarty->assign("grey", ""); } ksort($used); $smarty->assign("ClassNames", $used); $smarty->assign("ClassName", $this->ClassName); $display.= $smarty->fetch(get_template_path('askClassName.tpl', TRUE)); return($display); } /* Get posts and set class name */ function save_object() { if(isset($_POST['classSelector']) && $_POST['classSelector'] == 1 && isset($_POST['edit_continue'])){ $this->ClassName = get_post('UseTextInputName'); $this->ClassAlreadyExists = true; } if(isset($_POST['classSelector']) && $_POST['classSelector'] == 2 && isset($_POST['edit_continue'])){ $this->ClassAlreadyExists = false; $this->ClassName = get_post('SelectedClass'); } } /* Check given class name */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); if($this->objectClass == "FAIscript" && preg_match("/^-/", $this->ClassName)) { $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->ClassName),"/[^_]/"); } if($this->ClassName != preg_replace("/ /","",trim($this->ClassName))){ $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->ClassName),"/[^_]/"); } if($this->ClassName == ""){ $message[]= msgPool::required(_("Name")); } if(in_array_strict($this->ClassName,$this->forbidden)){ $message[]= msgPool::duplicated(_("Name")); } return ($message); } /* Return the class name */ function save() { return($this->ClassName); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/class_faiScriptEntry.inc0000644000175000017500000001714111664677031022176 0ustar cajuscajusorig_cn= $object['cn']; $this->dn=$object['dn']; foreach($object as $name=>$value){ $this->$name=$value; } }else{ if(is_array($object)&&count($object)){ $this->orig_cn= $object['cn']; $this->dn=$object['dn']; foreach($object as $name=>$value){ $oname = $name; $this->$oname=$value; } }else{ $this->status = "new"; $this->orig_cn = false; } } // Keep an eye on dangerous encodings, we may break scripts while editing. $this->mb_extension = function_exists("mb_detect_encoding"); if($this->mb_extension){ $this->enc_before_edit = mb_detect_encoding($this->FAIscript); if($this->enc_before_edit != "ASCII"){ $this->write_protect = TRUE; } } } function execute() { /* Call parent execute */ plugin::execute(); /* Fill templating stuff */ $smarty = get_smarty(); $smarty->assign("freeze", preg_match("/freeze/i",$this->FAIstate)); $display = ""; if(isset($_POST['ImportUpload']) && $this->acl_is_writeable("FAIscript")){ if(($_FILES['ImportFile']['error']!=0)){ msg_dialog::display(_("Error"), msgPool::incorrectUpload(), ERROR_DIALOG); }else if(($_FILES['ImportFile']['size']==0)){ msg_dialog::display(_("Error"), msgPool::incorrectUpload(_("file is empty")), ERROR_DIALOG); }else{ $str = file_get_contents(gosa_file_name($_FILES['ImportFile']['tmp_name'])); $this->FAIscript = $str; // Check encoding again if($this->mb_extension){ $this->enc_before_edit = mb_detect_encoding($this->FAIscript); if($this->enc_before_edit != "ASCII"){ $this->write_protect = TRUE; } } } } // Assign encoding related variables. $smarty->assign("write_protect",$this->write_protect); foreach($this->attributes as $attrs){ $smarty->assign($attrs, set_post($this->$attrs)); } /* File download requested */ if(isset($_POST['download'])){ send_binary_content($this->FAIscript,$this->cn.".FAIscript"); } /* Create download button*/ if($this->dn != "new" && $this->acl_is_readable("FAIscript")){ $smarty->assign("DownMe", image('images/save.png','download',_("Download"))); }else{ $smarty->assign("DownMe",""); } for($i =0 ; $i < 100 ; $i++){ $FAIprioritys[$i]=$i; } $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translated){ $acl = $this->getacl($name,preg_match("/freeze/i",$this->FAIstate)); $smarty->assign($name."ACL",$acl); } $smarty->assign("FAIprioritys",$FAIprioritys); $display.= $smarty->fetch(get_template_path('faiScriptEntry.tpl', TRUE)); return($display); } /* Save data to object */ function save_object() { if((isset($_POST['SubObjectFormSubmitted'])) && !preg_match("/freeze/", $this->FAIstate)){ foreach($this->attributes as $attrs){ // Do not touch FAIscriot values here, w'll do this a few lines below. if($attrs == "FAIscript") continue; if($this->acl_is_writeable($attrs)){ if(isset($_POST[$attrs])){ $this->$attrs = get_post($attrs); }else{ $this->$attrs = ""; } } } // Get FAIscript changes if(isset($_POST['FAIscript']) && $this->acl_is_writeable('FAIscript') && !$this->write_protect){ // Check encoding again. $this->FAIscript = get_post('FAIscript'); $this->enc_after_edit = mb_detect_encoding($this->FAIscript); } } if(isset($_POST['editAnyway'])) $this->write_protect = FALSE; } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); if($this->mb_extension && !$this->write_protect && $this->enc_after_edit !== $this->enc_before_edit ){ $msg = sprintf(_("The script encodig has changed from '%s' to '%s'. Do you really want to save?"), "".$this->enc_before_edit."","".$this->enc_after_edit.""); $message[] = $msg; $this->enc_before_edit = $this->enc_after_edit; } if(isset($this->parent->SubObjects[$this->cn]) && $this->cn != $this->orig_cn){ $message[] = msgPool::duplicated(_("Name")); } $c = trim($this->cn); if($c == ""){ $message[] = msgPool::required(_("Name")); } if(preg_match("/[^a-z0-9_\-]/i",$c)){ $message[] = msgPool::invalid(_("Name"),$c,"/[a-z0-9_\-]/i"); } $s = trim($this->FAIscript); if($s == ""){ $message[]= msgPool::required(_("Script")); } return ($message); } function save() { $tmp=array(); foreach($this->attributes as $attrs){ $tmp[$attrs] = $this->$attrs; } /* Strip out dos newlines */ $tmp['FAIscript']= strtr($this->FAIscript, array("\x0D" => "")); if(($this->orig_cn)&&($tmp['cn']!=$this->orig_cn)){ $tmp['remove']['from'] = $this->orig_cn; $tmp['remove']['to'] = $tmp['cn']; } $tmp['dn'] = $this->dn; $tmp['status'] = $this->status; return($tmp); } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Script entry"), "plDescription" => _("FAI script entry"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 19, "plSection" => array("administration"), "plCategory" => array("fai"), "plProvidedAcls" => array( "cn" => _("Name"), "description" => _("Description"), "FAIscript" => _("Script entry"), "FAIpriority" => _("Script Priority")) )); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/tabsTemplate.inc0000644000175000017500000000211611424304037020447 0ustar cajuscajusaddSpecialTabs(); } function check($ignore_account= FALSE) { return (tabs::check(TRUE)); } function save($ignore_account= FALSE) { $baseobject= $this->by_object['faiTemplate']; $cn = preg_replace('/,/', '\,', $baseobject->cn); $cn = preg_replace('/"/', '\"', $cn); $new_dn ='cn='.$cn.",".get_ou("faiTemplate", "faiTemplateRDN").$this->parent->fai_release; if ($this->dn != $new_dn && $this->dn != "new"){ /* if( new_dn is subtree of this->dn ) */ $cnt1 = count(explode(",",$this->dn)); $cnt2 = count(explode(",",$new_dn)); if((strstr($new_dn,$this->dn))&&($cnt1<$cnt2)){ msg_dialog::display(_("Error"), _("Moving the tree failed. Destination tree is subtree of source tree."), ERROR_DIALOG); }else{ // $baseobject->recursive_move($this->dn, $new_dn); } } $this->dn= $new_dn; tabs::save(TRUE); } } ?> gosa-plugin-fai-2.7.4/admin/fai/faiPartitionTableEntry.tpl0000644000175000017500000000250511354363056022505 0ustar cajuscajus

{t}Device{/t}

{$must}  {render acl=$DISKcnACL} {/render}   {render acl=$DISKdescriptionACL} {/render}



{t}Partition entries{/t}

{$setup}
{if !$freeze} {if $sub_object_is_createable} {else} {/if} {/if}



{if !$freeze} {/if}
gosa-plugin-fai-2.7.4/admin/fai/faiTemplate.tpl0000644000175000017500000000243211363055314020307 0ustar cajuscajus

{t}Generic{/t}

{render acl=$cnACL} {/render}
{render acl=$descriptionACL} {/render}

{t}List of template files{/t}

{$Entry_listing} {if $sub_object_is_addable} {else} {/if}
gosa-plugin-fai-2.7.4/admin/fai/class_faiPartitionTableEntry.inc0000644000175000017500000003616611613742614023655 0ustar cajuscajusUsedAttrs = array("cn","description","FAIpartitionType","FAIpartitionNr","FAIfsType","FAImountPoint","FAIpartitionSize", "FAImountOptions","FAIfsOptions","FAIpartitionFlags"); $this->parent = $parent; /* We want to edit an entry */ if($disk){ /* Walk through partitions */ foreach($disk['partitions'] as $name => $values){ $disk['partitions'][$name]['old_cn']= $disk['partitions'][$name]['cn']; /* Assign empty attributes, if attribute is missing */ foreach($this->UsedAttrs as $attr){ if(!isset($values[$attr])){ $disk['partitions'][$name][$attr]=""; } } if (preg_match('/^_/', $disk['partitions'][$name]['FAIfsType'])){ $disk['partitions'][$name]['FAIfsType']= preg_replace('/^_/', '', $disk['partitions'][$name]['FAIfsType']); } } /* Set default attributes */ $this->DISKcn = $disk['cn']; $this->DISKdescription = $disk['description']; $this->partitions = $disk['partitions']; $this->is_edit = true; $this->old_cn = $disk['cn']; } } function execute() { /* Call parent execute */ plugin::execute(); /* Fill templating stuff */ $smarty = get_smarty(); $s_action = ""; $s_entry = ""; $display = ""; /* Assign values * And Checkbox selection */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); if($this->$attrs){ $smarty->assign($attrs."CHK"," "); }else{ $smarty->assign($attrs."CHK"," disabled "); } } /* Check all Posts if there is something usefull for us, * For example : Delete is posted as Delete_1 * The number specifies the index we want to delete */ foreach($_POST as $name => $value){ if((preg_match("/Delete_.*/",$name)) && $this->acl_is_removeable() && !preg_match("/freeze/i",$this->FAIstate)){ $tmp = explode("_",$name); $s_action = "remove"; $s_entry = $tmp[1]; } } /* To remove a partition we unset the index posted. * We must sort the index again, else we possibly got problems * with partitions order. */ if($s_action == "remove" && $this->acl_is_removeable() && !preg_match("/freeze/i",$this->FAIstate)){ unset($this->partitions[$s_entry]); $tmp= array(); foreach($this->partitions as $part){ $tmp[count($tmp)+1]=$part; } $this->partitions = $tmp; } /* To add a partitions we only append an empty * array to the already defined partitions. */ if(isset($_POST['AddPartition']) && $this->acl_is_createable() && !preg_match("/freeze/i",$this->FAIstate)){ foreach($this->UsedAttrs as $attr){ $tmp[$attr] = ""; } $tmp["old_cn"] = ""; $this->partitions[count($this->partitions)+1]=$tmp; } /* $setup contains a table with the partitions. */ $smarty->assign("setup", $this->generateParts()); foreach($this->attributes as $attr){ $smarty->assign($attr,set_post($this->$attr)); } $tmp = $this->plInfo(); $sacl = ""; foreach($tmp['plProvidedAcls'] as $name => $translated){ $acl = $this->getacl($name, preg_match("/freeze/i",$this->FAIstate)); $smarty->assign($name."ACL",$acl); } $smarty->assign("sub_object_is_createable",$this->acl_is_createable()); $smarty->assign("freeze",preg_match("/freeze/i",$this->FAIstate)); /* Fetch template and show the result */ $display.= $smarty->fetch(get_template_path('faiPartitionTableEntry.tpl', TRUE)); return($display); } function generateParts() { /* Define Arrays with allowed syntax */ $PartitionTypes = array("primary"=>_("primary"),"logical"=>_("logical")); $FAIfsTypes = array("ext2","ext3","xfs","swap","reiser","dosfat16","winfat32"); /* Display Header */ $str = ""; if (count($this->partitions)){ $str .= ""; $str .= ""._("Type").""; $str .= ""._("Filesystem type").""; $str .= ""._("Mount point").""; $str .= ""._("Size in MB").""; $str .= ""._("Mount options").""; $str .= ""._("Filesystem option").""; $str .= ""._("Preserve").""; $str .= " "; $str .= ""; } /* Walk through all defined partitions. * Create a new row for each partition and append it to * the header defined above. * To be able to check the posts later, we append a key to each single postfield. like cn_1 ... cn_2 */ foreach($this->partitions as $key => $part){ $dis = ""; if($part['FAIpartitionFlags'] == "preserve"){ $dis = " disabled "; } $disableALL = ""; if (preg_match("/freeze/", $this->FAIstate)){ $disableALL = " disabled "; } /* Generate Partition select box */ $PartitionType = ""; if($this->acl_is_writeable("FAIpartitionType")){ $PartitionType = ""; }elseif($this->acl_is_readable("FAIpartitionType")){ $PartitionType = $part['FAIpartitionType']; } /* Generate fsType select box */ $FAIfsType= ""; if($this->acl_is_writeable("FAIfsType")){ $FAIfsType= ""; }elseif($this->acl_is_readable("FAIfsType")){ $FAIfsType = $part['FAIfsType']; } foreach(array("FAImountPoint","FAIpartitionSize","FAImountOptions","FAIfsOptions") as $attr){ $$attr = ""; if($this->acl_is_writeable($attr)){ $$attr = ""; }elseif($this->acl_is_readable($attr)){ $$attr = $part[$attr]; } } $str .= "\n"; $str .= "\n".$PartitionType.""; $str .= "\n".$FAIfsType.""; $str .= "\n".$FAImountPoint.""; $str .= "\n".$FAIpartitionSize.""; $str .= "\n".$FAImountOptions.""; $str .= "\n".$FAIfsOptions.""; $changeState = "onClick=\"changeState('FAImountPoint_".$key."') ; ". "changeState('FAIpartitionSize_".$key."') ; ". "changeState('FAImountOptions_".$key."') ; ". "changeState('FAIfsType_".$key."') ; ". "changeState('FAIfsOptions_".$key."') ; \""; if($this->acl_is_writeable("FAIpartitionFlags")){ if($part['FAIpartitionFlags']!=false){ $str .= "\n"; }else{ $str .= "\n"; } }else{ if($part['FAIpartitionFlags']!=false){ $str .= ""._("False").""; }else{ $str .= ""._("True").""; } } if($this->acl_is_removeable()){ $str .= "\n"; }else{ $str .= "\n"; } $str .= "\n"; } if(!empty($str)){ $str = "".$str."
"; } return($str); } function save() { $tmp = array(); $tmp['cn'] = $this->DISKcn; /* Attach partitions */ foreach($this->partitions as $key=>$val) { $this->partitions[$key]['FAIpartitionNr']=$key; $this->partitions[$key]['cn']=$key; } $tmp['description'] = $this->DISKdescription; $tmp['partitions'] = $this->partitions; /* If hdd name has changed, tell partitionTable to rename it */ if(($this->is_edit)&&($this->old_cn != $this->DISKcn)){ $tmp['rename']['from'] = $this->old_cn; $tmp['rename']['to'] = $this->DISKcn; } $tmp['FAIdiskType'] = "old"; return($tmp); } /* Save data to object */ function save_object() { if((isset($_POST['TableEntryFrameSubmitted'])) && !preg_match("/freeze/", $this->FAIstate) ){ plugin::save_object(); foreach($this->partitions as $key => $part){ foreach($this->UsedAttrs as $attrs){ if(in_array_strict($attrs,array('cn','description'))) continue; if($this->acl_is_writeable($attrs)){ if(isset($_POST[$attrs."_".$key])){ $this->partitions[$key][$attrs] = get_post($attrs."_".$key); }else{ $this->partitions[$key][$attrs] = false; } } } /* Adapt ext3 to have -j option */ if ($this->partitions[$key]["FAIfsType"] == "ext3") { $this->partitions[$key]["FAIfsOptions"]= preg_replace('/\s*-j\s*/', '', $this->partitions[$key]["FAIfsOptions"]); $this->partitions[$key]["FAIfsOptions"]= "-j ".$this->partitions[$key]["FAIfsOptions"]; } } } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); /* Check for an empty disk name */ $d = trim($this->DISKcn); if($d == "" ){ $message[] = msgPool::required(_("Name")); } if(preg_match("/[^a-z0-9_\-]/i",$d)){ $message[] = msgPool::invalid(_("Name"),$d,"/[a-z0-9_\-]/i"); } if($this->old_cn != $this->DISKcn && in_array_strict($this->DISKcn,$this->parent->getUsedDiskNames())){ $message[] = msgPool::duplicated(_("Name")); } /* check every partition. * if there is an invalid value defined, append an errorstr to message */ /* Array that contain every partitionname mountpoint etc already assigned */ $alreadyUsed = array(); foreach($this->UsedAttrs as $attrs){ $alreadyUsed[$attrs] = array(); } foreach($this->partitions as $key => $part){ /* Skip all checks, if preserve is set */ if($part['FAIpartitionFlags'] == "preserve"){ $this->partitions[$key]['FAIfsType'] = "preserve"; $this->partitions[$key]['FAIpartitionSize'] = "preserve"; continue; } if((in_array_strict($part['FAImountPoint'],$alreadyUsed['FAImountPoint']))&&($part['FAIfsType']!="swap")){ $message[]=sprintf(_("please enter a unique mount point for partition %s"),($key)); } if($part['FAIfsType']!="swap" && $part['FAImountPoint'] != "-"){ if((empty($part['FAImountPoint']))||(!((preg_match("/^\/.*/",$part['FAImountPoint']))||(preg_match("/^swap$/",$part['FAImountPoint']))))){ $message[]= msgPool::invalid(sprintf(_("partition %s mount point"),$key)); } } if($part['FAIfsType'] == "swap"){ if(in_array_strict($part['FAIfsType'],$alreadyUsed['FAIfsType'])){ $message[]=sprintf(_("File system type 'swap' is already used, change file system type for partition %s."),$key); } } if(($part['FAIfsType'] == "swap")&&(!empty($part['FAImountPoint']))&&($part['FAImountPoint']!="swap")){ $message[]=_("Please use 'swap' as mount point, if 'swap' is used as file system type."); } $tmp = explode("-",$part['FAIpartitionSize']); switch (count($tmp)){ case 0: $message[]= msgPool::invalid(sprintf(_("partition %s size"),$key)); break; case 1: if (!tests::is_id($tmp[0]) || empty($tmp[0])){ $message[]= msgPool::invalid(sprintf(_("partition %s size"),$key)); } break; case 2: if( !tests::is_id($tmp[0]) && !tests::is_id($tmp[1]) && !empty($tmp[1]) ){ $message[]= msgPool::invalid(sprintf(_("partition %s size"),$key)); }elseif(!empty($tmp[1]) && $tmp[0]>=$tmp[1]){ $message[]= msgPool::invalid(sprintf(_("partition %s size"),$key)); } break; default: $message[]= msgPool::invalid(sprintf(_("partition %s size"),$key)); } foreach($this->UsedAttrs as $attrs){ $alreadyUsed[$attrs][$key] = $part[$attrs]; } } $cnt = 0; foreach($this->partitions as $key => $part){ if($part['FAIpartitionType'] == "primary"){ $cnt ++ ; } } if($cnt > 3){ $message[] = _("You have more than 3 primary partition table entries in your configuration, please check your configuration twice."); } return ($message); } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Partition table entry"), "plDescription" => _("FAI partition table entry"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 27, "plSection" => array("administration"), "plCategory" => array("fai"), "plProvidedAcls" => array( "DISKcn" => _("Name"), "DISKdescription" => _("Description"), "FAIpartitionType" => _("Partition type"), "FAIpartitionNr" => _("Partition no."), "FAIfsType" => _("File system type"), "FAImountPoint" => _("Mount point"), "FAIpartitionSize" => _("Partition size"), "FAImountOptions" => _("Mount options"), "FAIfsOptions" => _("File system options"), "FAIpartitionFlags" => _("Partition flags")) )); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/tabsVariable.inc0000644000175000017500000000212111424304041020410 0ustar cajuscajusaddSpecialTabs(); } function check($ignore_account= FALSE) { return (tabs::check(TRUE)); } function save($ignore_account= FALSE) { $baseobject= $this->by_object['faiVariable']; $cn = preg_replace('/,/', '\,', $baseobject->cn); $cn = preg_replace('/"/', '\"', $cn); $new_dn ='cn='.$cn.",".get_ou("faiVariable", "faiVariableRDN").$this->parent->fai_release; if ($this->dn != $new_dn && $this->dn != "new"){ /* if( new_dn is subtree of this->dn ) */ $cnt1 = count(explode(",",$this->dn)); $cnt2 = count(explode(",",$new_dn)); if((strstr($new_dn,$this->dn))&&($cnt1<$cnt2)){ msg_dialog::display(_("Error"), _("Moving the tree failed. Destination tree is subtree of source tree."), ERROR_DIALOG); }else{ // $baseobject->recursive_move($this->dn, $new_dn); } } $this->dn= $new_dn; tabs::save(TRUE); } } ?> gosa-plugin-fai-2.7.4/admin/fai/faiHookEntry.tpl0000644000175000017500000000420511415565546020471 0ustar cajuscajus

{t}Generic{/t}

{t}Name{/t} {$must}  {render acl=$cnACL} {/render}
{t}Description{/t}  {render acl=$descriptionACL} {/render}
 

{t}Hook attributes{/t}

{render acl=$FAItaskACL} {/render}

{if $write_protect} {t}This FAI script is write protected, due to its encoding. Editing may break it!{/t}
{/if} {render acl=$FAIscriptACL} {/render}
{render acl=$FAIscriptACL}   {/render} {render acl=$FAIscriptACL} {/render} {render acl=$FAIscriptACL} {$DownMe} {/render}


{if !$freeze}   {/if}
gosa-plugin-fai-2.7.4/admin/fai/tabsProfile.inc0000644000175000017500000000211311424304031020263 0ustar cajuscajusaddSpecialTabs(); } function check($ignore_account= FALSE) { return (tabs::check(TRUE)); } function save($ignore_account= FALSE) { $baseobject= $this->by_object['faiProfile']; $cn = preg_replace('/,/', '\,', $baseobject->cn); $cn = preg_replace('/"/', '\"', $cn); $new_dn ='cn='.$cn.",".get_ou("faiProfile", "faiProfileRDN").$this->parent->fai_release; if ($this->dn != $new_dn && $this->dn != "new"){ /* if( new_dn is subtree of this->dn ) */ $cnt1 = count(explode(",",$this->dn)); $cnt2 = count(explode(",",$new_dn)); if((strstr($new_dn,$this->dn))&&($cnt1<$cnt2)){ msg_dialog::display(_("Error"), _("Moving the tree failed. Destination tree is subtree of source tree."), ERROR_DIALOG); }else{ // $baseobject->recursive_move($this->dn, $new_dn); } } $this->dn= $new_dn; tabs::save(TRUE); } } ?> gosa-plugin-fai-2.7.4/admin/fai/faiPackageConfiguration.tpl0000644000175000017500000000036111354403323022613 0ustar cajuscajus

{$headline}

{$Config}
gosa-plugin-fai-2.7.4/admin/fai/class_filterFAI.inc0000644000175000017500000001366011613742614021031 0ustar cajuscajus array("OU"=> get_ou("faiPartitionTable", "faiPartitionRDN") , "CHKBOX"=>"ShowPartitions" , "ACL" => "faiPartitionTable"), "FAIpackageList" => array("OU"=> get_ou("faiPackage", "faiPackageRDN") , "CHKBOX"=>"ShowPackages" , "ACL" => "faiPackage"), "FAIscript" => array("OU"=> get_ou("faiScript", "faiScriptRDN") , "CHKBOX"=>"ShowScripts" , "ACL" => "faiScript"), "FAIvariable" => array("OU"=> get_ou("faiVariable", "faiVariableRDN") , "CHKBOX"=>"ShowVariables" , "ACL" => "faiVariable"), "FAIhook" => array("OU"=> get_ou("faiHook", "faiHookRDN") , "CHKBOX"=>"ShowHooks" , "ACL" => "faiHook"), "FAIprofile" => array("OU"=> get_ou("faiProfile", "faiProfileRDN") , "CHKBOX"=>"ShowProfiles" , "ACL" => "faiProfile"), "FAItemplate" => array("OU"=> get_ou("faiTemplate", "faiTemplateRDN") , "CHKBOX"=>"ShowTemplates" , "ACL" => "faiTemplate")); global $config; $tmp = FAI::get_all_objects_for_given_base($base,$filter); $ui = get_userinfo(); $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $result = array(); foreach($tmp as $entry){ /* Get some more informations about the object */ $ldap->cat($entry['dn'], array("cn","description","objectClass","FAIclass","FAIstate","objectClass")); $object = $ldap->fetch(); /* Walk through possible types */ foreach($ObjectTypes as $type => $rest){ $acl = $ui->get_permissions($object['dn'],"fai/".$rest ['ACL']); if(in_array_strict($type,$object['objectClass']) && preg_match("/r/",$acl)){ /* Prepare object */ unset($object['objectClass']['count']); if(!isset($object['description'][0])){ $object['description'][0]=""; } $dn = preg_replace("/^[^,]*+,/","",$object['dn']); /* Clean up object informations */ $obj = array(); $obj['cn'] = $object['cn'][0]; $obj['dn'] = $object['cn'][0].",".get_ou("faiManagement", "faiBaseRDN").$config->current['BASE']; $obj['acl'] = $acl; $obj['class'] = $rest ['ACL']; $obj['FAIstate'] = $entry['FAIstate']; $obj['description'] = $object['description'][0]; $obj['objectClass'] = $object['objectClass']; $obj['objectClass'][] = 'FAKE_OC_FAI'; if(!preg_match("/freeze/i", $entry['FAIstate'])){ $obj['objectClass'][] = "FAKE_OC_IsBranch"; } $object['FAIstate'] = $entry['FAIstate']; $obj['TYPES'][] = $type; $obj['GROUPS'][$type] = $object; if(!isset($result[$obj['cn']])){ $result[$obj['cn']] = $obj; }else{ $result[$obj['cn']]['TYPES'][]=$type; $result[$obj['cn']]['GROUPS'][$type]=$object; } } } } // Make results useable for the listing class. $entries = array(); foreach($result as $entry){ $item=array('count' => count($entry) -1); foreach($entry as $name => $value){ if($name != "GROUPS"){ $item[] = $name; $item[$name] = $value ; } } $item['GROUPS'] = $entry['GROUPS']; $entries[] = $item; } // Append opsi stuff ... if(class_available('opsi') && $base == get_ou("faiManagement", "faiBaseRDN").$config->current['BASE']){ $opsi = new opsi($config); $objects = array(); if($opsi instanceof opsi && $opsi->enabled()){ $opsi_acl = $ui->get_permissions($base,"opsi/opsiProperties"); if(preg_match("/r/",$opsi_acl)){ $err = FALSE; if(preg_match("/FAIstate=__NETBOOT__/", $filter)){ $n_pro = $opsi->get_netboot_products(); $err |= $opsi->is_error(); foreach($n_pro as $name => $data){ $entry = array( "cn" => $name, "description" => $data['DESC'], "type" => "opsi_netboot"); $objects[$name]['opsi_netboot'] = $entry; } } if(preg_match("/FAIstate=__LOCALBOOT__/", $filter)){ $l_pro = $opsi->get_local_products(); $err |= $opsi->is_error(); foreach($l_pro as $name => $data){ $entry = array("cn" => $name, "description" => $data['DESC'], "type" => "opsi_local"); $objects[$name]["opsi_local"] = $entry; } } if($err){ msg_dialog::display(_("Error"),msgPool::siError($opsi->get_error()),ERROR_DIALOG); } } } $cn_filter = ""; if(preg_match("/^.*cn=([^)]*).*/",$filter)){ $cn_filter = trim(preg_replace("/^.*cn=([^)]*).*/","\\1",$filter),"*"); } foreach($objects as $name => $data) { $data = array_pop($data); if(!empty($cn_filter) && !preg_match("/".preg_quote($cn_filter,'/')."/", $data['cn'])){ continue; } $item =array(); $item['objectClass'] = array('count' => 2, $data['type'],"FAKE_OC_OPSI"); $item[] = 'objectClass'; $item['cn'] = $data['cn']; $item[] = 'cn'; $item['description'] = $data['description']; $item[] = 'description'; $item['dn'] = $data['cn']; $item[] = 'dn'; $item['TYPES'] = array($data['type']); $item[] = 'TYPES'; $item['count'] = '5'; $entries[] = $item; } } return($entries); } } ?> gosa-plugin-fai-2.7.4/admin/fai/faiVariableEntry.tpl0000644000175000017500000000310611354363056021307 0ustar cajuscajus

{t}Generic{/t}

{t}Name{/t} {$must}  {render acl=$cnACL} {/render}
{t}Description{/t}  {render acl=$descriptionACL} {/render}
 

{t}Variable attributes{/t}

{render acl=$FAIvariableContentACL} {/render}


{if !$freeze}   {/if}
gosa-plugin-fai-2.7.4/admin/fai/class_faiPartitionTable.inc0000644000175000017500000006757211656425735022651 0ustar cajuscajusui = get_userinfo(); if($dn != "new"){ $this->dn =$dn; /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ $res = FAI::get_all_objects_for_given_base($this->dn,"(&(objectClass=FAIclass)(objectClass=FAIpartitionDisk))"); foreach($res as $obj){ /* Skip not relevant objects */ if(!preg_match("/".preg_quote($this->dn, '/')."$/i",$obj['dn'])) continue; $objects = array(); $objects['description'] = ""; // Transform disk type into image later... if (!isset($obj['FAIdiskType'])){ $objects['FAIdiskType'] = "old"; } else { $objects['FAIdiskType'] = $obj['FAIdiskType']; } // Get disk options, without 'count' index. $objects['FAIdiskOption'] = array(); if (isset($obj['FAIdiskOption'])){ for($i=0;$i<$obj['FAIdiskOption']['count'];$i++){ $objects['FAIdiskOption'][] = $obj['FAIdiskOption'][$i]; } } // Transform potential lvm information if (isset($obj['FAIlvmDevice'])){ for($i=0;$i<$obj['FAIlvmDevice']['count'];$i++){ $name = $obj['FAIlvmDevice'][$i]; $objects['FAIlvmDevice'][$name] = $name; } } $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subAttributes); $this->disks[$objects['cn']] = $objects; $this->disks[$objects['cn']]['partitions'] = array(); } /* read all partitions for each disk */ foreach($this->disks as $name => $disk){ $res = FAI::get_all_objects_for_given_base($disk['dn'],"(&(objectClass=FAIclass)(objectClass=FAIpartitionEntry))"); foreach($res as $obj){ /* Skip not relevant objects */ if(!preg_match("/".preg_quote($disk['dn'], '/')."$/i",$obj['dn'])) continue; $objects = array(); $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subPartAttributes); unset($objects['dn']);; $this->disks[$name]['partitions'][$objects['FAIpartitionNr']] = $objects; } } } /* Keep track of disk changes, by comparing the initial and resulting * disk setup. */ $this->initial_disks = $this->disks; $this->is_new = FALSE; if($this->dn == "new"){ $this->is_new =TRUE; } ksort($this->disks); // Prepare lists $this->diskList = new sortableListing(); $this->diskList->setDeleteable(true); $this->diskList->setInstantDelete(false); $this->diskList->setEditable(true); $this->diskList->setWidth("100%"); $this->diskList->setHeight("400px"); $this->diskList->setColspecs(array('20px','*','*','40px')); $this->diskList->setHeader(array(("?"),_("Name"),_("Description"),"#")); $this->diskList->setDefaultSortColumn(1); } function acl_base_for_current_object($dn) { if($dn == "new" || $dn == ""){ if($this->dn == "new"){ $dn= $this->parent->parent->acl_base; }else{ $dn = $this->dn; } } return($dn); } function execute() { /* Call parent execute */ plugin::execute(); if($this->is_account && !$this->view_logged){ $this->view_logged = TRUE; new log("view","fai/".get_class($this),$this->dn); } /* Fill templating stuff */ $smarty= get_smarty(); $display= ""; /* Add Disk to this Partitionset * This code adds a new HDD to the disks * A new Dialog will be opened */ if((isset($_POST['AddDisk']) || isset($_POST['AddRaid']) || isset($_POST['AddVolgroup'])) && !preg_match("/freeze/i",$this->FAIstate)){ $usedDiskNames =array(); foreach($this->disks as $key=>$disk){ $usedDiskNames[]= $key; } if ($this->FAIpartitionMethod == "setup-storage") { if(isset($_POST['AddDisk'])) $type = "disk"; if(isset($_POST['AddRaid'])) $type = "raid"; if(isset($_POST['AddVolgroup'])) $type = "lvm"; $this->dialog = new faiDiskEntry($this->config,$this->dn,$this, array(),$type); } else { $this->dialog = new faiPartitionTableEntry($this->config,$this->dn,$this); } $this->dialog->set_acl_base($this->acl_base_for_current_object($this->dn)); $this->dialog->set_acl_category("fai"); $this->dialog->FAIstate = $this->FAIstate; $this->is_dialog = true; } /* Edit disk. * Open dialog which allows us to edit the selected entry */ if($this->dn != "new"){ set_object_info($this->dn); } /* Edit entries via GET */ $s_action = ""; $s_entry = ""; if(isset($_GET['act']) && isset($_GET['id'])){ if($_GET['act'] == "edit" && isset($this->disks[$_GET['id']])){ $s_entry= $_GET['id']; $s_action= "edit"; } } $this->diskList->save_object(); $action = $this->diskList->getAction(); if($action['action'] == 'edit'){ $s_entry = $this->diskList->getKey($action['targets'][0]); $s_action ="edit"; } if($action['action'] == 'delete'){ $s_entry = $this->diskList->getKey($action['targets'][0]); $s_action ="remove"; } /* Disk remove was requested. * Now check if the disk is still in use, in this case * display a warning message and abort the removal. * If the disk is not used anymore, then remove it. */ if($s_action == "remove"){ if(isset($this->disks[$s_entry])){ /* Create a list of all partitions that are used in * lvm or raid compilations. */ $list = array(); foreach($this->disks as $dname => $disk){ if($disk['FAIdiskType'] != "disk" && $dname != $s_entry){ if($disk['FAIdiskType'] == "lvm"){ foreach($disk['FAIlvmDevice'] as $partname){ $list[preg_replace("/:.*$/","",$partname)][] = $disk; } } foreach($disk['partitions'] as $partkey => $part){ if($disk['FAIdiskType'] == "raid"){ foreach(explode(",",$part['FAIpartitionSize']) as $partname){ $list[preg_replace("/:.*$/","",$partname)][] = $disk; } } } } } /* Now that we've a list of all partition references, lets check if * one of the partitions we are going to remove is still in use. */ $used = array(); foreach($this->disks[$s_entry]['partitions'] as $part){ if(isset($list[$part['cn']])){ foreach($list[$part['cn']] as $disk){ $used[$disk['cn']] = $disk['cn']; } } } /* Skip removal while disk is in use. */ if(count($used)){ $used = implode(",",$used); msg_dialog::display(_("Error"), sprintf(_("The disk cannot be deleted while it is used in the '%s' disk definition!"), $used), ERROR_DIALOG); }else{ /* Everything is ok, we can remove the disk now. */ unset($this->disks[$s_entry]); } } } if($s_action == "edit"){ /* Set object info string, which will be displayed in plugin info line */ if(isset($this->disks[$s_entry]['dn'])){ set_object_info($this->disks[$s_entry]['dn']); $dn = $this->disks[$s_entry]['dn']; }else{ set_object_info(""); $dn = "new"; } $type ="old"; if(isset($this->disks[$s_entry]['FAIdiskType'])){ $type = $this->disks[$s_entry]['FAIdiskType']; } if(in_array_strict($type,array('raid','lvm','disk'))){ $this->dialog = new faiDiskEntry( $this->config,$this->dn,$this,$this->disks[$s_entry], $this->disks[$s_entry]['FAIdiskType']); }else{ $this->dialog = new faiPartitionTableEntry( $this->config,$this->dn,$this,$this->disks[$s_entry]); } if($this->dialog){ $this->dialog->set_acl_base($this->acl_base_for_current_object($dn)); $this->dialog->set_acl_category("fai"); $this->dialog->FAIstate = $this->FAIstate; $this->is_dialog = true; } } /* Edit aborted, close dialog, without saving anything */ if(isset($_POST['CancelDisk'])){ unset($this->dialog); $this->dialog = FALSE; $this->is_dialog=false; } /* Dialog saved * Save given data from Dialog, if no error is occurred */ if(isset($_POST['SaveDisk'])){ if (!preg_match("/freeze/i", $this->FAIstate)){ $this->dialog->save_object(); if(count($this->dialog->check())){ foreach($this->dialog->check() as $msg){ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG); } }else{ $disk = $this->dialog->save(); if(isset($disk['rename'])){ unset($this->disks[$disk['rename']['from']]); $disk['cn']= $disk['rename']['to']; } $this->disks[$disk['cn']]=$disk; unset($this->dialog); $this->dialog = FALSE; $this->is_dialog=false; ksort($this->disks); } }else{ $this->dialog = FALSE; $this->is_dialog=false; } } /* Display dialog if one is defined */ if(is_object($this->dialog)){ $this->dialog->save_object(); return($this->dialog->execute()); } /* Assign all attributes to smarty engine */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); if($this->$attrs){ $smarty->assign($attrs."CHK"," "); }else{ $smarty->assign($attrs."CHK"," disabled "); } } $dn = $this->acl_base_for_current_object($this->dn); $smarty->assign("sub_object_is_addable", preg_match("/c/",$this->ui->get_permissions($dn,"fai/faiPartitionTableEntry")) && !preg_match("/freeze/",$this->FAIstate)); $smarty->assign("sub_object_is_removeable", preg_match("/d/",$this->ui->get_permissions($dn,"fai/faiPartitionTableEntry")) && !preg_match("/freeze/",$this->FAIstate)); $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translated){ $smarty->assign($name."ACL",$this->getacl($name,preg_match("/freeze/i",$this->FAIstate))); } /* Assign mode */ if ($this->FAIpartitionMethod == ""){ $smarty->assign("mode", ""); $smarty->assign("storage_mode", "disabled"); } else { $smarty->assign("mode", "checked"); $smarty->assign("storage_mode", ""); } if (!count($this->disks)) { $smarty->assign("lockmode", ""); } else { $smarty->assign("lockmode", "disabled"); } if (isset($this->disks['raid'])){ $smarty->assign("addraid", "disabled"); } else { $smarty->assign("addraid", ""); } $dn = $this->acl_base_for_current_object($this->dn); $acl = $this->ui->get_permissions($dn,"fai/faiPartitionTableEntry"); $this->diskList->setAcl($acl); $data = $lData = array(); foreach($this->disks as $key => $disk){ $act = ""; $dn = "new"; if(isset($obj['dn'])){ $dn = $obj['dn']; } $dn = $this->acl_base_for_current_object($dn); $acl = $this->ui->get_permissions($dn,"fai/faiPartitionTableEntry"); if(preg_match("/(r|w)/",$acl)) { $cnt= count($disk['partitions']); $types= array( "old" => "plugins/fai/images/fai_partitionTable.png", "disk" => "plugins/fai/images/fai_partitionTable.png", "raid" => "plugins/fai/images/raid.png", "lvm" => "plugins/ogroups/images/list_ogroup.png"); $type = isset($disk['FAIdiskType'])?$types[$disk['FAIdiskType']]:$types['old']; $data[$key] = $key; $lData[$key] = array('data' => array(image($type),$key,$disk['description'],$cnt)); } } $this->diskList->setListData($data,$lData); $this->diskList->update(); $smarty->assign("Entry_listing",$this->diskList->render()); $display.= $smarty->fetch(get_template_path('faiPartitionTable.tpl', TRUE)); return($display); } function getUsedDiskNames() { $ret = array(); foreach($this->disks as $disk){ $ret[] = $disk['cn']; } return($ret); } /* Delete me, and all my subtrees */ function remove_from_parent() { $ldap = $this->config->get_ldap_link(); $ldap->cd ($this->dn); $release = $this->parent->parent->fai_release; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $this->dn); FAI::prepare_to_save_FAI_object($use_dn,array(),true); new log("remove","fai/".get_class($this),$use_dn,$this->attributes); foreach($this->initial_disks as $disk){ $disk_dn = "cn=".$disk['cn'].",".$this->dn; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i",$release, $disk_dn); FAI::prepare_to_save_FAI_object($use_dn,array(),true); foreach($disk['partitions'] as $key => $partition){ $partition_dn= "FAIpartitionNr=".$partition['FAIpartitionNr'].",".$disk_dn; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $partition_dn); FAI::prepare_to_save_FAI_object($use_dn,array(),true); } } } /* Save data to object */ function save_object() { if(isset($_POST['FAIpartitionTablePosted'])){ if (preg_match("/freeze/", $this->FAIstate)) return; plugin::save_object(); if(!count($this->disks)){ if(isset($_POST['mode'])){ $this->FAIpartitionMethod = "setup-storage"; }else{ $this->FAIpartitionMethod = ""; } } } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); /* Ensure that we do not overwrite an allready existing entry */ if($this->is_new){ $release = $this->parent->parent->fai_release; $new_dn= 'cn='.$this->cn.",".get_ou("faiPartitionTable", "faiPartitionRDN").get_ou("faiManagement", "faiBaseRDN").$release; $res = faiManagement::check_class_name("FAIpartitionTable",$this->cn,$new_dn); if(isset($res[$this->cn])){ $message[] = msgPool::duplicated(_("Name")); } } return ($message); } /* Save to LDAP */ function save() { plugin::save(); /* Save current settings. * 1 : We must save the partition table, with its description and cn * 2 : Append Disk with cn and description. * 3 : Save partitions for each disk */ $ldap = $this->config->get_ldap_link(); FAI::prepare_to_save_FAI_object($this->dn,$this->attrs); if($this->initially_was_account){ new log("modify","fai/".get_class($this),$this->dn,$this->attributes); @DEBUG (DEBUG_FAI, __LINE__, __FUNCTION__, __FILE__,$this->dn , "Saving disk: "); }else{ new log("create","fai/".get_class($this),$this->dn,$this->attributes); @DEBUG (DEBUG_FAI, __LINE__, __FUNCTION__, __FILE__,$this->dn , "Adding disk: "); } // Prepare disks to be saved - The 'status' attribute is added here. $this->prepareDiskToBeSave(); /* Sort entries, because we must delete entries with status="delete" first */ $order = array(); foreach($this->disks as $key => $disk){ if($disk['status'] == "delete"){ $order[$key] = $disk; } } foreach($this->disks as $key => $disk){ if($disk['status'] != "delete"){ $order[$key] = $disk; } } /* Append all disks to ldap */ foreach($order as $cn=>$disk){ $disk_dn = "cn=".$disk['cn'].",".$this->dn; $short_dn = "cn=".$disk['cn'].",..."; $disk_attrs['cn'] = $disk['cn']; $disk_attrs['objectClass'] = array("top","FAIclass","FAIpartitionDisk"); if($disk['status']=="new"){ $ldap->cat($disk_dn,array("objectClass")); if($ldap->count()){ $disk['status']="edited"; } } foreach(array("description","FAIdiskType","FAIdiskOption","FAIlvmDevice") as $attr){ if($disk['status'] == "new"){ if(isset($disk_attrs[$attr])) unset($disk_attrs[$attr]); if(isset($disk[$attr]) && !empty($disk[$attr])){ if(is_array($disk[$attr])){ $disk_attrs[$attr] = array_values($disk[$attr]); }else{ $disk_attrs[$attr] = $disk[$attr]; } } }else{ if(isset($disk[$attr]) && !empty($disk[$attr])){ if(is_array($disk[$attr])){ $disk_attrs[$attr] = array_values($disk[$attr]); }else{ $disk_attrs[$attr] = $disk[$attr]; } }else{ $disk_attrs[$attr] = array(); } } } /* Tag object */ $this->tag_attrs($disk_attrs, $disk_dn, $this->gosaUnitTag); if($disk['status'] == "delete"){ @DEBUG (DEBUG_FAI, __LINE__, __FUNCTION__, __FILE__,$short_dn , "Removing disk: "); FAI::prepare_to_save_FAI_object($disk_dn,array(),true); $this->handle_post_events("remove"); unset($this->disks[$cn]); }elseif($disk['status'] == "edited"){ @DEBUG (DEBUG_FAI, __LINE__, __FUNCTION__, __FILE__,$short_dn , "Updating disk: "); FAI::prepare_to_save_FAI_object($disk_dn,$disk_attrs); $this->handle_post_events("modify"); }elseif($disk['status']=="new"){ @DEBUG (DEBUG_FAI, __LINE__, __FUNCTION__, __FILE__,$short_dn , "Adding disk: "); FAI::prepare_to_save_FAI_object($disk_dn,$disk_attrs); $this->handle_post_events("add"); } if($disk['status']!="delete") /* Add all partitions */ foreach($disk['partitions'] as $pkey => $partition){ $partition_attrs = array(); foreach($partition as $key => $value){ if(!empty($value)){ $partition_attrs[$key]=$value; }else{ unset($partition_attrs[$key]); } } $partition_dn= "FAIpartitionNr=".$partition_attrs['FAIpartitionNr'].",".$disk_dn; $short_dn= "FAIpartitionNr=".$partition_attrs['FAIpartitionNr'].",..."; $partition_attrs['objectClass']= array("top","FAIclass","FAIpartitionEntry"); unset($partition_attrs['status']); unset($partition_attrs['old_cn']); if($partition['status']=="new"){ $ldap->cat($partition_dn,array("objectClass")); if($ldap->count()){ $partition['status']="edited"; } } if((!isset($partition['FAImountPoint']))||(empty($partition['FAImountPoint']))){ $partition_attrs['FAImountPoint']="swap"; } /* Tag object */ $this->tag_attrs($partition_attrs, $partition_dn, $this->gosaUnitTag); if($partition['status'] == "delete"){ @DEBUG (DEBUG_FAI, __LINE__, __FUNCTION__, __FILE__,$short_dn , "Removing partition: "); FAI::prepare_to_save_FAI_object($partition_dn,array(),true); $this->handle_post_events("remove"); unset($this->disks[$cn]['partitions'][$pkey]); }elseif($partition['status'] == "edited"){ @DEBUG (DEBUG_FAI, __LINE__, __FUNCTION__, __FILE__,$short_dn , "Updating partition: "); FAI::prepare_to_save_FAI_object($partition_dn,$partition_attrs); $this->handle_post_events("modify"); }elseif($partition['status']=="new"){ @DEBUG (DEBUG_FAI, __LINE__, __FUNCTION__, __FILE__,$short_dn , "Adding partition: "); FAI::prepare_to_save_FAI_object($partition_dn,$partition_attrs); $this->handle_post_events("add"); } // We do not need the status flag any longer if(isset($this->disks[$cn]['partitions'][$pkey]['status'])){ unset($this->disks[$cn]['partitions'][$pkey]['status']); } } // We do not need the status flag any longer if(isset($this->disks[$cn]['status'])){ unset($this->disks[$cn]['status']); } } $this->initial_disks = $this->disks; $this->handle_post_events("add"); } function prepareDiskToBeSave() { foreach($this->disks as $id => $disk){ /* Correct FAIpartitionNr. * If we've only primary partition then set the partition numbers from * 1 to 4, else set the primary from 1 to 3 and logical >= 5 * */ if(!isset($disk['partitions'])){ $disk['partitions'] = array(); } $newSetup = array(); if($disk['FAIdiskType'] == "disk"){ $primary = $logical = array(); foreach($disk['partitions'] as $partid => $part){ if($part['FAIpartitionType'] == "primary"){ $primary[$partid] = $part; }elseif($part['FAIpartitionType'] == "logical"){ $logical[$partid] = $part; }else{ trigger_error("Fatal: unknown disk type? ".$part['FAIpartitionType']); } } $cnt = 1; foreach($primary as $part){ $part['FAIpartitionNr'] = $cnt; $part['cn'] = $disk['cn'].$cnt; $newSetup[$cnt] = $part; $cnt ++; } $cnt = 5; foreach($logical as $part){ $part['FAIpartitionNr'] = $cnt; $part['cn'] = $disk['cn'].$cnt; $newSetup[$cnt] = $part; $cnt ++; } $this->disks[$disk['cn']]['partitions'] = $newSetup; } } # FAIpartitionNr have to be used as index for this->disks # else the next operation will fail. /* Check if there are disks to be removed, edited or added. * We compare the initial disk setup with the current setup and * and add a status flag, which will then be used to perform the * correct action - add, edited, remove. */ foreach($this->disks as $key => $disk){ // - A complete NEW disk if(!isset($this->initial_disks[$disk['cn']])){ $this->disks[$key]['status'] = "new"; foreach($disk['partitions'] as $pkey => $part){ $this->disks[$disk['cn']]['partitions'][$pkey]['status'] = "new"; } }else{ // - Disk was "EDITED" $this->disks[$key]['status'] = "edited"; foreach($disk['partitions'] as $pkey => $part){ // - Check whether partition is "NEW" or "EDITED" if(!isset($this->initial_disks[$key]['partitions'][$pkey])){ $this->disks[$key]['partitions'][$pkey]['status'] = "new"; }else{ $this->disks[$key]['partitions'][$pkey]['status'] = "edited"; } } } } /* Check which partitions havbe to be removed. * (They intially existed, but are now gone.) */ foreach($this->initial_disks as $ikey => $idisk){ // - Complete disk was REMOVED. if(!isset($this->disks[$idisk['cn']])){ $this->disks[$idisk['cn']] = $idisk; $this->disks[$idisk['cn']]['status'] = "delete"; foreach($idisk['partitions'] as $pkey=>$part){ $this->disks[$idisk['cn']]['partitions'][$pkey] = $part; $this->disks[$idisk['cn']]['partitions'][$pkey]["status"] = "delete"; } }else{ foreach($idisk['partitions'] as $pkey=>$part){ if(!isset($this->disks[$idisk['cn']]['partitions'][$pkey])){ $this->disks[$idisk['cn']]['partitions'][$pkey] = $part; $this->disks[$idisk['cn']]['partitions'][$pkey]["status"] = "delete"; } } } } } function PrepareForCopyPaste($source) { plugin::PrepareForCopyPaste($source); /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ /* To be sure to copy disks and partitions correctly, just create a * new PartitionTable object and use the 'disks' attribute * from this it. This is much easier and less code. */ $obj = new faiPartitionTable($this->config, $source['dn']); $this->disks = $obj->disks; } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Partition table"), "plDescription" => _("FAI partition table"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 26, "plSection" => array("administration"), "plCategory" => array("fai"), "plProperties" => array( array( "name" => "faiPartitionRDN", "type" => "rdn", "default" => "ou=disk,", "description" => _("RDN for FAI partition storage."), "check" => "gosaProperty::isRdn", "migrate" => "migrate_faiPartitionRDN", "group" => "plugin", "mandatory" => TRUE)), "plProvidedAcls" => array( "cn" => _("Name")." ("._("Read only").")", "description" => _("Description")) )); } /*! \brief Used for copy & paste. Returns a HTML input mask, which allows to change the cn of this entry. @param Array Array containing current status && a HTML template. */ function getCopyDialog() { $vars = array("cn"); $smarty = get_smarty(); $smarty->assign("cn", set_post($this->cn)); $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE)); $ret = array(); $ret['string'] = $str; $ret['status'] = ""; return($ret); } /*! \brief Used for copy & paste. Some entries must be renamed to avaoid duplicate entries. */ function saveCopyDialog() { if(isset($_POST['cn'])){ $this->cn = get_post('cn'); } } /* Reload some attributes */ function get_object_attributes($object,$attributes) { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->cat($object['dn'],$attributes); $tmp = $ldap->fetch(); foreach($attributes as $attrs){ if(isset($tmp[$attrs][0])){ $var = $tmp[$attrs][0]; /* Check if we must decode some attributes */ if(in_array_ics($attrs,$this->sub64coded)){ $var = base64_decode($var); } /* check if this is a binary entry */ if(in_array_ics($attrs,$this->subBinary)){ $var = $ldap->get_attribute($object['dn'], $attrs,$r_array=0); } $object[$attrs] = $var; } } return($object); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/faiScriptEntry.tpl0000644000175000017500000000461211415351344021024 0ustar cajuscajus

{t}Generic{/t}

{t}Name{/t} {$must}  {render acl=$cnACL} {/render}
{t}Description{/t}  {render acl=$descriptionACL} {/render}
 

{t}Script attributes{/t}

{render acl=$FAIpriorityACL} {/render}

{if $write_protect} {t}This FAI script is write protected, due to its encoding. Editing may break it!{/t}
{/if} {render acl=$FAIscriptACL} {/render}
{render acl=$FAIscriptACL}   {/render} {render acl=$FAIscriptACL} {/render} {render acl=$FAIscriptACL} {$DownMe} {/render}


{if !$freeze}   {/if}
gosa-plugin-fai-2.7.4/admin/fai/classSelect/0000755000175000017500000000000011752422555017606 5ustar cajuscajusgosa-plugin-fai-2.7.4/admin/fai/classSelect/selectClass-list.xml0000644000175000017500000000216611330325337023543 0ustar cajuscajus false false false true users 1 FAIclass fai fai plugins/fai/images/script.png |220px|| cn string %{cn} true %{filter:filterProperties(row,objectClass)}
gosa-plugin-fai-2.7.4/admin/fai/classSelect/selectClass-filter.xml0000644000175000017500000000142511354411101024041 0ustar cajuscajus users true default auto dn objectClass cn sn uid givenName description userPassword default FAIClass $ cn 0.5 3 gosa-plugin-fai-2.7.4/admin/fai/classSelect/class_filterFAIClass.inc0000644000175000017500000000506311613742614024262 0ustar cajuscajus "faiScript", "FAItemplate" => "faiTemplate", "FAIhook" => "faiHook", "FAIvariable" => "faiVariable", "FAIpartitionTable" => "faiPartitionTable", "FAIpackageList" => "faiPackage"); /* Read out all objects from fai tree */ $ldap= $config->get_ldap_link(); $ldap->cd($base); $ui = get_userinfo(); $sort=array(); $FAIAllclasses = array(); foreach($FAI_objects as $obj){ $ldap->cat($obj['dn']); $attrs = $ldap->fetch(); /* Only use objects which have cn set */ $name = preg_replace("/[\*\.]/","",$filter); if(empty($name)){ $regex = '.*'; }else{ $regex = preg_quote($name,'/'); } if(isset($attrs['cn'][0]) && preg_match("/".$regex."/i", $attrs['cn'][0])){ foreach($categories as $cat => $acl){ if(in_array_strict($cat,$attrs['objectClass'])){ $acl = $ui->get_permissions($attrs['dn'],"fai/".$acl); if(!isset($FAIAllclasses[$attrs['cn'][0]])){ $FAIAllclasses[$attrs['cn'][0]] = $attrs ; }else{ $FAIAllclasses[$attrs['cn'][0]]['objectClass'] = array_merge($attrs['objectClass'],$FAIAllclasses[$attrs['cn'][0]]['objectClass']); } } } } } return(filterFAIClass::filterByBlacklist(array_values($FAIAllclasses))); } static function filterByBlacklist($entries) { if(session::is_set('filterBlacklist')){ $blist = session::get('filterBlacklist'); foreach($blist as $attr_name => $attr_values){ foreach($attr_values as $match){ foreach($entries as $id => $entry){ if(isset($entry[$attr_name])){ $test = $entry[$attr_name]; if(!is_array($test)) $test = array($test); if(in_array_strict($match, $test)) unset($entries[$id]); } } } } } return(array_values($entries)); } } ?> gosa-plugin-fai-2.7.4/admin/fai/classSelect/class_classSelect.inc0000644000175000017500000000567111613742614023741 0ustar cajuscajusconfig = $config; $this->ui = $ui; // Build filter if (session::global_is_set(get_class($this)."_filter")){ $filter= session::global_get(get_class($this)."_filter"); } else { $filter = new filter(get_template_path("selectClass-filter.xml", true, dirname(__FILE__))); $filter->setObjectStorage($this->storagePoints); } $this->setFilter($filter); // Build headpage $headpage = new listing(get_template_path("selectClass-list.xml", true, dirname(__FILE__))); $headpage->registerElementFilter("filterProperties", "classSelect::filterProperties"); $headpage->setFilter($filter); parent::__construct($config, $ui, "FAI class", $headpage); } static function filterProperties($row, $classes) { /* Create different picture for each object type */ $objTypes['FAIhook'] = image('plugins/fai/images/fai_hook.png'); $objTypes['FAItemplate'] = image('plugins/fai/images/fai_template.png'); $objTypes['FAIscript'] = image('plugins/fai/images/fai_script.png'); $objTypes['FAIvariable'] = image('plugins/fai/images/fai_variable.png'); $objTypes['FAIpackageList'] = image('plugins/fai/images/fai_packages.png'); $objTypes['FAIpartitionTable'] = image('plugins/fai/images/fai_partitionTable.png'); $str = ""; foreach($objTypes as $class => $img){ if(in_array_strict($class, $classes)){ $str .= $img; }else{ $str .= image('images/empty.png'); } } return($str); } function save() { $act = $this->detectPostActions(); $headpage = $this->getHeadpage(); if(!isset($act['targets'])) return(array()); $ret = array(); foreach($act['targets'] as $dn){ $ret[] = $headpage->getEntry($dn); } return($ret); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/classSelect/selectClass-list.tpl0000644000175000017500000000104711361070510023531 0ustar cajuscajus

{$HEADLINE}  {$SIZELIMIT}

{$RELOAD} {$FILTER}
{$LIST}
gosa-plugin-fai-2.7.4/admin/fai/class_faiPackage.inc0000644000175000017500000006606011613742614021241 0ustar cajuscajusdn =$dn; /* Check if there are already some packages in this list */ $this->usedPackages = array(); if(isset($this->attrs['FAIpackage'])){ unset($this->attrs['FAIpackage']['count']); foreach($this->attrs['FAIpackage'] as $pkg){ $name = preg_replace("/\-$/","",$pkg); $this->usedPackages[$name] = $pkg; } ksort($this->usedPackages); } /* Fetch all package configurations from ldap */ $PackageFilter = ""; foreach($this->usedPackages as $name => $value){ $PackageFilter .= "(FAIpackage=".$name.")"; } $PackageFilter = "(&(objectClass=FAIdebconfInfo)(|".$PackageFilter."))"; /* Search for configuration objects */ $ldap = $this->config->get_ldap_link(); $ldap->cd($this->dn); $ldap->search($PackageFilter,array("FAIvariable","FAIvariableType", "FAIvariableContent","FAIpackage","FAIdebianSection","FAIstate")); /* Walk through configurations and append them to our list of ConfiguredPackages */ while($attr = $ldap->fetch()){ /* Skip objects, that are tagged as removed */ if(isset($object['FAIstate'][0])){ if(preg_match("/removed$/",$attr['FAIstate'][0])){ continue; } } $tmp =array(); $tmp['Name'] = $attr['FAIvariable'][0]; $tmp['Type'] = $attr['FAIvariableType'][0]; if (isset($attr['FAIvariableContent'][0])){ if(!in_array_strict($attr['FAIvariableType'],array("multiselect"))){ $tmp['Value'] = $attr['FAIvariableContent'][0]; }else{ $content = array(); unset($attr['FAIvariableContent']['count']); foreach($attr['FAIvariableContent'] as $attr){ $tmp['Value'][] = $attr; } } $this->ConfiguredPackages[$attr['FAIpackage'][0]][$attr['FAIvariable'][0]]=$tmp; } } $this->FAIdebianSection = array(); if(isset($this->attrs['FAIdebianSection'])){ for($i = 0 ; $i < $this->attrs['FAIdebianSection']['count'] ; $i++ ){ $sec = $this->attrs['FAIdebianSection'][$i]; $this->FAIdebianSection[$sec]=$sec; } } $this->FAIpackage = array(); } // ENDE dn != new $methods = array(); foreach($this->FAIinstallMethods as $method){ $methods[$method] = $method; } $this->FAIinstallMethods = $methods; /* Check if we exist already - no need to ask for revisions, etc. then */ if ($this->dn != "new"){ $this->newDialogShown= true; } $this->is_new = FALSE; if($this->dn == "new"){ $this->is_new =TRUE; } /* Generate package list */ $this->list= $this->genPkgs(TRUE); // Prepare lists $this->packageList = new sortableListing(); $this->packageList->setDeleteable(false); $this->packageList->setEditable(false); $this->packageList->setWidth("100%"); $this->packageList->setHeight("200px"); $this->packageList->setColspecs(array('20px','*','*','100px','60px')); $this->packageList->setHeader(array(_("Status"),_("Name"),_("Description"),_("Version"))); $this->packageList->setDefaultSortColumn(1); } function execute() { /* Call parent execute */ plugin::execute(); if($this->is_account && !$this->view_logged){ $this->view_logged = TRUE; new log("view","fai/".get_class($this),$this->dn); } /* Fill templating stuff */ $smarty= get_smarty(); $display= ""; /****** * Initialize a new Package List with release and section name ******/ if(!$this->is_account){ /* Assemble release name */ $release = $this->parent->parent->fai_release; $tmp= preg_replace('/[,]*'.preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/').'.*$/i', '', $release); $tmp= preg_replace('/ou=/', '', $tmp); $rev= array_reverse(explode(',', $tmp)); $this->FAIdebianRelease= "/"; foreach ($rev as $part){ $this->FAIdebianRelease.= "/$part"; } $this->FAIdebianRelease= preg_replace('#^[/]*#', '', $this->FAIdebianRelease); /* Assemble sections */ $repos= $this->getServerInfos(); if(isset($repos[$this->FAIdebianRelease])){ $this->FAIdebianSection= $repos[$this->FAIdebianRelease]; $this->FAIdebianSection= array_unique($this->FAIdebianSection); } /* Assign Repository settings*/ $this->is_account = true; } /****** * Add ******/ if(isset($_POST['AddManualpkg']) && isset($_POST['addPpkgsText']) && strlen($_POST['addPpkgsText']) && $this->acl_is_writeable("FAIpackage") && !preg_match("/freeze/",$this->FAIstate)){ // Check all splitted packages for valid package names $add_packages = preg_split( "/[\s,]+/", get_post('addPpkgsText'), -1, PREG_SPLIT_NO_EMPTY ); if( is_array($add_packages) ) { $valid_packages = array(); $invalid_packages = array(); foreach ($add_packages as $value) { if(!preg_match( "/^[a-z0-9][-0-9a-z+\.]+$/",$value)){ $invalid_packages[] = trim($value); }else{ $valid_packages[] = trim($value); } } if(count($invalid_packages)){ $str = implode(", ",$invalid_packages); msg_dialog::display(_("Invalid package names"), sprintf(_("The following package names don't match the Debian policy: %s"),$str), ERROR_DIALOG); } // If we have a complete list of valid packages, add them if(count($valid_packages)){ foreach($valid_packages as $key => $value){ if(array_key_exists($value,$this->usedPackages)) { unset($valid_packages[$key]); } } // Query SI-Deamon for additional package information $daemon = new gosaSupportDaemon(); $query_attrs = array("distribution", "package","version", "section", "description", "timestamp"); $do_si_query = true; foreach ($valid_packages as $value) { if( $do_si_query == true ) { $res = $daemon->FAI_get_packages($this->FAIdebianRelease,$query_attrs,array($value),0,1); if( ! $daemon->is_error()){ if(count($res)){ // We just use the last answer - there shouldn't be multiple $res_attrs = array_pop( $res ); $this->list[$value] = $res_attrs; $this->usedPackages[$value] = $res_attrs['PACKAGE']; }else{ $this->usedPackages[$value] = $value; } }else{ msg_dialog::display(_("Service infrastructure"), msgPool::siError($daemon->get_error()), ERROR_DIALOG); $do_si_query = false; } } } ksort($this->usedPackages); /* Generate package list */ $this->list= $this->genPkgs(TRUE); } } } // Open the packageSelect dialog to allow adding packages out of a list. if(isset($_POST['Addpkg']) && $this->acl_is_writeable("FAIpackage") && !preg_match("/freeze/",$this->FAIstate)){ $this->packageSelect = new packageSelect($this->config, get_userinfo()); session::set('packageSelect_Release',$this->FAIdebianRelease); $this->dialog =true; } // Close packageSelect dialog. if(isset($_POST['packageSelect_cancel'])){ $this->packageSelect = FALSE; $this->dialog =FALSE; } // Close packageSelect dialog and add the selected packages. if(isset($_POST['packageSelect_save']) && $this->packageSelect instanceOf packageSelect){ if(!preg_match("/freeze/i", $this->FAIstate)){ $use = $this->packageSelect->save(); foreach($use as $pkg){ $item = array(); for($i =0; $i < $pkg['count']; $i++){ $item[$pkg[$i]] = $pkg[$pkg[$i]][0]; } $this->usedPackages[$item['PACKAGE']] = $item['PACKAGE']; } ksort($this->usedPackages); /* Generate package list */ $this->list= $this->genPkgs(TRUE); } $this->packageSelect = FALSE; $this->dialog =FALSE; } // Display package add dialog if($this->packageSelect instanceOf packageSelect){ session::set('filterBlacklist', array('PACKAGE' => $this->usedPackages)); return $this->packageSelect->execute(); } /* Check image Posts */ foreach($_POST as $name => $value){ /****** * Mark as removed ******/ if(!preg_match('/freeze/i', $this->FAIstate) && preg_match("/^removal_package_/",$name)){ $id = @postDecode(preg_replace("/^removal_package_(.*)$/","\\1",$name)); if(isset($this->usedPackages[$id])){ $pkg = $this->usedPackages[$id]; if (preg_match('/\-$/', $pkg)){ $pkg= preg_replace('/\-$/', '', $pkg); } else { $pkg= preg_replace('/$/', '-', $pkg); } $this->usedPackages[$id] = $pkg; } break; } /****** * Delete Pkgs ******/ if(!preg_match('/freeze/i', $this->FAIstate) && preg_match("/^remove_package_/",$name)){ $id = @postDecode(preg_replace("/^remove_package_(.*)$/","\\1",$name)); if(isset($this->usedPackages[$id])){ unset($this->usedPackages[$id]); } break; } /****** * Configure Pkgs ******/ if(!preg_match('/freeze/i', $this->FAIstate) && preg_match("/^configure_package_/",$name)){ $pkg = @postDecode(preg_replace("/^configure_package_(.*)$/","\\1",$name)); if(isset($this->usedPackages[$pkg])){ /* Configuration dialog open*/ $pkg_config = array(); if(isset($this->ConfiguredPackages[$pkg])){ $pkg_config = $this->ConfiguredPackages[$pkg]; } $this->dialog = new faiPackageConfiguration($this->config, $this->dn,$pkg, $this->FAIdebianRelease , $pkg_config); $this->is_dialog =true; } break; } } /* Abort package selection dialog */ if(isset($_POST['CancelSubObject'])){ $this->dialog = false; $this->is_dialog=false; } /* Save Configuration */ if(isset($_POST['SaveObjectConfig'])){ if(!preg_match("/^freeze/", $this->FAIstate)){ $this->ConfiguredPackages= array_merge($this->ConfiguredPackages,$this->dialog->save()); } $this->dialog = false; $this->is_dialog=false; } /* cancel configuration */ if(isset($_POST['CancelObjectConfig'])){ $this->dialog = false; $this->is_dialog=false; } /* Display dialog */ if($this->is_dialog){ $this->dialog->save_object(); return $this->dialog->execute(); } /****** * Display UI / HTML / smarty ******/ /* Create list to display a list of all currently used packages */ $data = $lData = array(); if(is_array($this->usedPackages)){ foreach($this->usedPackages as $usedName => $name){ /* Append message if package is configured */ $configured = image('images/empty.png'); if(isset($this->ConfiguredPackages[$usedName])){ $configured = image('plugins/fai/images/package_configure.png','',_("Configured")); } /* Adapt used name if we're marked for removal */ $removal = image('images/empty.png'); if (preg_match('/\-$/', $name)){ $removal = image('plugins/fai/images/removal_mark.png','',_("Package marked for removal")); } /* Get Version */ $version = ""; if(isset($this->list[$usedName]['VERSION'])){ $version = $this->list[$usedName]['VERSION']; } /* Get description */ $description = ""; if(isset($this->list[$usedName]['DESCRIPTION'])){ $description = base64_decode($this->list[$usedName]['DESCRIPTION']); } $actions= image('plugins/fai/images/removal_mark.png', 'removal_package_'.postEncode($usedName), _("Mark package for removal")); if(isset($this->list[$usedName]['TEMPLATE']) && !preg_match('/^freeze/', $this->FAIstate) && $this->acl_is_writeable("FAIdebconfInfo")){ $actions.= image('plugins/fai/images/package_configure.png', 'configure_package_'.postEncode($usedName), _("Configure this package")); } if(!preg_match('/^freeze/', $this->FAIstate) && $this->acl_is_writeable("FAIpackage")){ $actions.= image('images/lists/trash.png', 'remove_package_'.postEncode($usedName), _("Remove this package")); } $data[$usedName] = $usedName; $lData[$usedName] = array('data'=> array( $configured." ".$removal, $usedName ,set_post($description), $version, $actions)); } } $this->packageList->setAcl($this->getacl("FAIpackage",preg_match('/^freeze/', $this->FAIstate))); $this->packageList->setListData($data,$lData); $this->packageList->update(); /* Assign variables */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); } $smarty->assign( "FAIinstallMethods", $this->FAIinstallMethods ); /* Assign section to smarty */ $strsec = ""; foreach($this->FAIdebianSection as $sec){ $strsec .= $sec." "; } $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translated){ $smarty->assign($name."ACL",$this->getacl($name,preg_match("/freeze/",$this->FAIstate))); } $smarty->assign("freeze", preg_match("/freeze/",$this->FAIstate)); $smarty->assign("listing",$this->packageList->render()); $smarty->assign("release" ,$this->FAIdebianRelease); $smarty->assign("sections",$this->sections); $smarty->assign("section" ,$strsec); $display.= $smarty->fetch(get_template_path('faiPackage.tpl', TRUE)); return($display); } /*! \brief Removes this packageList from the ldap database */ function remove_from_parent() { $ldap = $this->config->get_ldap_link(); $ldap->cd ($this->dn); $release = $this->parent->parent->fai_release; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $this->dn); FAI::prepare_to_save_FAI_object($use_dn,array(),true); new log("remove","fai/".get_class($this),$use_dn,$this->attributes); foreach($this->ConfiguredPackages as $pkgname => $attrs){ foreach($attrs as $name => $attr){ $pkgdn = "FAIvariable=".$name.",".$this->dn; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $pkgdn); FAI::prepare_to_save_FAI_object($use_dn,array(),true); } } $this->handle_post_events("remove"); } /*! \brief Collect all relevant POST vars for this plugin */ function save_object() { if(preg_match("/^freeze/", $this->FAIstate)) return; plugin::save_object(); } /*! \brief Check given inputs for this package list @return Array Containing all error messages, or an empty array if no error occured */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); if(count($this->usedPackages)==0){ $message[]= _("Please select a least one package!"); } if((empty($this->FAIdebianRelease))||(empty($this->FAIdebianSection))){ $message[]=_("Please choose a valid release/section combination for your repository setup!"); } /* Ensure that we do not overwrite an allready existing entry */ if($this->is_new){ $release = $this->parent->parent->fai_release; $new_dn= 'cn='.$this->cn.",".get_ou("faiPackage", "faiPackageRDN").get_ou("faiManagement", "faiBaseRDN").$release; $res = faiManagement::check_class_name("FAIpackageList",$this->cn,$new_dn); if(isset($res[$this->cn])){ $message[] = msgPool::duplicated(_("Name")); } } return ($message); } /*! \brief Reload the list of cached packages. @return Returns the currently cached list of packages. */ function genPkgs($force = false) { if(empty($this->FAIdebianRelease)) return; if(!count($this->buffer) || $force){ $q = new gosaSupportDaemon(); $attrs = array("distribution", "package","version", "section", "description", "timestamp","template"); $packages = array_keys($this->usedPackages); $ret = $q->FAI_get_packages($this->FAIdebianRelease,$attrs,$packages); if($q->is_error()){ msg_dialog::display(_("Service infrastructure"),msgPool::siError($q->get_error()),ERROR_DIALOG); }else{ foreach($ret as $attr){ $this->buffer[$attr['PACKAGE']] = $attr; } } } return $this->buffer; } /*! \brief Save packages and their configuration to ldap */ function save() { /* Assemble release name */ if($this->FAIdebianRelease == "ClearFromCopyPaste"){ $current_release = $this->parent->parent->fai_release; $tmp= preg_replace('/,'.preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/').'.*$/i', '', $current_release); $tmp= preg_replace('/ou=/', '', $tmp); $rev= array_reverse(explode(',', $tmp)); $this->FAIdebianRelease= ""; foreach ($rev as $part){ $this->FAIdebianRelease.= "/$part"; } $this->FAIdebianRelease= preg_replace('#^/#', '', $this->FAIdebianRelease); } plugin::save(); $ldap = $this->config->get_ldap_link(); $this->attrs['FAIpackage'] = array(); foreach($this->usedPackages as $pkg){ $this->attrs['FAIpackage'][] = $pkg; } $this->attrs['FAIdebianSection'] = array(); foreach($this->FAIdebianSection as $sec){ $this->attrs['FAIdebianSection'][] = $sec; } FAI::prepare_to_save_FAI_object($this->dn,$this->attrs); if($this->initially_was_account){ new log("modify","fai/".get_class($this),$this->dn,$this->attributes); }else{ new log("create","fai/".get_class($this),$this->dn,$this->attributes); } $ldap->cd($this->dn); /* Save Package configurations */ foreach($this->ConfiguredPackages as $pkgname => $attrs){ foreach($attrs as $name => $attr){ $pkgattrs = array(); foreach($attr as $n=>$v){ if(empty($v)) $v = array(); } /* Set attributes */ $pkgattrs['objectClass'][] = "FAIdebconfInfo"; $pkgattrs['FAIpackage'] = $pkgname; $pkgattrs['FAIvariable'] = $name; $pkgattrs['FAIvariableType'] = $attr['Type']; $pkgattrs['FAIvariableContent'] = $attr['Value']; $pkgdn = "FAIvariable=".$name.",".$this->dn; /* Tag object */ $this->tag_attrs($pkgattrs, $pkgdn, $this->gosaUnitTag); if(in_array_strict($pkgattrs['FAIvariableType'],array("boolean","multiselect","password","select","string","text"))){ if($pkgattrs['FAIvariableType'] == "text" && $pkgattrs['FAIvariableContent'] == ""){ gosa_log("Skipped saving FAIvariable '$name' empty string can't be saved."); }else{ FAI::prepare_to_save_FAI_object($pkgdn,$pkgattrs); } } } } } /*! \brief Return plugin informations for acl handling @return Array ACL infos of this plugin. */ static function plInfo() { return (array( "plShortName" => _("Package"), "plDescription" => _("FAI Package list"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 28, "plSection" => array("administration"), "plCategory" => array("fai"), "plProperties" => array( array( "name" => "faiPackageRDN", "type" => "rdn", "default" => "ou=packages,", "description" => _("RDN for FAI package storage."), "check" => "gosaProperty::isRdn", "migrate" => "migrate_faiPackageRDN", "group" => "plugin", "mandatory" => TRUE)), "plProvidedAcls" => array( "cn" => _("Name"), "description" => _("Description"), "FAIpackage" => _("Packages"), "FAIdebianSection" => _("Section")." ("._("Read-only").")", "FAIinstallMethod" => _("Install Method"), "FAIdebconfInfo" => _("Package configuration"), "FAIdebianRelease" => _("Release")." ("._("Read-only").")") )); } /*! \brief prepares this plugin to be inserted after it was copied or cut. @param Array All attributes from the source object. */ function PrepareForCopyPaste($source) { plugin::PrepareForCopyPaste($source); if(isset($source['FAIstate'][0])){ $this->FAIstate = $source['FAIstate'][0]; } $this->FAIdebianRelease = "ClearFromCopyPaste"; if(isset($source['FAIpackage'])){ unset($source['FAIpackage']['count']); foreach($source['FAIpackage'] as $pkg){ $this->usedPackages[$pkg] = $pkg; } ksort($this->usedPackages); }else{ $this->usedPackages = array(); } if((isset($source['FAIdebianSection']))&&(is_array($source['FAIdebianSection']))){ $this->FAIdebianSection = array(); for($i = 0 ; $i < $source['FAIdebianSection']['count'] ; $i ++){ $this->FAIdebianSection[$source['FAIdebianSection'][$i]]=$source['FAIdebianSection'][$i]; } } /* Create one filter with all package names, instead of calling $ldap->search for every single package */ $PackageFilter = ""; foreach($this->usedPackages as $name){ $PackageFilter .= "(FAIpackage=".$name.")"; } $PackageFilter = "(&(objectClass=FAIdebconfInfo)(|".$PackageFilter."))"; /* Search for configuration objects */ $ldap = $this->config->get_ldap_link(); $ldap->cd($source['dn']); $ldap->search($PackageFilter,array("FAIvariable","FAIvariableType","FAIvariableContent","FAIpackage","FAIdebianSection","FAIstate")); /* Walk through configurations and append them to our list of ConfiguredPackages */ while($attr = $ldap->fetch()){ /* Skip objects, that are tagged as removed */ if(isset($object['FAIstate'][0])){ if(preg_match("/removed$/",$attr['FAIstate'][0])){ continue; } } $tmp =array(); $tmp['Name'] = $attr['FAIvariable'][0]; $tmp['Type'] = $attr['FAIvariableType'][0]; if (isset($attr['FAIvariableContent'][0])){ if(!in_array_strict($attr['FAIvariableType'],array("multiselect"))){ $tmp['Value'] = $attr['FAIvariableContent'][0]; }else{ $content = array(); unset($attr['FAIvariableContent']['count']); foreach($attr['FAIvariableContent'] as $attr){ $tmp['Value'][] = $attr; } } $this->ConfiguredPackages[$attr['FAIpackage'][0]][$attr['FAIvariable'][0]]=$tmp; } } } /*! \brief Returns a list of all configured servers with repositories. @return Array All repository server */ function getServerInfos() { $ret = array(); $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(objectClass=FAIrepositoryServer)",array("*")); while($attrs = $ldap->fetch()){ if(isset($attrs['FAIrepository'])){ for($i =0 ; $i < $attrs['FAIrepository']['count']; $i++){ $obj = $attrs['FAIrepository'][$i]; $tmp = explode("|",$obj); if(count($tmp)==4){ foreach(explode(",",$tmp[3]) as $sec){ if(!empty($sec)){ $ret[$tmp[2]][] = $sec; } } } } } } return($ret); } /*! \brief Used for copy & paste. Returns a HTML input mask, which allows to change the cn of this entry. @param Array Array containing current status && a HTML template. */ function getCopyDialog() { $vars = array("cn"); $smarty = get_smarty(); $smarty->assign("cn", set_post($this->cn)); $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE)); $ret = array(); $ret['string'] = $str; $ret['status'] = ""; return($ret); } /*! \brief Used for copy & paste. Some entries must be renamed to avaoid duplicate entries. */ function saveCopyDialog() { if(isset($_POST['cn'])){ $this->cn = get_post('cn'); } } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/faiScript.tpl0000644000175000017500000000252011363055311017773 0ustar cajuscajus

{t}Generic{/t}

{render acl=$cnACL} {/render}
{render acl=$descriptionACL} {/render}

{t}List of scripts{/t}

{$Entry_listing}
{if $sub_object_is_addable} {else} {/if}
gosa-plugin-fai-2.7.4/admin/fai/class_faiManagement.inc0000644000175000017500000014203411663666031021761 0ustar cajuscajusconfig = $config; /* Check if the opsi plugin is installed. */ if(class_available("opsi")){ $this->opsi = new opsi($this->config);; } $this->fai_base = get_ou("faiManagement", "faiBaseRDN").$this->config->current['BASE']; $cfg_rel = $this->config->get_cfg_value("faiManagement","defaultFaiRelease"); if(!empty($cfg_rel)){ $this->fai_release = $cfg_rel; }else{ $this->fai_release = $this->fai_base; } $releases = $this->getReleaseList(); if(!isset($releases[$this->fai_release])){ $this->fai_release = $this->fai_base; } $this->acl_base = $this->config->current['BASE']; $this->ui = $ui; $this->storagePoints = array( get_ou("faiPartitionTable", "faiPartitionRDN"), get_ou("faiPackage", "faiPackageRDN"), get_ou("faiScript", "faiScriptRDN"), get_ou("faiVariable", "faiVariableRDN"), get_ou("faiHook", "faiHookRDN"), get_ou("faiProfile", "faiProfileRDN"), get_ou("faiTemplate", "faiTemplateRDN")); // Build filter if (session::global_is_set(get_class($this)."_filter")){ $filter= session::global_get(get_class($this)."_filter"); } else { $filter = new filter(get_template_path("fai-filter.xml", true)); $filter->setObjectStorage($this->storagePoints); } $filter->elementValues['RELEASE'] = $this->fai_release; $this->setFilter($filter); // Build headpage $headpage = new listing(get_template_path("fai-list.xml", true)); $headpage->setFilter($filter); $headpage->setBase($this->fai_release); $headpage->registerElementFilter("filterProperties", "faiManagement::filterProperties"); // Add copy&paste and snapshot handler. if ($this->config->boolValueIsTrue("core", "copyPaste")){ $this->cpHandler = new CopyPasteHandler($this->config); } $this->registerAction("remove_multiple","removeEntryRequested"); $this->registerAction("new_profile","newEntry"); $this->registerAction("new_template","newEntry"); $this->registerAction("new_script","newEntry"); $this->registerAction("new_hook","newEntry"); $this->registerAction("new_variable","newEntry"); $this->registerAction("new_package","newEntry"); $this->registerAction("new_partition","newEntry"); $this->registerAction("newClassNameSelected","newClassNameSelected"); $this->registerAction("saveOpsiProperties","saveOpsiProperties"); $this->registerAction("editByGroup","editByGroup"); $this->registerAction("editByItem","editByItem"); $this->registerAction("createBranch","createBranch"); $this->registerAction("createFreeze","createFreeze"); $this->registerAction("removeBranch","removeBranch"); $this->registerAction("removeBranchConfirmed","removeBranchConfirmed"); $this->registerAction("saveBranch","saveBranch"); $this->registerAction("PerformBranch","PerformBranch"); $releases = $this->getReleaseStates($this->config,$this->fai_base); if(session::is_set('faiManagement::fai_release')){ $r = session::get('faiManagement::fai_release'); if(isset($releases[$r])){ $this->fai_release = $r; } } $this->releaseSelector = new releaseSelector($releases, $this->fai_release, $this->fai_base); parent::__construct($config, $ui, "FAI object", $headpage); } /*! \brief Act on copy & paste actions here. */ function copyPasteHandler($action="",$target=array(),$all=array(),$altTabClass ="",$altTabType="",$altAclCategory="",$altAclPlugin="") { // Collect real dns, the listed objects are grouped by their cn $headpage = $this->getHeadpage(); if($action == "copy"){ if(count($target) == 1){ // We just want to copy a single FAI object, let the user choose entries from the FAI-Group $entry = $headpage->getEntry($target[0]); if(count($entry['GROUPS']) == 1){ $data = array_pop($entry['GROUPS']); $type = $this->get_type($data); $this->cpHandler->add_to_queue($data['dn'],"copy",$type[0],$type[2],'fai',$this); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$g['dn'],"Entry copied!"); }else{ $this->dialogObject = new faiGroupHandle($entry['GROUPS'],"copy"); } }else{ // More than one group was selected, expect that the user wants to copy the complete groups. foreach($target as $t){ $entry = $headpage->getEntry($t); // Check for valid FAI objects if(in_array_strict('FAKE_OC_FAI', $entry['objectClass'])){ foreach($entry['GROUPS'] as $g){ $type = $this->get_type($g); $this->cpHandler->add_to_queue($g['dn'],"copy",$type[0],$type[2],'fai',$this); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$g['dn'],"Entry copied!"); } } } } } // Initiate pasting if($action == "paste"){ $this->cpPastingStarted = TRUE; } // Display any c&p dialogs, eg. object modifications required before pasting. if($this->cpPastingStarted && $this->cpHandler->entries_queued()){ $this->cpHandler->SetVar("base",$headpage->getBase()); $data = $this->cpHandler->execute(); FAI::save_release_changes_now(); if(!empty($data)){ return($data); } } // Automatically disable pasting process since there is no entry left to paste. if(isset($this->cpHandler) && !$this->cpHandler->entries_queued()){ $this->cpPastingStarted = FALSE; } return(""); } /*! \brief A new FAI object was requested, let the user specify a name theis object now. */ function newEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="") { $types = array( "new_partition" => "FAIpartitionTable", "new_script" => "FAIscript", "new_hook" => "FAIhook", "new_variable" => "FAIvariable", "new_template" => "FAItemplate", "new_package" => "FAIpackageList"); $types_i18n = array( "new_partition" => _("partition table"), "new_script" => _("script"), "new_hook" => _("hook"), "new_variable" => _("variable"), "new_template" => _("template"), "new_package" => _("package list")); if(isset($types[$action])){ $type_acl_mapping = array( "FAIpartitionTable" => "faiPartitionTable", "FAIpackageList" => "faiPackage", "FAIscript" => "faiScript", "FAIvariable" => "faiVariable", "FAIhook" => "faiHook", "FAIprofile" => "faiProfile", "FAItemplate" => "faiTemplate"); $acl = $this->ui->get_permissions($this->acl_base,"fai/".$type_acl_mapping[$types[$action]]); if(preg_match("/c/",$acl)){ $this->dialogObject = new askClassName($this->config,$this->dn,$this->ui,$types[$action]); $this->dialogObject->parent = &$this; }else{ msg_dialog::display(_("Permission error"), sprintf(_("You have no permission to create a new %s!"), $types_i18n[$action]), ERROR_DIALOG); } } if($action == "new_profile"){ $this->dn = "new" ; $acl = $this->ui->get_permissions($this->acl_base,"fai/faiProfile"); if(preg_match("/c/",$acl)){ $type= $this->get_type(array("objectClass"=>array("FAIprofile"))); $str= management::newEntry('newEntry',array(),array(),$type[0],$type[2],'fai'); if($str) return($str); $this->tabObject->set_acl_base($this->acl_base); }else{ msg_dialog::display(_("Permission error"), sprintf(_("You have no permission to create a new %s!"), _("profile")), ERROR_DIALOG); } } } /*! \brief A new FAI class was requested and the user had a specify a name for it. * Here we check if this name is useable and then open the edit dialogs. */ function newClassNameSelected() { $this->dialogObject->save_object(); if(count($this->dialogObject->check())!=0){ foreach($this->dialogObject->check() as $msg){ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG); } }elseif(isset($this->dialogObject->objectClass)){ $this->dn = "new" ; $type= $this->get_type(array("objectClass"=>array($this->dialogObject->objectClass))); $name = $this->dialogObject->save(); if(class_exists($type[0])){ $this->closeDialogs(); $str = management::newEntry('newEntry',array(),array(),$type[0],$type[2],"fai"); if($str) return($str); $this->tabObject->set_acl_base($this->acl_base); $this->tabObject->by_object[$type[1]]->cn = $name; } } } /*! \brief Edit the selected entry. * If there was a FAI group clicked, display a dialog with all members of the group. */ function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="") { $headpage = $this->getHeadpage(); if(count($target) == 1){ $entry = $headpage->getEntry($target[0]); if($entry){ // Edit Opsi objects here if(in_array_strict("opsi_local", $entry['TYPES']) || in_array_strict("opsi_netboot", $entry['TYPES'])){ $name = $entry['cn']; $cfg = $this->opsi->get_product_properties($name); $str = management::editEntry('editEntry',array($name),array(),'tabs_opsiProdConfig','OPSIPRODCONFIG','opsi'); if($str) return($str); if(isset($this->tabObject->by_object['opsiProperties'])){ $this->tabObject->by_object['opsiProperties']->set_cfg($cfg); $this->tabObject->by_object['opsiProperties']->set_product($name); $this->skipFooter = TRUE; }else{ trigger_error("Unknown tab, please check config."); } }else{ // Edit FAI objects here if(count($entry['GROUPS']) == 1){ $data = array_pop($entry['GROUPS']); $type = $this->get_type($data); $str = management::editEntry('editEntry',array($data['dn']),array(),$type[0],$type[2],"fai"); if($str) return($str); $this->tabObject->by_object[$type[1]]->FAIstate = $data['FAIstate']; $this->tabObject->read_only = preg_match("/freeze/i", $data['FAIstate']); }else{ $this->dialogObject = new faiGroupHandle($entry['GROUPS'],"edit"); } } } } } /*! \brief Save changes made in opsi dialogs. */ function saveOpsiProperties() { if($this->tabObject instanceof tabs_opsiProdConfig && isset($_POST['save_properties'])){ $this->tabObject->save_object(); $op = $this->tabObject->by_object['opsiProperties']; $name = $op->get_product(); $cfg = $op->get_cfg(); $this->opsi->set_product_properties($name,$cfg); if($this->opsi->is_error()){ msg_dialog::display(_("Error"),msgPool::siError($this->opsi->get_error()),ERROR_DIALOG); }else{ $this->remove_lock(); $this->closeDialogs(); } } } /*! \brief Someone wants to remove some object(s) * ask for a confirmation now. */ function removeEntryRequested($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="") { $this->closeDialogs(); if($action == "remove_multiple"){ // Collect objects to delete $headpage = $this->getHeadpage(); $to_delete = array(); foreach($target as $id){ $object = $headpage->getEntry($id); if(in_array_strict("FAKE_OC_FAI", $object['objectClass'])){ foreach($object['GROUPS'] as $entry){ array_push($to_delete, $entry); } } } return($this->removeFAIObjects($to_delete)); }else{ // Try to remove a single object, only FAI objects can be removed! $headpage = $this->getHeadpage(); if(count($target) == 1){ $entry = $headpage->getEntry($target[0]); if($entry && in_array_strict("FAKE_OC_FAI",$entry['objectClass'])){ $this->dialogObject = new faiGroupHandle($entry['GROUPS'],"remove"); } } } } /*! \brief Someone wants to remove some object(s) * ask for a confirmation now. */ function removeFAIObjects($to_delete) { // Close dialogs and remove locks for currently handled dns $this->cancelEdit(); // Do not allow to remove objects with state freeezed $errors = $disallowed = array(); foreach($to_delete as $obj){ $type = $this->get_type($obj); $acl = $this->ui->get_permissions($obj['dn'],"fai/".$type[1]); if(!preg_match("/d/",$acl)){ $disallowed[] = $obj['dn']; }elseif(isset($obj['FAIstate']) && preg_match('/^freeze/', $obj['FAIstate'])){ $errors[] = $obj['dn']; }else{ $this->dns[] = $obj['dn']; } } if(count($errors)){ msg_dialog::display(_("Branch locked"), sprintf(_("The following entries are locked, you can't remove them %s."),msgPool::buildList($errors)),INFO_DIALOG); } if(count($disallowed)){ msg_dialog::display(_("Permission error"), msgPool::permDelete($disallowed), ERROR_DIALOG); } // Check entry locking $smarty = get_smarty(); if(count($this->dns)){ if ($user= get_multiple_locks($this->dns)){ return(gen_locked_message($user,$this->dns)); } if(count($this->dns)){ // Add locks $dns_names = array(); $types = array(); $h = $this->getHeadpage(); // Build list of object -labels foreach($h->objectTypes as $type){ $map[$type['objectClass']]= $type['label']; } foreach($this->dns as $dn){ $tmp = $h->getType($dn); if(isset($map[$tmp])){ $dns_names[] = '('._($map[$tmp]).') - '.LDAP::fix($dn); }else{ $dns_names[] =LDAP::fix($dn); } } add_lock ($this->dns, $this->ui->dn); $smarty->assign("info",msgPool::deleteInfo($dns_names)); return($smarty->fetch(get_template_path('removeEntries.tpl'))); } } } /*! \brief Entry removal is confirmed, now remove objects */ function removeEntryConfirmed($action="",$target=array(),$all=array(), $altTabClass="",$altTabType="",$altAclCategory="", $altAclPlugin="") { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $disallowed = array(); foreach($this->dns as $key => $dn){ $ldap->cat($dn); if($ldap->count()){ $attrs = $ldap->fetch(); $type= $this->get_type($attrs); $acl = $this->ui->get_permissions($dn,"fai/".$type[1]); if(preg_match("/d/",$acl)){ // Delete the object $this->dn = $dn; $tabClass = $type[0]; $this->tabObject= new $tabClass($this->config,$this->config->data['TABS'][$type[2]], $this->dn, "fai", true, true); $this->tabObject->set_acl_base($this->dn); $this->tabObject->parent = &$this; $this->tabObject->by_object[$type[1]]->remove_from_parent (); FAI::save_release_changes_now(); $to_del = FAI::clean_up_releases($dn); foreach($to_del as $dn){ $ldap->rmdir_recursive($dn); } } else { $disallowed[] = $dn; new log("security","fai/".get_class($this),$dn,array(),"Tried to trick deletion."); } } } $this->remove_lock(); $this->closeDialogs(); /* Normally this shouldn't be reached, send some extra logs to notify the administrator */ if(count($disallowed)){ msg_dialog::display(_("Permission error"), msgPool::permDelete($disallowed), ERROR_DIALOG); } } function editByItem($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="") { $id = $target[0]; $tab = $target[1]; $headpage = $this->getHeadpage(); $entry = $headpage->entries[$id]; if(in_array_strict('FAKE_OC_FAI', $entry['objectClass'])){ if(isset($headpage->entries[$id]['GROUPS'][$tab])){ $data =$headpage->entries[$id]['GROUPS'][$tab]; $type = $this->get_type($data); $str = management::editEntry('editEntry',array($data['dn']),array(),$type[0],$type[2],"fai"); if($str) return($str); } }else{ $str = $this->editEntry('editEntry',array($entry['dn'])); if($str) return($str); } } /*! \brief Someone clicked on edit/remove for a grouped FAI object. * We are now going to display a dialog to let the user select the entry * he wants to perform the action on. */ function editByGroup() { if($this->dialogObject instanceOf faiGroupHandle && $this->dialogObject->get_mode() == "edit"){ $this->dialogObject->save_object(); $entry = $this->dialogObject->get_selected(); $data = array_pop($entry); $type = $this->get_type($data); $str = management::editEntry('editEntry',array($data['dn']),array(),$type[0],$type[2],'fai'); if($str) return($str); $this->closeDialogs(); $this->tabObject->by_object[$type[1]]->FAIstate = $data['FAIstate']; $this->tabObject->read_only = preg_match("/freeze/i", $data['FAIstate']); }elseif($this->dialogObject instanceOf faiGroupHandle && $this->dialogObject->get_mode() == "remove"){ $this->dialogObject->save_object(); $to_delete = $entry = $this->dialogObject->get_selected(); if(count($to_delete)) $this->closeDialogs(); return($this->removeFAIObjects($to_delete)); }elseif($this->dialogObject instanceOf faiGroupHandle && $this->dialogObject->get_mode() == "copy"){ $this->dialogObject->save_object(); $entries = $entry = $this->dialogObject->get_selected(); if(count($entries)){ foreach($entries as $entry){ $type = $this->get_type($entry); $this->cpHandler->add_to_queue($entry['dn'],"copy",$type[0],$type[2],'fai',$this); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$entry['dn'],"Entry copied!"); } $this->closeDialogs(); } } } /*! \brief Save dialog/object modifications */ protected function saveChanges() { $str = management::saveChanges(); if($str) return($str); // Now save changes FAI::save_release_changes_now(); $to_del = FAI::clean_up_releases($this->last_dn); $ldap= $this->config->get_ldap_link(); foreach($to_del as $dn){ $ldap->rmdir_recursive($dn); } } /*! \brief Save dialog/object modifications but keep the dialogs opened */ protected function applyChanges() { $str = management::applyChanges(); if($str) return($str); // Now save changes FAI::save_release_changes_now(); $to_del = FAI::clean_up_releases($this->dn); foreach($to_del as $dn){ $ldap->rmdir_recursive($dn); } // Reload entryCSN values for the plugins - To avoid the warning: // "The current object has been altered while beeing edited..." foreach($this->tabObject->by_object as $key => &$obj){ if($obj->CSN_check_active){ $obj->entryCSN = getEntryCSN($this->dn); } } } /*! \brief Initiates release removal */ function removeBranch() { /* Check if we have a post remove method configured * else skip this operation. (Skip:Button in the ui should be disabled in this case too) */ if("" != $this->config->get_cfg_value("faiManagement","postremove")){ /* Load permissions for selected 'dn' and check if we're allowed to remove this 'dn' */ if(preg_match("/d/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){ $smarty=get_smarty(); $smarty->assign("release_hidden",base64_encode($this->fai_release)); $smarty->assign("info", msgPool::deleteInfo(LDAP::fix($this->fai_release),_("FAI branch/freeze"))); return($smarty->fetch(get_template_path('remove_branch.tpl',TRUE))); } else { msg_dialog::display(_("Permission error"), _("You have no permission to delete this release!"), ERROR_DIALOG); } } } /*! \brief Remove a release after removal was confirmed */ function removeBranchConfirmed() { /* Check if we have a post remove method configured * else skip this operation. (Skip:Button in the ui should be disabled in this case too) */ if("" != $this->config->get_cfg_value("faiManagement","postremove")){ if(!isset($_POST['release_hidden']) || base64_decode($_POST['release_hidden']) != $this->fai_release){ msg_dialog::display(_("Warning"),_("Release remove aborted because the release name check failed!")); }else{ $bb = $this->fai_release; $ldap = $this->config->get_ldap_link(); $br = $this->getBranches(); if(isset($br[$bb]) && preg_match("/d/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){ $name = $br[$bb]; $ldap->cd($bb); $ldap->recursive_remove(); $ldap->cd(preg_replace('/,'.preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/').'/i', ','.get_ou("application", "applicationRDN"), $bb)); $ldap->recursive_remove(); $ldap->cd(preg_replace('/,'.preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/').'/i', ','.get_ou("mimetype", "mimetypeRDN"), $bb)); $ldap->recursive_remove(); /* Search for all groups with configured application menus. - First search all groups, to ensure that we only remove entries form whithin groups. - The search für menu configuration for the specified release and collect all those dns. - Remove entries */ $release_ou = preg_replace("/".preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/').".*$/i","",$bb); $ldap->cd($this->config->current['BASE']); $ldap->search("(objectClass=posixGroup)",array("dn")); /* Collect all group dns */ $groups = array(); while($attrs = $ldap->fetch()){ $groups[] = $attrs['dn']; } /* Collect all group menu release dns that match the release we have removed */ $dns = array(); foreach($groups as $dn){ $ldap->cd($dn); $ldap->search("(objectClass=FAIbranch)",array("dn")); while($attrs = $ldap->fetch()){ if(preg_match("/^".preg_quote($release_ou, '/')."/",$attrs['dn'])){ $dns[] = $attrs['dn']; } } } /* Finally remove collected release dns */ foreach($dns as $dn){ $ldap->cd($dn); $ldap->recursive_remove(); } /* Post remove */ $this->fai_release = preg_replace("/^[^,]*+,/","", $this->fai_release); $this->lock_name = $name; $this->lock_dn = $bb; $this->handle_post_events('remove'); // Update list and release selector to point to a valid release again. $releases = $this->getReleaseStates($this->config,$this->fai_base); if(!isset($releases[$this->fai_release])){ $this->fai_release = $this->fai_base; } $headpage = $this->getHeadpage(); $headpage->setBase($this->fai_release); $headpage->update(); $this->releaseSelector->setBases($releases); $this->releaseSelector->setBase($this->fai_release); new log("remove","fai/".get_class($this),$br[$bb],array(),"Release removed"); } } } } /*! \brief Initiates release creation */ function createBranch() { if($this->config->get_cfg_value("faiManagement", "postcreate") == ""){ msg_dialog::display(_("Configuration"), msgPool::cmdnotfound("POSTCREATE", get_class()), ERROR_DIALOG); }elseif(!preg_match("/c/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){ msg_dialog::display(_("Permission error"), msgPool::permCreate(_("Branch")), ERROR_DIALOG); }else{ $smarty = get_smarty(); $this->dispNewBranch=true; $this->dispNewFreeze=false; $smarty->assign("iframe",false); if(isset($_POST['BranchName'])){ $smarty->assign("BranchName", get_post('BranchName')); }else{ $smarty->assign("BranchName",""); } return($smarty->fetch(get_template_path('faiNewBranch.tpl', TRUE, dirname(__FILE__)))); } } /*! \brief Initiates release creation */ function createFreeze() { if($this->config->get_cfg_value("faiManagement", "postcreate") == ""){ msg_dialog::display(_("Configuration"), msgPool::cmdnotfound("POSTCREATE", get_class()), ERROR_DIALOG); }elseif(!preg_match("/c/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){ msg_dialog::display(_("Permission error"), msgPool::permCreate(_("Branch")), ERROR_DIALOG); }else{ $smarty = get_smarty(); $this->dispNewFreeze=true; $this->dispNewBranch=false; $smarty->assign("iframe",false); if(isset($_POST['BranchName'])){ $smarty->assign("BranchName", get_post('BranchName')); }else{ $smarty->assign("BranchName",""); } return($smarty->fetch(get_template_path('faiNewBranch.tpl', TRUE, dirname(__FILE__)))); } } /*! \brief Creates a new branch */ function PerformBranch() { if(!preg_match("/c/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){ msg_dialog::display(_("Permission error"), msgPool::permCreate(_("Branch")), ERROR_DIALOG); }else{ /* In order to see error messages we have to reset the error handler. Due to the exit(); */ restore_error_handler(); $this->dispNewBranch = false; $this->dispNewFreeze = false; $LASTPOST = session::get('LASTPOST'); $base = $LASTPOST['base']; $_POST = session::get('LASTPOST'); $name = $_POST['BranchName']; $type = $LASTPOST['type']; $ldap = $this->config->get_ldap_link(); $baseToUse = $base; if($this->fai_release != $this->fai_base){ $baseToUse = $this->fai_release; } /* Create new Release name to be able to set faidebianRelease for FAIpackageList */ $CurrentReleases = $this->getBranches(); $NewReleaseName = $name; if(isset($CurrentReleases[$this->fai_release])) { if($this->fai_release != $this->fai_base){ $NewReleaseName = $CurrentReleases[$this->fai_release]."/".$name; $NewReleaseName = preg_replace("#\/#","/",$NewReleaseName); }else{ $NewReleaseName = $name; } } $targetReleaseDN = "ou=".$name.",".$baseToUse; $appsEnabled = class_available("application"); $mimeEnabled = class_available("mimetype"); if($appsEnabled){ $appsrc = preg_replace("/".preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/')."/i", get_ou("application", "applicationRDN"),$baseToUse); $appdst = preg_replace("/".preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/')."/i", get_ou("application", "applicationRDN"),"ou=".$name.",".$baseToUse) ; } if($mimeEnabled){ $mimesrc = preg_replace("/".preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/')."/i", get_ou("mimetype", "mimetypeRDN"),$baseToUse); $mimedst = preg_replace("/".preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/')."/i", get_ou("mimetype", "mimetypeRDN"),"ou=".$name.",".$baseToUse) ; } $useBases = array(); $useBases[] = $baseToUse; if($appsEnabled) $useBases[] = $appsrc; if($mimeEnabled) $useBases[] = $mimesrc; /* Check if source depeartments exist */ foreach($useBases as $dep){ $ldap->cd($this->config->current['BASE']); $ldap->cat($dep); if(!$ldap->count()){ $ldap->create_missing_trees($dep); } } /* Print header to have styles included */ echo ' '; new log("create","fai/".get_class($this),$NewReleaseName,array(),"New $type created"); /* Duplicate group application releases */ FAI::copy_FAI_group_releases($CurrentReleases[$this->fai_release],$name,$type); /* Duplicate applications */ if($appsEnabled){ $ldap->cat($appsrc,array("dn")) ; if($ldap->count()){ $ldap->cd ($appdst); $ldap->recursive_remove(); FAI::copy_FAI_resource_recursive($appsrc,$appdst,$NewReleaseName,$type,true); } } /* Duplicate mime types */ if($mimeEnabled){ $ldap->cat($mimesrc,array("dn")) ; if($ldap->count()){ $ldap->cd ($mimedst); $ldap->recursive_remove(); FAI::copy_FAI_resource_recursive($mimesrc,$mimedst,$NewReleaseName,$type,true); } } $attr = array(); $attr['objectClass'] = array("organizationalUnit","FAIbranch"); $attr['ou'] = $name; $attr['FAIstate'] = $type; $ldap->cd($this->config->current['BASE']); $ldap->cd("ou=".$name.",".$baseToUse); $ldap->cat("ou=".$name.",".$baseToUse); if($ldap->count()){ $ldap->modify($attr); }else{ $ldap->add($attr); } /* Duplicate fai objects */ // $ldap->cd ("ou=".$name.",".$baseToUse); // $ldap->recursive_remove(); // FAI::copy_FAI_resource_recursive($baseToUse,"ou=".$name.",".$baseToUse,$NewReleaseName,$type,true); echo "

"; echo "" ; /* Print footer to have valid html */ echo ""; $this->dispNewFreeze = false; /* Assign possible attributes */ $this->lock_type = $type; $this->lock_name = $name; $this->lock_dn = $baseToUse; $this->handle_post_events('add'); /* Send daemon event to reload the fai release database */ if(class_available("DaemonEvent") && class_available("gosaSupportDaemon")){ $events = DaemonEvent::get_event_types(SYSTEM_EVENT | HIDDEN_EVENT); if(isset($events['TRIGGERED']['DaemonEvent_recreate_fai_release_db'])){ $evt = $events['TRIGGERED']['DaemonEvent_recreate_fai_release_db']; $tmp = new $evt['CLASS_NAME']($this->config); $tmp->set_type(TRIGGERED_EVENT); $tmp->add_targets(array("GOSA")); $o_queue = new gosaSupportDaemon(); if(!$o_queue->append($tmp)){ msg_dialog::display(_("Service infrastructure"),msgPool::siError($o_queue->get_error()),ERROR_DIALOG); } } }else{ if($this->config->boolValueIsTrue("core","developmentMode")){ trigger_error("Unknown class DaemonEvent / gosaSupportDaemon"); msg_dialog::display(_("Fatal error"), "Daemon events called but classes where not accessible, DaemonEvent gosaSupportDaemon", FATAL_ERROR_DIALOG); } } // Update list and release selector to point to the newly created release $headpage = $this->getHeadpage(); $this->fai_release = $targetReleaseDN; $headpage->setBase($this->fai_release); $headpage->update(); $releases = $this->getReleaseStates($this->config,$this->fai_base); $this->releaseSelector->setBases($releases); $this->releaseSelector->setBase($this->fai_release); exit(); } } /*! \brief Creates a new branch, after a useable name was specified. */ function saveBranch() { if($this->dispNewBranch){ $type = "branch"; }else{ $type = "freeze"; } /* Check branch name */ $name = $_POST['BranchName']; $is_ok = true; $smarty = get_smarty(); $smarty->assign("BranchName",$name); $base= $this->fai_base; /* Check used characters */ if(!preg_match("/^[0-9a-z\.]*$/",$name)){ msg_dialog::display(_("Error"), msgPool::invalid(_("Name"),$name,"/[0-9a-z\.]/"), ERROR_DIALOG); $is_ok = false; } // Check if this name is already in use if(!$this->CheckNewBranchName($_POST['BranchName'],$this->fai_release)){ msg_dialog::display(_("Error"), msgPool::duplicated(_("Name")), ERROR_DIALOG); $is_ok = false; } // Handle errors if(!$is_ok && $this->dispNewFreeze){ return($this->createFreeze()); }elseif(!$is_ok && $this->dispNewBranch){ return($this->createBranch()); } // Now create new release if(session::is_set('LASTPOST')){ $LASTPOST = session::get('LASTPOST'); }else{ $LASTPOST = array(); } $LASTPOST['base'] = $base; $LASTPOST['type'] = $type; $LASTPOST['BranchName'] = $name; session::set('LASTPOST',$LASTPOST); $smarty->assign("iframe", true); $smarty->assign("plugID", $_GET['plug']); $display = $smarty->fetch(get_template_path('faiNewBranch.tpl', TRUE, dirname(__FILE__))); return($display); } /*! \brief Returns a list of all releases for useable for drop down boxes. * ou=fai... / * ou=siga,ou=fai...   siga * ou=1,ou=siga,ou=fai...    1 */ function getReleaseList($base = "", $prefix ="") { $list = array(); if(empty($base)){ $base = $this->fai_base; $list[$base] = "/"; } $ldap = $this->config->get_ldap_link(); $ldap->ls("(objectClass=FAIbranch)",$base,array("ou","FAIstate")); while($release = $ldap->fetch()){ $list[$release['dn']] = $prefix.$release['ou'][0]; $list = array_merge($list,$this->getReleaseList($release['dn'],$prefix."  ")); } return($list); } /*! \brief Returns a list of all releases for the releaseSelector * ou=fai... * ou=siga,ou=fai... "branch" * ou=1,ou=siga,ou=fai... "freeze" */ static function getReleaseStates($config,$base = "", $fai_base="") { $list = array(); if(empty($fai_base)){ $fai_base = $base; $list[$base] = ""; } $ldap = $config->get_ldap_link(); $ldap->ls("(objectClass=FAIbranch)",$base,array("ou","FAIstate")); while($release = $ldap->fetch()){ $list[$release['dn']] = _("Release"); if(isset($release['FAIstate'][0]) && preg_match("/freeze/i",$release['FAIstate'][0])){ $list[$release['dn']] = _("Freeze"); } $list = array_merge($list,faiManagement::getReleaseStates($config,$release['dn'], $fai_base)); } return($list); } /*! \brief Returns a list of all releases with full release names * ou=fai... / * ou=siga,ou=fai... siga * ou=1,ou=siga,ou=fai... siga/1 */ function getBranches($base = false,$prefix = "") { $ret = array("/"=>$this->fai_base); $ldap = $this->config->get_ldap_link(); if(!$base){ $base = $this->fai_base; } $tmp = FAI::get_all_releases_from_base($base,true); foreach($tmp as $dn => $name){ $ret[$name]=$dn; } ksort($ret); $ret = array_flip($ret); return ($ret); } /*! \brief Detects object info like corresponding tab,class,acl * e.g. [0] = tabsPartition * [1] = faiPartitionTable * [2] = FAIPARTITIONTABS */ function get_type($array) { if(!isset($array['objectClass'])) return(array()); if(in_array_strict("FAIpartitionTable",$array['objectClass'])){ return(array("tabsPartition","faiPartitionTable","FAIPARTITIONTABS")); } if(in_array_strict("FAIscript",$array['objectClass'])){ return(array("tabsScript","faiScript","FAISCRIPTTABS")); } if(in_array_strict("FAItemplate",$array['objectClass'])){ return(array("tabsTemplate","faiTemplate","FAITEMPLATETABS")); } if(in_array_strict("FAIhook",$array['objectClass'])){ return(array("tabsHook","faiHook","FAIHOOKTABS")); } if(in_array_strict("FAIvariable",$array['objectClass'])){ return(array("tabsVariable","faiVariable","FAIVARIABLETABS")); } if(in_array_strict("FAIprofile",$array['objectClass'])){ return(array("tabsProfile","faiProfile","FAIPROFILETABS")); } if(in_array_strict("FAIpackageList",$array['objectClass'])){ return(array("tabsPackage","faiPackage","FAIPACKAGETABS")); } return(array()); } /*! \brief Checks if the given string can be used as class name */ static function check_class_name($oc,$name,$dn) { $base = FAI::get_release_dn($dn); if($oc == "FAIprofile"){ $f = ""; $ocs = array("FAIprofile","FAItemplate","FAIhook","FAIpartitionTable","FAIpackageList","FAIscript","FAIvariable"); foreach($ocs as $oc){ $f .= "(objectClass=".$oc.")"; } $res = FAI::get_all_objects_for_given_base($base,"(|".$f.")",TRUE); }else{ $res = FAI::get_all_objects_for_given_base($base,"(objectClass=".$oc.")",TRUE); } $delete = array(); $used = array(); foreach($res as $object){ $used[$object['cn'][0]]= $object['cn'][0]; } return($used); } /*! \brief Checks if the given string can be used for a new release */ function CheckNewBranchName($name,$base) { $f = $this->fai_release; if($name == ""){ return(false); }elseif(in_array_strict($name,$this->getBranches($f))) { return(false); }elseif(tests::is_department_name_reserved($name,$base)){ return(false); } return(true); } /*! \brief This filter is used to display small icons for each listed object * instead of their typ names */ static function filterProperties($row, $classes) { global $fai_inst; $objects = array( "FAIpartitionTable" => array("IMG"=> "plugins/fai/images/fai_partitionTable.png", "NAME"=>_("Partition table"),"KZL"=> "PT", "VAR"=>"ShowPartitions"), "FAIpackageList" => array("IMG"=> "plugins/fai/images/fai_packages.png", "NAME"=>_("Package list") , "KZL"=> "PL", "VAR"=>"ShowPackages"), "FAIscript" => array("IMG"=> "plugins/fai/images/fai_script.png", "NAME"=>_("Scripts") , "KZL"=> "S", "VAR"=>"ShowScripts"), "FAIvariable" => array("IMG"=> "plugins/fai/images/fai_variable.png", "NAME"=>_("Variables") , "KZL"=> "V", "VAR"=>"ShowVariables"), "FAIhook" => array("IMG"=> "plugins/fai/images/fai_hook.png", "NAME"=>_("Hooks"), "KZL"=> "H", "VAR"=>"ShowHooks"), "FAIprofile" => array("IMG"=> "plugins/fai/images/fai_profile.png", "NAME"=>_("Profile") , "KZL"=> "P", "VAR"=>"ShowProfiles"), "FAItemplate" => array("IMG"=> "plugins/fai/images/fai_template.png", "NAME"=>_("Templates") , "KZL"=> "T", "VAR"=>"ShowTemplates"), "opsi_netboot" => array("IMG"=> "plugins/opsi/images/netboot_package.png", "NAME"=>_("OPSI net boot product") , "KZL"=> "ON", "VAR"=>"ShowOpsiNetboot"), "opsi_local" => array("IMG"=> "plugins/opsi/images/local_package.png", "NAME"=>_("OPSI local boot product") , "KZL"=> "OL", "VAR"=>"ShowOpsiLocal")); $icon_list = ""; $otc = &$fai_inst->getHeadpage()->objectTypeCount; foreach($objects as $type => $type_data){ if(in_array_strict($type, $classes)){ $icon_list .= image($type_data['IMG'],'edit_'.$row.'_'.$type,$type_data['NAME']); if (!isset($otc[$type])) { $otc[$type]= 0; } $otc[$type]++; }else{ $icon_list .= image('images/empty.png'); } } return $icon_list; } /*! \brief Overridden render method of class mangement. * this allows us to add a release selection box. */ function renderList() { $filter = $this->getFilter(); $headpage = $this->getHeadpage(); $this->releaseSelector->update(); $this->fai_release = $this->releaseSelector->getBase(); session::set('faiManagement::fai_release', $this->fai_release); $headpage->setBase($this->fai_release); $headpage->update(); $smarty = get_smarty(); $r = $this->config->get_cfg_value("faiManagement", "postremove"); $c = $this->config->get_cfg_value("faiManagement", "postcreate"); $smarty->assign("allow_create", $c); $smarty->assign("allow_remove", $r); $smarty->assign("RELEASE", $this->releaseSelector->render()); $display = $headpage->render(); return($this->getHeader().$display); } /*! \brief Convert POST and GET variables into actions. */ function detectPostActions() { $vars = array('/^act$/','/^listing/','/^PID$/','/^FILTER_PID$/', '/^edit/'); session::set('LOCK_VARS_TO_USE',$vars); $action = management::detectPostActions(); if(isset($_POST['remove_multiple'])) $action['action'] = "remove"; if(isset($_POST['new_profile'])) $action['action'] = "new_profile"; if(isset($_POST['new_template'])) $action['action'] = "new_template"; if(isset($_POST['new_script'])) $action['action'] = "new_script"; if(isset($_POST['new_hook'])) $action['action'] = "new_hook"; if(isset($_POST['new_variable'])) $action['action'] = "new_variable"; if(isset($_POST['new_package'])) $action['action'] = "new_package"; if(isset($_POST['new_partition'])) $action['action'] = "new_partition"; if(isset($_POST['save_properties'])) $action['action'] = "saveOpsiProperties"; if(isset($_POST['cancel_properties'])) $action['action'] = "cancel"; if(isset($_POST['edit_continue'])) $action['action'] = "newClassNameSelected"; if(isset($_POST['edit_cancel'])) $action['action'] = "cancel"; if(isset($_POST['faiGroupHandle_cancel'])) $action['action'] = "cancel"; if(isset($_POST['CancelBranchName'])) $action['action'] = "cancel"; if(isset($_POST['delete_branch_confirm'])) $action['action'] = "removeBranchConfirmed"; if(isset($_GET['PerformBranch'])) $action['action'] = "PerformBranch"; if(isset($_POST['UseBranchName'])) $action['action'] = "saveBranch"; if(isset($_POST['faiGroupHandle_apply'])) $action['action'] = "editByGroup"; if(isset($_GET['act']) && $_GET['act'] == "branch_branch") $action['action'] = "createBranch"; if(isset($_GET['act']) && $_GET['act'] == "freeze_branch") $action['action'] = "createFreeze"; if(isset($_GET['act']) && $_GET['act'] == "remove_branch") $action['action'] = "removeBranch"; foreach($_POST as $name => $value){ if(preg_match("/^edit_([0-9]*)_([a-z_]*)/i", $name)){ $id = preg_replace("/^edit_([0-9]*)_([a-z_]*)/i","\\1", $name); $tab = preg_replace("/^edit_([0-9]*)_([a-z_]*)/i","\\2", $name); $action['action'] = "editByItem"; $action['targets'] = array($id, $tab); } } return($action); } static function plInfo() { return (array( "plShortName" => _("FAI releases"), "plDescription" => _("FAI release management"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 0, "plSection" => array("administration"), "plRequirements"=> array( 'onFailureDisablePlugin' => array( 'faiDiskEntry', 'faiHookEntry', 'faiHook', 'faiManagement', 'faiPackageConfiguration', 'faiPackage', 'faiPartition', 'faiPartitionTableEntry', 'faiPartitionTable', 'faiProfile', 'faiScriptEntry', 'faiScript', 'faiSummaryTab', 'faiTemplateEdit', 'faiTemplateEntry', 'faiTemplate', 'faiVariableEntry', 'faiVariable', 'servrepository' ), 'ldapSchema' => array( 'FAIclass' => '>=2.7', 'FAIbranch' => '>=2.7', 'FAIdebconfInfo' => '>=2.7', 'FAIobject' => '>=2.7', 'FAIpackageList' => '>=2.7', 'FAItemplate' => '>=2.7', 'FAIscript' => '>=2.7', 'FAIvariable' => '>=2.7', 'FAIhook' => '>=2.7', 'FAItemplateEntry' => '>=2.7', 'FAIscriptEntry' => '>=2.7', 'FAIvariableEntry' => '>=2.7', 'FAIhookEntry' => '>=2.7', 'FAIpartitionTable' => '>=2.7', 'FAIpartitionDisk' => '>=2.7', 'FAIpartitionEntry' => '>=2.7', 'FAIprofile' => '>=2.7', 'FAIpartitionEntry' => '>=2.7', 'FAIrepository' => '>=2.7', 'FAIrepositoryServer' => '>=2.7' ) ), "plProperties" => array( array( "name" => "faiBaseRDN", "type" => "rdn", "default" => "ou=fai,ou=configs,ou=systems,", "description" => _("RDN for FAI storage."), "check" => "gosaProperty::isRdn", "migrate" => "migrate_faiBaseRDN", "group" => "plugin", "mandatory" => TRUE ), array( "name" => "defaultFaiRelease", "type" => "dn", "default" => "", "description" => _("Name of the FAI default release."), "check" => "gosaProperty::isDn", "migrate" => "", "group" => "fai", "mandatory" => FALSE ) ), "plCategory" => array("fai"=> array("description" => _("FAI"),"objectClass" => "FAIclass")), "plProvidedAcls"=> array())); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/packageSelect/0000755000175000017500000000000011752422555020074 5ustar cajuscajusgosa-plugin-fai-2.7.4/admin/fai/packageSelect/selectPackage-list.xml0000644000175000017500000000277611354402706024330 0ustar cajuscajus false false false true 1 FAKE_OC__FaiPackage fai faiPackage plugins/fai/images/fai_packages.png |20px;c||180| %{filter:objectType(dn,objectClass)} %{filter:departmentLink(row,dn,description)} 1 %{filter:objectType(dn,objectClass)} PACKAGE string %{PACKAGE} true VERSION string %{VERSION} true
gosa-plugin-fai-2.7.4/admin/fai/packageSelect/class_packageSelect.inc0000644000175000017500000000374411352420140024477 0ustar cajuscajusconfig = $config; $this->ui = $ui; // Build filter if (session::global_is_set(get_class($this)."_filter")){ $filter= session::global_get(get_class($this)."_filter"); } else { $filter = new filter(get_template_path("selectPackage-filter.xml", true, dirname(__FILE__))); } $this->setFilter($filter); // Build headpage $headpage = new listing(get_template_path("selectPackage-list.xml", true, dirname(__FILE__))); $headpage->setFilter($filter); parent::__construct($config, $ui, "FAI-packages", $headpage); } function save() { $act = $this->detectPostActions(); $headpage = $this->getHeadpage(); if(!isset($act['targets'])) return(array()); $ret = array(); foreach($act['targets'] as $dn){ $ret[] = $headpage->getEntry($dn); } return($ret); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/packageSelect/selectPackage-filter.xml0000644000175000017500000000116211652213105024620 0ustar cajuscajus groups true default auto SECTION VERSION PACKAGE default FAIPackages $ PACKAGE 0.5 3 gosa-plugin-fai-2.7.4/admin/fai/packageSelect/class_filterFAIPackages.inc0000644000175000017500000000403011613742614025212 0ustar cajuscajusFAI_get_packages($release,$attrs,$filter,0,200); if($q->is_error()){ msg_dialog::display(_("Service infrastructure"),msgPool::siError($q->get_error()),ERROR_DIALOG); }else{ foreach($ret as $attr){ $attr['objectClass'] = "FAKE_OC__FaiPackage"; $attr['DESCRIPTION'] = base64_decode($attr['DESCRIPTION']); $item = array(); $item['dn'] = "dn=".$attr['PACKAGE'].",".$attr['DISTRIBUTION'].",".$base; $item['count']= 0; foreach($attr as $key => $value){ $item['count']++; $item[] = $key; $item[$key] = array('count' => 1, $value); } $pkgs[] = $item; } } return(filterLDAPBlacklist::filterByBlacklist($pkgs)); } static function filterByBlacklist($entries) { if(session::is_set('filterBlacklist')){ $blist = session::get('filterBlacklist'); foreach($blist as $attr_name => $attr_values){ foreach($attr_values as $match){ foreach($entries as $id => $entry){ if(isset($entry[$attr_name])){ $test = $entry[$attr_name]; if(!is_array($test)) $test = array($test); if(in_array_strict($match, $test)) unset($entries[$id]); } } } } } return(array_values($entries)); } function save() { $act = $this->detectPostActions(); $headpage = $this->getHeadpage(); if(!isset($act['targets'])) return(array()); $ret = array(); foreach($act['targets'] as $dn){ $ret[] = $headpage->getEntry($dn); } return($ret); } } ?> gosa-plugin-fai-2.7.4/admin/fai/packageSelect/selectPackage-list.tpl0000644000175000017500000000106111363330672024313 0ustar cajuscajus

{$HEADLINE}  {$SIZELIMIT}

{$RELOAD} {$FILTER}
{$LIST}
gosa-plugin-fai-2.7.4/admin/fai/faiNewBranch.tpl0000644000175000017500000000401411424503647020406 0ustar cajuscajus {if $iframe == false}

{t}You are now going to create a branch or locked branch. This action clones the existing release to another release name. Branches can be modified as usual. FAI classes of locked branches cannot be modified, just additional classes are possible. Branch names should be alphanumeric, excluding the reserved names 'scripts', 'hooks', 'partitions', 'variables', 'templates' and 'FAI'.{/t}

{t}Branches are created as sub releases of the currently selected branch. Creating a new branch named 1.0.2 in SARGE for example, will result in a new release called SARGE/1.0.2.{/t}


{t}Please enter a name for the branch{/t} 
{else}

{t}Processing the requested operation{/t}

{t}As soon as the copy operation has finished, you can scroll down to end of the page and press the 'Continue' button to continue with the FAI management dialog.{/t}

{/if} gosa-plugin-fai-2.7.4/admin/fai/faiTemplateEntry.tpl0000644000175000017500000001315111424503647021336 0ustar cajuscajus

{t}Generic{/t}

{t}File name{/t}{$must}  {render acl=$cnACL} {/render}
{render acl=$FAItemplatePathACL} {/render}
{t}Description{/t} {render acl=$descriptionACL} {/render}

{t}Template attributes{/t}

{if $bStatus} {/if}
{t}File{/t}{$must}:  {$status} {if $bStatus} {image path='images/save.png' action='getFAItemplate' title='{t}Save template{/t}...'} {image path='images/lists/edit.png' action='editFAItemplate' title='{t}Edit template{/t}...'} {/if}
{t}Full path{/t}:  {$FAItemplatePath}
{render acl=$FAItemplateFileACL} {/render} {render acl=$FAItemplateFileACL} {/render}
{render acl=$FAIownerACL} {/render}
{render acl=$FAIownerACL} {/render}

{t}Access{/t}{$must}  {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render} {render acl=$FAImodeACL} {/render}
{t}Class{/t}{t}Read{/t}{t}Write{/t}{t}Execute{/t} {t}Special{/t} 
{t}User{/t}   (SUID)
{t}Group{/t}   (SGID)
{t}Others{/t}   ({t}sticky{/t})



{if !$freeze}   {/if}
gosa-plugin-fai-2.7.4/admin/fai/fai-list.xml0000644000175000017500000001255011663662216017577 0ustar cajuscajus false false false true fai 0 FAIpartitionTable fai fai plugins/fai/images/fai_partitionTable.png FAIpackageList fai fai plugins/fai/images/fai_packages.png FAIscript fai fai plugins/fai/images/fai_script.png FAIvariable fai fai plugins/fai/images/fai_variable.png FAIhook fai fai plugins/fai/images/fai_hook.png FAIprofile fai fai plugins/fai/images/fai_profile.png FAItemplate fai fai plugins/fai/images/fai_template.png ||250px|170px;r| cn string %{filter:link(row,dn,"%s",cn)} true %{filter:filterProperties(row,TYPES)} %{filter:actions(dn,row,objectClass)}
sub images/lists/element.png[new] new_profile entry plugins/fai/images/fai_profile.png new_template entry plugins/fai/images/fai_template.png new_script entry plugins/fai/images/fai_script.png new_hook entry plugins/fai/images/fai_hook.png new_variable entry plugins/fai/images/fai_variable.png new_package entry plugins/fai/images/fai_packages.png new_partition entry plugins/fai/images/fai_partitionTable.png separator remove_multiple entry images/lists/trash.png separator createBranch entry plugins/fai/images/branch_small.png[new] createFreeze entry plugins/fai/images/freeze.png[new] removeBranch entry images/lists/trash.png separator exporter separator copypaste false cp false FAKE_OC_FAI copypaste edit entry images/lists/edit.png remove entry FAKE_OC_IsBranch images/lists/trash.png
gosa-plugin-fai-2.7.4/admin/fai/class_faiScript.inc0000644000175000017500000004077411613742614021156 0ustar cajuscajusdn =$dn; /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ $res = FAI::get_all_objects_for_given_base($this->dn,"(&(objectClass=FAIclass)(objectClass=".$this->subClass."))"); foreach($res as $obj){ /* Skip not relevant objects */ if(!preg_match("/".preg_quote($this->dn, '/')."$/i",$obj['dn'])) continue; $objects = array(); $objects['status'] = "FreshLoaded"; $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subAttributes); $this->SubObjects[$objects['cn']] = $objects; } } $this->is_new = FALSE; if($this->dn == "new"){ $this->is_new =TRUE; } $this->ui = get_userinfo(); $this->scriptListWidget= new sortableListing($this->convertList(TRUE), $this->convertList()); $this->scriptListWidget->setDeleteable(true); $this->scriptListWidget->setInstantDelete(false); $this->scriptListWidget->setEditable(true); $this->scriptListWidget->setWidth("100%"); $this->scriptListWidget->setHeight("140px"); $this->scriptListWidget->setHeader(array(_("Name"),_("Description"))); } function convertList($type = FALSE) { $data = array(); $s_acl = $this->ui->get_permissions($this->dn,"fai/faiScriptEntry","FAIscript"); foreach($this->SubObjects as $cn => $entry){ if($entry['status'] == "delete") continue; if($type){ $data[$cn] = $entry; }else{ if(!isset($entry['description'])) $entry['description']=""; $data[$cn] = array('data' => array($entry['cn'], $entry['description'])); } } return($data); } /* Reload some attributes */ function get_object_attributes($object,$attributes) { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->cat($object['dn'],$attributes); $tmp = $ldap->fetch(); foreach($attributes as $attrs){ if(isset($tmp[$attrs][0])){ $var = $tmp[$attrs][0]; /* Check if we must decode some attributes */ if(in_array_ics($attrs,$this->sub64coded)){ $var = base64_decode($var); } /* check if this is a binary entry */ if(in_array_ics($attrs,$this->subBinary)){ $var = $ldap->get_attribute($object['dn'], $attrs,$r_array=0); } $object[$attrs] = $var; } } return($object); } /* Return a valid dn to fetch acls. Because 'new' will not work. */ function acl_base_for_current_object($dn) { if($dn == "new" || $dn == ""){ if($this->dn == "new"){ $dn= $this->parent->parent->acl_base; }else{ $dn = $this->dn; } } return($dn); } function execute() { /* Call parent execute */ plugin::execute(); if($this->is_account && !$this->view_logged){ $this->view_logged = TRUE; new log("view","fai/".get_class($this),$this->dn); } /* Fill templating stuff */ $smarty= get_smarty(); $display= ""; /* Add new sub object */ if(isset($_POST['AddSubObject']) && !preg_match("/freeze/i",$this->FAIstate)){ $this->dialog= new $this->subClassName($this->config,"new"); $this->dialog->FAIstate = $this->FAIstate; $this->dialog->set_acl_base($this->acl_base); $this->dialog->set_acl_category("fai"); $this->dialog->parent = &$this; $this->is_dialog=true; } if($this->dn != "new"){ set_object_info($this->dn); } $this->scriptListWidget->setAcl($this->getacl("")); $this->scriptListWidget->save_object(); $action = $this->scriptListWidget->getAction(); if($action['action'] =="edit"){ $s_entry = $this->scriptListWidget->getKey($action['targets'][0]); if(isset($this->SubObjects[$s_entry])){ $obj = $this->SubObjects[$s_entry]; if($obj['status'] == "FreshLoaded"){ $obj = $this->get_object_attributes($obj,$this->sub_Load_Later); } /* Create new dialog and set acl attributes */ $this->dialog= new $this->subClassName($this->config,$this->dn,$obj); $this->dialog->FAIstate = $this->FAIstate; $this->dialog->set_acl_base($this->acl_base_for_current_object($obj['dn'])); $this->dialog->set_acl_category("fai"); /* Assign some additional dialog informations like headline and parent */ set_object_info($obj['dn']); $this->dialog->parent = &$this; $this->is_dialog=true; } } /* Check acls, are we allowed to delete an entry */ if($action['action'] =="delete"){ $s_entry = $this->scriptListWidget->getKey($action['targets'][0]); if(isset($this->SubObjects[$s_entry])){ $entry = $this->SubObjects[$s_entry]; $acl = $this->ui->get_permissions($this->acl_base_for_current_object($entry['dn']),"fai/faiScriptEntry") ; if(preg_match("/d/",$acl)){ $status = $entry['status']; if($status == "edited" || $status == "FreshLoaded"){ $this->SubObjects[$s_entry]['status']= "delete"; }else{ unset($this->SubObjects[$s_entry]); } } } } /* Save the edited entry */ if(isset($_POST['SaveSubObject'])){ /* Check if there are still errors remaining that must be fixed before saving */ $this->dialog->save_object(); $msgs = $this->dialog->check(); if(count($msgs)>0){ foreach($msgs as $msg){ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG); } }else{ /* Get return object */ $obj = $this->dialog->save(); /* If we have renamed the script entry, we must remove the old entry */ if(isset($obj['remove'])){ /* Get old entry values */ $old_stat = $this->SubObjects[$obj['remove']['from']]['status']; /* Depending on status, set new status */ if($old_stat == "edited" || $old_stat == "FreshLoaded"){ $this->SubObjects[$obj['remove']['from']]['status'] = "delete"; }elseif($this->SubObjects[$obj['remove']['from']]['status']=="new"){ unset($this->SubObjects[$obj['remove']['from']]); } /* Append the new entry */ $obj['status'] = "new"; $this->SubObjects[$obj['remove']['to']] = $obj; unset($this->SubObjects[$obj['remove']['to']]['remove']); }else{ /* Set new status and append the entry */ if($obj['status'] == "FreshLoaded"){ $obj['status'] = "edited"; } $this->SubObjects[$obj['cn']]=$obj; } $this->is_dialog=false; unset($this->dialog); $this->dialog=FALSE; } } /* Cancel Dialog */ if(isset($_POST['CancelSubObject'])){ $this->is_dialog=false; unset($this->dialog); $this->dialog=FALSE; } /* Print dialog if $this->dialog is set */ if(is_object($this->dialog)){ $this->dialog->save_object(); $display = $this->dialog->execute(); return($display); } $this->scriptListWidget->setListData($this->convertList(TRUE), $this->convertList()); $this->scriptListWidget->update(); $smarty->assign("Entry_listing",$this->scriptListWidget->render()); /* Magic quotes GPC, escapes every ' " \, to solve some security risks * If we post the escaped strings they will be escaped again */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); } $dn = $this->acl_base_for_current_object($this->dn); $smarty->assign("sub_object_is_addable", preg_match("/c/",$this->ui->get_permissions($dn,"fai/faiScriptEntry")) && !preg_match("/freeze/",$this->FAIstate)); $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translated){ $smarty->assign($name."ACL",$this->getacl($name)); } $display.= $smarty->fetch(get_template_path('faiScript.tpl', TRUE)); return($display); } /* Delete me, and all my subtrees */ function remove_from_parent() { if($this->acl_is_removeable()){ $ldap = $this->config->get_ldap_link(); $ldap->cd ($this->dn); $release = $this->parent->parent->fai_release; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $this->dn); new log("remove","fai/".get_class($this),$use_dn,$this->attributes); FAI::prepare_to_save_FAI_object($use_dn,array(),true); foreach($this->SubObjects as $name => $obj){ $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $obj['dn']); FAI::prepare_to_save_FAI_object($use_dn,array(),true); } $this->handle_post_events("remove"); } } /* Save data to object */ function save_object() { if((isset($_POST['FAIscript_posted'])) && !preg_match("/freeze/", $this->FAIstate)){ plugin::save_object(); } /* Get sort order */ if(isset($_GET['sort']) && in_array_strict($_GET['sort'],array("name","priority"))){ if($this->sort_by == $_GET['sort']){ if($this->sort_order == "up"){ $this->sort_order = "down"; }elseif($this->sort_order == "down"){ $this->sort_order = "up"; } } $this->sort_by = $_GET['sort']; } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); /* Ensure that we do not overwrite an allready existing entry */ if($this->is_new){ $release = $this->parent->parent->fai_release; $new_dn= 'cn='.$this->cn.",".get_ou("faiScript", "faiScriptRDN").get_ou("faiManagement", "faiBaseRDN").$release; $res = faiManagement::check_class_name("FAIscript",$this->cn,$new_dn); if(isset($res[$this->cn])){ $message[] = msgPool::duplicated(_("Name")); } } return ($message); } /* Save to LDAP */ function save() { plugin::save(); $ldap = $this->config->get_ldap_link(); FAI::prepare_to_save_FAI_object($this->dn,$this->attrs); if($this->initially_was_account){ new log("modify","fai/".get_class($this),$this->dn,$this->attributes); }else{ new log("create","fai/".get_class($this),$this->dn,$this->attributes); } /* Prepare FAIscriptEntry to write it to ldap * First sort array. * Because we must delete old entries first. * After deletion, we perform add and modify */ $Objects = array(); /* We do not need to save untouched objects */ foreach($this->SubObjects as $name => $obj){ if($obj['status'] == "FreshLoaded"){ unset($this->SubObjects[$name]); } } foreach($this->SubObjects as $name => $obj){ if($obj['status'] == "delete"){ $Objects[$name] = $obj; } } foreach($this->SubObjects as $name => $obj){ if($obj['status'] != "delete"){ $Objects[$name] = $obj; } } foreach($Objects as $name => $obj){ foreach($this->sub64coded as $codeIt){ $obj[$codeIt]=base64_encode($obj[$codeIt]); } $tmp = array(); $attributes = array_merge($this->sub_Load_Later,$this->subAttributes); foreach($attributes as $attrs){ if(!isset($obj[$attrs])) continue; if($obj[$attrs] == ""){ $obj[$attrs] = array(); } $tmp[$attrs] = $obj[$attrs]; } $tmp['objectClass'] = $this->subClasses; $sub_dn = "cn=".$obj['cn'].",".$this->dn; if($obj['status']=="new"){ $ldap->cat($sub_dn,array("objectClass")); if($ldap->count()){ $obj['status']="edited"; } } if(empty($tmp['FAIpriority'])){ $tmp['FAIpriority'] ="0"; } /* Tag object */ $this->tag_attrs($tmp, $sub_dn, $this->gosaUnitTag); if($obj['status'] == "delete"){ FAI::prepare_to_save_FAI_object($sub_dn,array(),true); $this->handle_post_events("remove"); }elseif($obj['status'] == "edited"){ FAI::prepare_to_save_FAI_object($sub_dn,$tmp); $this->handle_post_events("modify"); }elseif($obj['status']=="new"){ FAI::prepare_to_save_FAI_object($sub_dn,$tmp); $this->handle_post_events("add"); } } } function PrepareForCopyPaste($source) { plugin::PrepareForCopyPaste($source); /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ $res = FAI::get_all_objects_for_given_base($source['dn'],"(&(objectClass=FAIclass)(objectClass=".$this->subClass."))"); foreach($res as $obj){ /* Skip not relevant objects */ if(!preg_match("/".preg_quote($source['dn'], '/')."$/i",$obj['dn'])) continue; $objects = array(); $objects['status'] = "edited"; $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subAttributes); $objects = $this->get_object_attributes($objects,$this->sub_Load_Later); $this->SubObjects[$objects['cn']] = $objects; } } /*! \brief Used for copy & paste. Returns a HTML input mask, which allows to change the cn of this entry. @param Array Array containing current status && a HTML template. */ function getCopyDialog() { $vars = array("cn"); $smarty = get_smarty(); $smarty->assign("cn", set_post($this->cn)); $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE)); $ret = array(); $ret['string'] = $str; $ret['status'] = ""; return($ret); } /*! \brief Used for copy & paste. Some entries must be renamed to avaoid duplicate entries. */ function saveCopyDialog() { if(isset($_POST['cn'])){ $this->cn = get_post('cn'); } } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Script"), "plDescription" => _("FAI script"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 18, "plSection" => array("administration"), "plCategory" => array("fai"), "plProperties" => array( array( "name" => "faiScriptRDN", "type" => "rdn", "default" => "ou=scripts,", "description" => _("RDN for FAI script storage."), "check" => "gosaProperty::isRdn", "migrate" => "migrate_faiScriptRDN", "group" => "plugin", "mandatory" => TRUE ) ), "plProvidedAcls" => array( "cn" => _("Name")." ("._("Read-only").")", "description" => _("Description")) )); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/migration/0000755000175000017500000000000011752422555017332 5ustar cajuscajusgosa-plugin-fai-2.7.4/admin/fai/migration/class_migrate_faiPackageRDN.inc0000644000175000017500000000022711373205225025272 0ustar cajuscajus gosa-plugin-fai-2.7.4/admin/fai/migration/class_migrate_faiVariableRDN.inc0000644000175000017500000000022511373205225025462 0ustar cajuscajus gosa-plugin-fai-2.7.4/admin/fai/migration/class_migrate_faiTemplateRDN.inc0000644000175000017500000000022511373205225025510 0ustar cajuscajus gosa-plugin-fai-2.7.4/admin/fai/migration/class_migrate_faiBaseRDN.inc0000644000175000017500000000301611375206240024610 0ustar cajuscajusfound = array(); $ldap= $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $initialValue = $this->prefix.$this->property->getValue().$this->suffix; $targetValue = $this->prefix.$this->property->getValue(TRUE).$this->suffix; if(!empty($initialValue) && !preg_match("/,$/", $initialValue)) $initialValue.=","; if(!empty($targetValue) && !preg_match("/,$/", $targetValue)) $targetValue.=","; $from = $initialValue.$this->config->current['BASE']; $to = $targetValue.$this->config->current['BASE']; if($initialValue != $targetValue && $ldap->dn_exists($from)){ $toParent = preg_replace("/^[^,]*+,/","",$to); if(!$ldap->dn_exists($toParent)){ $this->found['add'][$toParent] = array(); } $this->found['move'][] = array('from'=>$from, 'to'=>$to); return(TRUE); } return(FALSE); } function _execute() { $str = "

"._("The storage position for FAI object has changed!")."

"; # $str.= _("Unfortunately, GOsa can not perform the necessary steps automatically to migrate the FAI objects. You have to do this manually, to keep the System deployment in a usable state!"); $str .= migrateFaiRDN::execute(); return($str); } } ?> gosa-plugin-fai-2.7.4/admin/fai/migration/class_migrate_faiProfileRDN.inc0000644000175000017500000000022311373205225025333 0ustar cajuscajus gosa-plugin-fai-2.7.4/admin/fai/migration/class_migrate_faiScriptRDN.inc0000644000175000017500000000022111373205225025175 0ustar cajuscajus gosa-plugin-fai-2.7.4/admin/fai/migration/class_migrate_faiHookRDN.inc0000644000175000017500000000021511373205225024634 0ustar cajuscajus gosa-plugin-fai-2.7.4/admin/fai/migration/class_migrate_faiPartitionRDN.inc0000644000175000017500000000023411373205225025706 0ustar cajuscajus gosa-plugin-fai-2.7.4/admin/fai/migration/class_migrateFaiRDN.inc0000644000175000017500000000656611375206240023633 0ustar cajuscajusfound = array(); $ldap= $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap2= $this->config->get_ldap_link(); $ldap2->cd($this->config->current['BASE']); // If the userRDN wasn't empty, then only search for users inside of the old userRDN. $initialValue = $this->prefix.$this->property->getValue().$this->suffix; $targetValue = $this->prefix.$this->property->getValue(TRUE).$this->suffix; if(!empty($initialValue) && !preg_match("/,$/", $initialValue)) $initialValue.=","; if(!empty($targetValue) && !preg_match("/,$/", $targetValue)) $targetValue.=","; $dnMatch = ""; if(!empty($initialValue)){ foreach(preg_split("/,/", $initialValue) as $rdnPart){ if(empty($rdnPart)) continue; list($namingAttrs, $container) = preg_split("/=/",$rdnPart,2); $container = trim($container,', '); $dnMatch.= "({$namingAttrs}:dn:={$container})"; } } // Collect all FAI releases - this is nescessary to detect the release part // of the dn $ldap->cd($this->config->current['BASE']); $releases = array(); $ldap->search("(objectClass=FAIbranch)",array('dn')); while($attrs = $ldap->fetch()){ $releases[$attrs['dn']] = $attrs['dn']; } // Add release bases $faiBase = $this->config->get_cfg_value('faiManagement','faiBaseRDN').$this->config->current['BASE']; $releases[$faiBase] = $faiBase; // Search for users $filter = sprintf($this->filter,$dnMatch); $ldap->search($filter,array('dn')); $found = FALSE; while($attrs = $ldap->fetch()){ // Detect release dn $releaseDn = $attrs['dn']; while(!isset($releases[$releaseDn]) && !isset($this->config->idepartments[$releaseDn])){ $releaseDn = preg_replace("/^[^,]+,/","",$releaseDn); } // Build up the new dn $name = preg_replace("/^([^,]*+,).*$/","\\1",$attrs['dn']); $newDn = $name.$targetValue.$releaseDn; // Check if we've to create new sub departments if(!$ldap2->dn_exists($targetValue.$releaseDn)){ $this->found['add'][$targetValue.$releaseDn] = array(); } // Queue object to be moved. if($newDn != $attrs['dn']){ $this->found['move'][] = array('from' => $attrs['dn'], 'to' => $newDn); $found = TRUE; } } return($found); } } ?> gosa-plugin-fai-2.7.4/admin/fai/class_faiTemplate.inc0000644000175000017500000004431711655723313021463 0ustar cajuscajusdn =$dn; /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ $res = FAI::get_all_objects_for_given_base($this->dn,"(&(objectClass=FAIclass)(objectClass=".$this->subClass."))"); foreach($res as $obj){ /* Skip not relevant objects */ if(!preg_match("/".preg_quote($this->dn, '/')."$/i",$obj['dn'])) continue; $objects = array(); $objects['status'] = "FreshLoaded"; $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subAttributes); $this->SubObjects[$objects['cn']] = $objects; } } $this->is_new = FALSE; if($this->dn == "new"){ $this->is_new =TRUE; } $this->ui = get_userinfo(); // Prepare lists $this->templateList = new sortableListing(); $this->templateList->setInstantDelete(false); $this->templateList->setDeleteable(true); $this->templateList->setEditable(true); $this->templateList->setWidth("100%"); $this->templateList->setHeight("220px"); $this->templateList->setColspecs(array('*','18px')); $this->templateList->setHeader(array(_("Name"),"")); $this->templateList->setDefaultSortColumn(0); } /* Reload some attributes */ function get_object_attributes($object,$attributes) { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->cat($object['dn'],$attributes); $tmp = $ldap->fetch(); foreach($attributes as $attrs){ if(isset($tmp[$attrs][0])){ $var = $tmp[$attrs][0]; /* Check if we must decode some attributes */ if(in_array_ics($attrs,$this->sub64coded)){ $var = base64_decode($var); } /* check if this is a binary entry */ if(in_array_ics($attrs,$this->subBinary)){ $var = $ldap->get_attribute($object['dn'], $attrs,$r_array=0); } $object[$attrs] = $var; } } return($object); } function execute() { /* Call parent execute */ plugin::execute(); if($this->is_account && !$this->view_logged){ $this->view_logged = TRUE; new log("view","fai/".get_class($this),$this->dn); } /* Fill templating stuff */ $smarty= get_smarty(); $display= ""; /* New Listhandling */ $this->templateList->save_object(); $action = $this->templateList->getAction(); if($action['action'] == 'delete'){ $id = $this->templateList->getKey($action['targets'][0]); $obj = $this->SubObjects[$id]; $acl_dn = $this->acl_base_for_current_object($obj['dn']); $acl = $this->ui->get_permissions($acl_dn,"fai/faiTemplateEntry"); if(preg_match("/d/",$acl)){ $status = $this->SubObjects[$id]['status']; if($status == "edited" || $status == "FreshLoaded"){ $this->SubObjects[$id]['status']= "delete"; }else{ unset($this->SubObjects[$id]); } } } if($action['action'] == 'edit'){ $id = $this->templateList->getKey($action['targets'][0]); $obj = $this->SubObjects[$id]; $acl_dn = $this->acl_base_for_current_object($obj['dn']); $acl = $this->ui->get_permissions($acl_dn,"fai/faiTemplateEntry"); if(preg_match("/r/",$acl)){ if($obj['status'] == "FreshLoaded"){ $obj = $this->get_object_attributes($obj,$this->sub_Load_Later); } $this->dialog= new $this->subClassName($this->config,$this->dn,$obj); $this->dialog->set_acl_base($this->acl_base); $this->dialog->FAIstate = $this->FAIstate; $this->dialog->set_acl_category("fai"); set_object_info($obj['dn']); $this->dialog->parent = &$this; $this->is_dialog=true; } } $once = true; foreach($_POST as $name => $value){ if(preg_match("/^download_/",$name)&&($once) && !preg_match("/freeze/",$this->FAIstate)){ $once = false; $entry = postDecode(preg_replace("/^download_/","",$name)); $obj = $this->SubObjects[$entry]; $obj = $this->get_object_attributes($obj,$this->sub_Load_Later); if(!isset($obj['cn'])){ trigger_error("Something wen't wrong here!"); }else{ send_binary_content($obj['FAItemplateFile'],$obj['cn'].".FAItemplate"); } } } /* Edit entries via GET */ if(isset($_GET['act']) && isset($_GET['id'])){ if($_GET['act'] == "edit" && isset($this->SubObjects[$_GET['id']])){ $obj = $this->SubObjects[$_GET['id']]; if($obj['status'] == "FreshLoaded"){ $obj = $this->get_object_attributes($obj,$this->sub_Load_Later); } $this->dialog= new $this->subClassName($this->config,$this->dn,$obj); $this->dialog->FAIstate = $this->FAIstate; $this->dialog->acl = $this->acl; $this->dialog->set_acl_category("fai"); set_object_info($obj['dn']); $this->dialog->parent = &$this; $this->is_dialog=true; } } /* Add new sub object */ if(isset($_POST['AddSubObject']) && !preg_match("/freeze/",$this->FAIstate)){ $acl_dn = $this->acl_base_for_current_object($this->dn); $acl = $this->ui->get_permissions($acl_dn,"fai/faiTemplateEntry"); if(preg_match("/c/",$acl)){ $this->dialog= new $this->subClassName($this->config,"new"); $this->dialog->set_acl_base($this->acl_base); $this->dialog->FAIstate = $this->FAIstate; $this->dialog->set_acl_category("fai"); $this->dialog->parent = &$this; $this->is_dialog=true; } } if($this->dn != "new"){ set_object_info($this->dn); } /* Save Dialog */ if(isset($_POST['SaveSubObject']) && is_object($this->dialog)){ $this->dialog->save_object(); $msgs = $this->dialog->check(); if(count($msgs)>0){ foreach($msgs as $msg){ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG); } }else{ /* Get return object */ $obj = $this->dialog->save(); if(isset($obj['remove'])){ $old_stat = $this->SubObjects[$obj['remove']['from']]['status']; /* Depending on status, set new status */ if($old_stat == "edited" || $old_stat == "FreshLoaded"){ $this->SubObjects[$obj['remove']['from']]['status'] = "delete"; }elseif($this->SubObjects[$obj['remove']['from']]['status']=="new"){ unset($this->SubObjects[$obj['remove']['from']]); } $obj['status'] = "new"; $this->SubObjects[$obj['remove']['to']] = $obj; unset($this->SubObjects[$obj['remove']['to']]['remove']); }else{ if($obj['status'] == "FreshLoaded"){ $obj['status'] = "edited"; } $this->SubObjects[$obj['cn']]=$obj; } $this->is_dialog=false; unset($this->dialog); $this->dialog=FALSE; } } /* Sort entries */ $tmp = $keys = array(); foreach($this->SubObjects as $key => $entry){ $keys[$key]=$key; } natcasesort($keys); foreach($keys as $key){ $tmp[$key]=$this->SubObjects[$key]; } $this->SubObjects = $tmp; /* Cancel Dialog */ if(isset($_POST['CancelSubObject'])){ $this->is_dialog=false; unset($this->dialog); $this->dialog=FALSE; } /* Print dialog if $this->dialog is set */ if(is_object($this->dialog)){ $this->dialog->save_object(); $display = $this->dialog->execute(); return($display); } /* list Containing FAItemplates */ $dn = $this->acl_base_for_current_object($this->dn); $acl = $this->ui->get_permissions($dn,"fai/faiTemplateEntry") ; $this->templateList->setAcl($acl,preg_match('/^freeze/', $this->FAIstate)); $tmp = $this->getList(true); $data = $lData = array(); foreach($this->SubObjects as $key => $name){ /* Skip removed entries */ if($name['status'] == "delete") continue; $act = ""; /* Check acls for download icon */ $dn = $this->acl_base_for_current_object($name['dn']); $s_acl = $this->ui->get_permissions($dn,"fai/faiTemplateEntry","FAItemplateFile") ; if(($this->SubObjects[$key]['status'] == "new") || ($this->SubObjects[$key]['dn'] == "new") || !preg_match("/r/",$s_acl)){ $down = ""; }else{ $down = image('images/save.png','download_'.postEncode($key), _("Download")); } $data[$key] = $key; $lData[$key] = array('data' => array($name['cn'], $down)); } $this->templateList->setListData($data,$lData); $this->templateList->update(); $smarty->assign("Entry_listing",$this->templateList->render()); /* Magic quotes GPC, escapes every ' " \, to solve some security risks * If we post the escaped strings they will be escaped again */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); } $dn = $this->acl_base_for_current_object($this->dn); $smarty->assign("sub_object_is_addable", preg_match("/c/",$this->ui->get_permissions($dn,"fai/faiTemplateEntry")) && !preg_match("/freeze/",$this->FAIstate)); foreach($this->attributes as $attr){ $smarty->assign($attr."ACL",$this->getacl($attr, preg_match("/freeze/",$this->FAIstate))); } $display.= $smarty->fetch(get_template_path('faiTemplate.tpl', TRUE)); return($display); } function acl_base_for_current_object($dn) { if($dn == "new" || $dn == ""){ if($this->dn == "new"){ $dn = $dn= $this->parent->parent->acl_base; }else{ $dn = $this->dn; } } return($dn); } /* Generate listbox friendly SubObject list */ function getList(){ $a_return=array(); foreach($this->SubObjects as $obj){ if($obj['status'] != "delete"){ if((isset($obj['description']))&&(!empty($obj['description']))){ if(strlen($obj['description']) > 40){ $obj['description'] = substr($obj['description'],0,40)."..."; } $a_return[$obj['cn']]= $obj['cn']." [".$obj['description']."]"; }else{ $a_return[$obj['cn']]= $obj['cn']; } } } return($a_return); } /* Delete me, and all my subtrees */ function remove_from_parent() { if($this->acl_is_removeable()){ $ldap = $this->config->get_ldap_link(); $ldap->cd ($this->dn); $release = $this->parent->parent->fai_release; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn, '/'))."/i", $release, $this->dn); new log("remove","fai/".get_class($this),$use_dn,$this->attributes); FAI::prepare_to_save_FAI_object($use_dn,array(),true); foreach($this->SubObjects as $name => $obj){ $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $obj['dn']); FAI::prepare_to_save_FAI_object($use_dn,array(),true); } $this->handle_post_events("remove"); } } /* Save data to object */ function save_object() { if((isset($_POST['FAItemplate_posted'])) && (!preg_match("/freeze/",$this->FAIstate))){ plugin::save_object(); } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); /* Ensure that we do not overwrite an allready existing entry */ if($this->is_new){ $release = $this->parent->parent->fai_release; $new_dn= 'cn='.$this->cn.",".get_ou("faiTemplate", "faiTemplateRDN").get_ou("faiManagement", "faiBaseRDN").$release; $res = faiManagement::check_class_name("FAItemplate",$this->cn,$new_dn); if(isset($res[$this->cn])){ $message[] = msgPool::duplicated(_("Name")); } } return ($message); } /* Save to LDAP */ function save() { plugin::save(); $ldap = $this->config->get_ldap_link(); FAI::prepare_to_save_FAI_object($this->dn,$this->attrs); if($this->initially_was_account){ new log("modify","fai/".get_class($this),$this->dn,$this->attributes); }else{ new log("create","fai/".get_class($this),$this->dn,$this->attributes); } /* Prepare FAIscriptEntry to write it to ldap * First sort array. * Because we must delete old entries first. * After deletion, we perform add and modify */ $Objects = array(); $tmp = $this->SubObjects; foreach($tmp as $name => $obj){ if($obj['status'] == "FreshLoaded"){ unset($tmp[$name]); } } foreach($tmp as $name => $obj){ if($obj['status'] == "delete"){ $Objects[$name] = $obj; } } foreach($tmp as $name => $obj){ if($obj['status'] != "delete"){ $Objects[$name] = $obj; } } foreach($Objects as $name => $obj){ foreach($this->sub64coded as $codeIt){ $obj[$codeIt]=base64_encode($obj[$codeIt]); } $tmp = array(); $attributes = array_merge($this->sub_Load_Later,$this->subAttributes); foreach($attributes as $attrs){ if(!isset($obj[$attrs]) || $obj[$attrs] == ""){ $obj[$attrs] = array(); } $tmp[$attrs] =($obj[$attrs]); } $tmp['objectClass'] = $this->subClasses; $sub_dn = "cn=".$obj['cn'].",".$this->dn; if($obj['status']=="new"){ $ldap->cat($sub_dn,array("objectClass")); if($ldap->count()){ $obj['status']="edited"; } } /* Tag object */ $this->tag_attrs($tmp, $sub_dn, $this->gosaUnitTag); if($obj['status'] == "delete"){ FAI::prepare_to_save_FAI_object($sub_dn,array(),true); $this->handle_post_events("remove"); }elseif($obj['status'] == "edited"){ FAI::prepare_to_save_FAI_object($sub_dn,$tmp); $this->handle_post_events("modify"); }elseif($obj['status']=="new"){ FAI::prepare_to_save_FAI_object($sub_dn,$tmp); $this->handle_post_events("add"); } } } function PrepareForCopyPaste($source) { plugin::PrepareForCopyPaste($source); /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ $res = FAI::get_all_objects_for_given_base($source['dn'],"(&(objectClass=FAIclass)(objectClass=".$this->subClass."))"); foreach($res as $obj){ /* Skip not relevant objects */ if(!preg_match("/".preg_quote($source['dn'], '/')."$/i",$obj['dn'])) continue; $objects = array(); $objects['status'] = "edited"; $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subAttributes); $objects = $this->get_object_attributes($objects,$this->sub_Load_Later); $this->SubObjects[$objects['cn']] = $objects; } } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Template"), "plDescription" => _("FAI template"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 24, "plSection" => array("administration"), "plCategory" => array("fai"), "plProperties" => array( array( "name" => "faiTemplateRDN", "type" => "rdn", "default" => "ou=templates,", "description" => _("RDN for FAI template storage."), "check" => "gosaProperty::isRdn", "migrate" => "migrate_faiTemplateRDN", "group" => "plugin", "mandatory" => TRUE)), "plProvidedAcls" => array( "cn" => _("Name")." ("._("Read-only").")", "description" => _("Description")) )); } /*! \brief Used for copy & paste. Returns a HTML input mask, which allows to change the cn of this entry. @param Array Array containing current status && a HTML template. */ function getCopyDialog() { $vars = array("cn"); $smarty = get_smarty(); $smarty->assign("cn", set_post($this->cn)); $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE)); $ret = array(); $ret['string'] = $str; $ret['status'] = ""; return($ret); } /*! \brief Used for copy & paste. Some entries must be renamed to avaoid duplicate entries. */ function saveCopyDialog() { if(isset($_POST['cn'])){ $this->cn = get_post('cn'); } } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/class_faiPackageConfiguration.inc0000644000175000017500000000604211000620554023747 0ustar cajuscajusobj = $obj; $this->release = $release; $this->pkg_config = $pkg_config; /* Read pkg debconf info from gosaSupportDaemon */ $q = new gosaSupportDaemon(); $ret = $q->FAI_get_packages($this->release,array("package","template"),array($this->obj)); if($q->is_error()){ msg_dialog::display(_("Service infrastructure"),msgPool::siError($q->get_error()),ERROR_DIALOG); } /* If we do not get a useable answer, use an empty template */ $tpl = ""; if(isset($ret['ANSWER1']) && isset($ret['ANSWER1']['TEMPLATE'])){ $tpl = base64_decode($ret['ANSWER1']['TEMPLATE']); } /* Create package configuration mask */ $this->Debconf_handle = new debconf(preg_replace('/_.*$/', '', get_browser_language())); $this->Debconf_handle->load_from_string($tpl); if($this->Debconf_handle->has_template()){ foreach($this->pkg_config as $var){ $this->Debconf_handle->SetDefault($var['Name'],$var['Value']); } } } /*! \brief Returns a html interface, that allow to modify the package attributes. @return String HTML content/ui for this plugin */ function execute() { /* Call parent execute */ plugin::execute(); /* Fill templating stuff */ $smarty = get_smarty(); $smarty->assign("headline", sprintf(_("Debconf information for package '%s'"), $this->obj)); $this->Debconf_handle->PostCheck(); $smarty->assign("Config",$this->Debconf_handle->get_dialog()); return($smarty->fetch(get_template_path('faiPackageConfiguration.tpl', TRUE))); } /* Save data to object */ function save_object() { } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); return ($message); } /*! \brief Returns an array with all configured attributes @return Array All configured attributes. */ function save() { $this->Debconf_handle->PostCheck(); $pkgs = $this->Debconf_handle->template; $tmp = array(); foreach($pkgs as $pkg){ $tmp[$this->obj][$pkg['Name']]['Value']= $pkg['Default']; $tmp[$this->obj][$pkg['Name']]['Name'] = $pkg['Name']; $tmp[$this->obj][$pkg['Name']]['Type'] = $pkg['Type']; } return($tmp); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/class_faiVariableEntry.inc0000644000175000017500000000744011415560742022452 0ustar cajuscajusorig_cn= $object['cn']; $this->dn=$object['dn']; foreach($object as $name=>$value){ $oname = $name; $this->$oname=($value); } }else{ $this->status = "new"; $this->orig_cn = false; } } function execute() { /* Call parent execute */ plugin::execute(); /* Fill templating stuff */ $smarty = get_smarty(); $display = ""; /* Magic quotes GPC, escapes every ' " \, to solve some security risks * If we post the escaped strings they will be escaped again */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); } $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translated){ $acl = $this->getacl($name, preg_match("/freeze/",$this->FAIstate)); $smarty->assign($name."ACL",$acl); } $smarty->assign("freeze",preg_match("/freeze/",$this->FAIstate)); $display.= $smarty->fetch(get_template_path('faiVariableEntry.tpl', TRUE)); return($display); } /* Save data to object */ function save_object() { if((isset($_POST['SubObjectFormSubmitted'])) && !preg_match("/freeze/", $this->FAIstate)){ foreach($this->attributes as $attrs){ if($this->acl_is_writeable($attrs)){ if(isset($_POST[$attrs])){ $this->$attrs = get_post($attrs); }else{ $this->$attrs = ""; } } } } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); if(isset($this->parent->SubObjects[$this->cn]) && $this->cn != $this->orig_cn && $this->parent->SubObjects[$this->cn]['status'] != 'delete'){ $message[] = msgPool::duplicated(_("Name")); } if($this->FAIvariableContent == "") { $message[]= msgPool::required(_("Content")); } $c = trim($this->cn); if($c == ""){ $message[] = msgPool::required(_("Name")); } if(preg_match("/[^a-z0-9_\-]/i",$c)){ $message[] = msgPool::invalid(_("Name"),$c,"/[a-z0-9_\-]/i"); } return ($message); } function save() { $tmp=array(); foreach($this->attributes as $attrs){ $tmp[$attrs] = $this->$attrs; } if(($this->orig_cn)&&($tmp['cn']!=$this->orig_cn)){ $tmp['remove']['from'] = $this->orig_cn; $tmp['remove']['to'] = $tmp['cn']; } $tmp['dn'] = $this->dn; $tmp['status'] = $this->status; return($tmp); } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Variable entry"), "plDescription" => _("FAI variable entry "), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 23, "plSection" => array("administration"), "plCategory" => array("fai"), "plProvidedAcls" => array( "cn" => _("Name"), "description" => _("Description"), "FAIvariableContent"=> _("Variable content") ) )); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/class_faiGroupHandle.inc0000644000175000017500000001004111613742614022102 0ustar cajuscajusmode = $Action; }else{ trigger_error("Wrong action type '".$Action."'."); exit(); } /* Preset required values */ $select_set = FALSE; foreach($FAI_group as $type => $data){ $FAI_group[$type]['selected'] = FALSE; $FAI_group[$type]['freezed'] = isset($data['FAIstate']) && preg_match("/freeze/",$data['FAIstate']); if(!$select_set && ($this->mode == "cut" || $this->mode == "edit") && !$FAI_group[$type]['freezed']){ $FAI_group[$type]['selected'] = TRUE; $select_set =TRUE; } } $this->FAI_group = $FAI_group; } function execute() { $smarty = get_smarty(); $smarty->assign("FAI_group",$this->FAI_group); $smarty->assign("types",$this->get_types()); $smarty->assign("mode",$this->mode); return($smarty->fetch(get_template_path("faiGroupHandle.tpl",TRUE,dirname(__FILE__)))); } function save_object() { if(isset($_POST['faiGroupHandle'])){ if(in_array_strict($this->mode,array("copy","cut","remove"))){ foreach($this->FAI_group as $key => $group){ if(isset($_POST[$this->mode."_".$key])){ $this->FAI_group[$key]['selected'] = TRUE; }else{ $this->FAI_group[$key]['selected'] = FALSE; } } }else{ if(isset($_POST['edit_selected']) && isset($this->FAI_group[get_post('edit_selected')])){ foreach($this->FAI_group as $key => $obj){ $this->FAI_group[$key]['selected'] = FALSE; } $this->FAI_group[get_post('edit_selected')]['selected'] = TRUE; } } if(isset($_POST['faiGroupHandle_apply']) || isset($_POST['faiGroupHandle_cancel'])){ $this->open = FALSE; } if(isset($_POST['faiGroupHandle_cancel'])){ $this->canceled = TRUE; } } } function is_open() { return($this->open); } function is_canceled() { return($this->canceled); } function get_mode() { return($this->mode); } function get_selected() { $ret= array(); foreach($this->FAI_group as $key => $obj){ if($obj['selected']){ $ret[$key] = $obj; } } return($ret); } function get_types() { $objects = array( "FAIpartitionTable" => array("IMG"=> "plugins/fai/images/fai_partitionTable.png", "NAME"=>_("Partition table"),"KZL"=> "PT", "VAR"=>"ShowPartitions"), "FAIpackageList" => array("IMG"=> "plugins/fai/images/fai_packages.png", "NAME"=>_("Package list") , "KZL"=> "PL", "VAR"=>"ShowPackages"), "FAIscript" => array("IMG"=> "plugins/fai/images/fai_script.png", "NAME"=>_("Scripts") , "KZL"=> "S", "VAR"=>"ShowScripts"), "FAIvariable" => array("IMG"=> "plugins/fai/images/fai_variable.png", "NAME"=>_("Variables") , "KZL"=> "V", "VAR"=>"ShowVariables"), "FAIhook" => array("IMG"=> "plugins/fai/images/fai_hook.png", "NAME"=>_("Hooks"), "KZL"=> "H", "VAR"=>"ShowHooks"), "FAIprofile" => array("IMG"=> "plugins/fai/images/fai_profile.png", "NAME"=>_("Profile") , "KZL"=> "P", "VAR"=>"ShowProfiles"), "FAItemplate" => array("IMG"=> "plugins/fai/images/fai_template.png", "NAME"=>_("Templates") , "KZL"=> "T", "VAR"=>"ShowTemplates"), "opsi_netboot" => array("IMG"=> "plugins/opsi/images/netboot_package.png", "NAME"=>_("OPSI net boot product") , "KZL"=> "ON", "VAR"=>"ShowOpsiNetboot"), "opsi_local" => array("IMG"=> "plugins/opsi/images/local_package.png", "NAME"=>_("OPSI local boot product") , "KZL"=> "OL", "VAR"=>"ShowOpsiLocal")); return($objects); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/class_filterOPSIPackages.inc0000644000175000017500000000532311613742614022640 0ustar cajuscajusget_ldap_link(); $ldap->cd($config->current['BASE']); $entries = array(); // Append opsi stuff ... if(class_available('opsi') && $base == get_ou("faiManagement", "faiBaseRDN").$config->current['BASE']){ $opsi = new opsi($config); $objects = array(); if($opsi instanceof opsi && $opsi->enabled()){ $opsi_acl = $ui->get_permissions($base,"opsi/opsiProperties"); if(preg_match("/r/",$opsi_acl)){ $err = FALSE; $n_pro = $opsi->get_netboot_products(); $err |= $opsi->is_error(); foreach($n_pro as $name => $data){ $entry = array( "cn" => $name, "description" => $data['DESC'], "type" => "opsi_netboot"); $objects[$name]['opsi_netboot'] = $entry; } $l_pro = $opsi->get_local_products(); $err |= $opsi->is_error(); foreach($l_pro as $name => $data){ $entry = array("cn" => $name, "description" => $data['DESC'], "type" => "opsi_local"); $objects[$name]["opsi_local"] = $entry; } if($err){ msg_dialog::display(_("Error"),msgPool::siError($opsi->get_error()),ERROR_DIALOG); } } } // Parse filter string list($type,$filter) = preg_split("/;/",$filter); $types = preg_split("/,/", $type); // Remove automatically added '*' from filter $filter= trim(preg_replace("/\*/",'', $filter)); if(empty($filter)){ $filter = ".*"; }else{ $filter = preg_quote($filter,'/'); } // Build up ldap like object list. foreach($objects as $name => $data) { $data = array_pop($data); // Display only requested object types if(!in_array_strict($data['type'], $types)) continue; // Filter out those entries that doesn't match the filter. if(!preg_match("/".$filter."/i", $data['cn'])){ continue; } $item =array(); $item['objectClass'] = array('count' => 2, $data['type'],"FAKE_OC_OPSI"); $item[] = 'objectClass'; $item['cn'] = $data['cn']; $item[] = 'cn'; $item['description'] = $data['description']; $item[] = 'description'; $item['dn'] = $data['cn']; $item[] = 'dn'; $item['TYPES'] = array($data['type']); $item[] = 'TYPES'; $item['count'] = '5'; $entries[] = $item; } } return($entries); } } ?> gosa-plugin-fai-2.7.4/admin/fai/askClassName.tpl0000644000175000017500000000420411373031571020420 0ustar cajuscajus
{$headline}

{t}Adding a new class to the FAI management, requires a class name. You have to specify a unique class name for unique types of FAI classes, while you can use the same class name for different types of FAI classes. In the last case, FAI will automatically enclose all these different class types to one unique class name.{/t}


{t}Please use one of the following methods to choose the name for the new FAI class.{/t}


  {t}Class name{/t} 


  {t}Class name{/t} 



 

gosa-plugin-fai-2.7.4/admin/fai/class_faiSummaryTab.inc0000644000175000017500000005143011613742614021765 0ustar cajuscajusui = get_userinfo(); /* Base object configuration */ $this->objs = array( "FAIscript" => array( "Image" =>"plugins/fai/images/fai_script.png", "Name"=>_("Scripts") ,"Tree" =>get_ou("faiScript", "faiScriptRDN")) , "FAIhook" => array( "Image" =>"plugins/fai/images/fai_hook.png" , "Name"=>_("Hooks") ,"Tree" =>get_ou("faiHook", "faiHookRDN")), "FAIvariable" => array( "Image" =>"plugins/fai/images/fai_variable.png", "Name"=>_("Variables") ,"Tree" =>get_ou("faiVariable", "faiVariableRDN")) , "FAItemplate" => array( "Image" =>"plugins/fai/images/fai_template.png", "Name"=>_("Templates") ,"Tree" =>get_ou("faiTemplate", "faiTemplateRDN")) , "FAIpartitionTable" => array( "Image" =>"plugins/fai/images/fai_partitionTable.png","Name"=>_("Partition table") ,"Tree" =>get_ou("faiPartitionTable", "faiPartitionRDN")) , "FAIpackageList" => array( "Image" =>"plugins/fai/images/fai_packages.png", "Name"=>_("Package list") ,"Tree" =>get_ou("faiPackage", "faiPackageRDN")) , "FAIprofile" => array( "Image" =>"plugins/fai/images/fai_profile.png", "Name"=>_("Profiles") ,"Tree" =>get_ou("faiProfile", "faiProfileRDN"))); } /* Init the fai tree with objects. If this method is called, all assigned classes and the release name will be read from parent object. */ function init() { $this->InitCalled = true; $this->Result = array(); /* Get classes & release name There are 2 different tabs which use the summary tab faiProfile / Workstations */ /* Check if given parent object is fai profile tabs */ if(isset($this->parent->by_name['faiProfile'])){ /* Get Classes and release */ $this->Classes = $this->parent->by_object['faiProfile']->FAIclasses; $this->base = $this->parent->by_object['faiProfile']->parent->parent->fai_release; $str = preg_replace("/^.*".preg_quote(get_ou("faiProfile", "faiProfileRDN"), '/')."/i","",$this->dn); $tmp = $this->parent->by_object['faiProfile']->parent->parent->getBranches(); $this->Release = $tmp[$this->base]; /* Check if parent tab is work tab */ }elseif(isset($this->parent->by_name['workstartup'])){ if($this->parent->by_object['workstartup']->FAIdebianMirror == "inherited"){ $this->Classes = $this->parent->by_object['workstartup']->InheritedFAIclass; $this->Release = $this->parent->by_object['workstartup']->InheritedFAIrelease; }else{ $this->Classes = $this->parent->by_object['workstartup']->FAIclass; $this->Release = $this->parent->by_object['workstartup']->FAIrelease; } /* Check if this is a workstation or an object group */ if(isset($this->parent->by_object['workgeneric'])){ $this->base = $this->parent->by_object['workgeneric']->base; }elseif(isset($this->parent->by_object['ogroup'])){ $this->base = $this->parent->by_object['ogroup']->base; }elseif(isset($this->parent->by_object['servgeneric'])){ $this->base = $this->parent->by_object['servgeneric']->base; }else{ msg_dialog::display(_("Error"), _("Unknown FAI information source!"), ERROR_DIALOG); } /* Append workstation class && LAST */ if(isset($this->parent->by_object['workgeneric']->cn)){ $this->Classes[] = $this->parent->by_object['workgeneric']->cn; } } // All FAI stuff is located on the ldap base, isn't it? $this->base = $this->config->current['BASE']; $tmp = array_flip($this->getBranches()); $this->Classes[] = "LAST"; /* You need full access to complete collection of fai acls to view this summary */ $acl = $this->ui->has_complete_category_acls($this->base,"fai"); if(!preg_match("/r/",$acl)){ $this->Classes = array(); } /* Set all available releases */ $this->Releases = $tmp; $this->usedClasses = array(); /* Check the configuration */ if(count($this->Classes) && (!empty($this->Release))){ foreach($this->Classes as $class){ $this->resolveObject($class); } } } /* Capture posts, and call opnen close tag */ function save_object() { $once = true; if(isset($_GET['expand']) && isset($_GET['id'])){ if(isset($this->Result[$_GET['id']])){ $this->Result[$_GET['id']]['Open'] =true ; } } if(isset($_GET['compress']) && isset($_GET['id'])){ if(isset($this->Result[$_GET['id']])){ unset($this->Result[$_GET['id']]['Open']); } } foreach($_POST as $name => $value ){ /* check for open tag request */ if(preg_match("/^open_/",$name) && $once){ $once = false; $value = preg_replace("/^open_/","",$name); $value = preg_replace("/_.*$/","",$value); $this->Result[$value]['Open'] =true ; } /* Check for close tag request */ if(preg_match("/^close_/",$name) && $once){ $once = false; $value = preg_replace("/^close_/","",$name); $value = preg_replace("/_.*$/","",$value); unset($this->Result[$value]['Open']); } } if(isset($_POST['reloadList'])){ $this->InitCalled = false; } } /* returns an array with all possibly release types */ function getBranches($base = false,$prefix = "") { if(!$base){ $base = $this->base; } return(FAI::get_all_releases_from_base($base,true)); } /* This function calls all nescessary functions to generate the fai class summary tree */ function execute() { plugin::execute(); /* Skip this if fai is deactivated */ if(!$this->config->pluginEnabled("faiManagement")){ $str = "

"._("You can't use this plug-in until FAI is activated.")."

"; return $str; } /* Check if we must (re)init the this tab */ if(!$this->InitCalled){ $this->init(); } if(isset($_GET['show'])){ $ldap = $this->config->get_ldap_link(); $ldap->cat(postDecode($_GET['id']), array('FAIscript', 'FAIhook', 'FAItemplateFile')); $attrs = $ldap->fetch(); if($_GET['type'] == "FAIscript"){ $str = $attrs['FAIscript'][0]; }elseif($_GET['type'] == "FAIhook"){ $str = $attrs['FAIscript'][0]; }elseif($_GET['type'] == "FAItemplate"){ $str = $attrs['FAItemplateFile'][0]; } echo "
".$str."
"; exit(); } /* Get smarty class & assign created summary results */ $smarty = get_smarty(); $acl = $this->ui->has_complete_category_acls($this->base,"fai"); $smarty->assign("readable", preg_match("/r/",$acl)); $this->ObjectList = $this->createSummary($this->Result); $smarty->assign("objectList",$this->ObjectList); return($smarty->fetch (get_template_path('faiSummary.tpl', TRUE, dirname(__FILE__)))); } /* Create output of from resolved fai objects */ function createSummary($data) { /* Don't generate any output, if there is no result */ if(!count($this->Result)){ return("

"._("This object has no FAI classes assigned.")."

"); } $str =" "; /* walk through all classes */ foreach($data as $key => $entry){ $image = image($this->objs[$key]['Image']); if(!isset($entry['Open'])){ $str .= ""; }else{ $str .= ""; /* Display FAItemplate FAIhook FAIscript entries */ if(in_array_strict($key,array("FAItemplate","FAIhook","FAIscript"))){ $nums = array(); $tmp = array(); if($key == "FAIscript"){ if(is_array($entry['Entries'])){ foreach($entry['Entries'] as $scripts){ foreach($scripts as $script){ if(!isset($nums[$script['cn'][0]])){ $nums[$script['cn'][0]]= 0; } $nums[$script['cn'][0]] ++; $tmp[$script['FAIpriority'][0].$script['cn'][0].$script['CLASS']] = $script; } } } krsort($tmp);; $entry['Entries'] = $tmp; }else{ $tmp = array(); foreach($entry['Entries'] as $script){ $tmp[$script['cn'][0].$script['CLASS']] = $script; if(!isset($nums[$script['cn'][0]])){ $nums[$script['cn'][0]]= 0; } $nums[$script['cn'][0]] ++; } ksort($tmp); $entry['Entries'] = $tmp; } foreach($entry['Entries'] as $cn => $data){ if(isset($nums[$data['cn'][0]]) && ($nums[$data['cn'][0]] > 1)){ $str .=""; } } /* Create variable entries */ if(in_array_strict($key,array("FAIvariable"))) { foreach($entry['Entries'] as $cn => $data){ $str .=""; } } /* Create packagelist entries */ if(in_array_strict($key,array("FAIpackageList"))) { ksort($entry['Entries']); foreach($entry['Entries'] as $data){ $str .="";; } } /* Create partition table entries */ if(in_array_strict($key,array("FAIpartitionTable"))) { foreach($entry['Entries'] as $cn => $data){ $str .= ""; ksort($data['partitions']); $str .= "
". image('images/lists/expand.png').$image." ". "". "".$this->objs[$key]['Name']."
". image('images/lists/sort-down.png').$image." ". "". "".$this->objs[$key]['Name']."
"; }else{ $str .="
"; } $str .= $image." "; $str .= ""; if(isset($data['FAIpriority'][0])){ $str .= "(".$data['FAIpriority'][0].")"; } $str .= " ".$data['cn'][0]; if(isset($data['description'][0])){ $str .= " [".$data['description'][0]."]"; } $str .= ""; $str .= "".$data['CLASS'].""; $str .= "
"; $str .= $image." ".$data['cn'][0]; if(isset($data['description'][0])){ $str .= " [".$data['description'][0]."] "; } /* Only display FAIvariableContent if description dosn't contain [*] */ if(isset($data['description'][0]) && !preg_match("#\[\*\]#",$data['description'][0])){ $str .=" = '".$data['FAIvariableContent'][0]."'"; } $str .= "".$data['CLASS'].""; $str .="
"; $str .= $image." ".$data['cn'][0]; $str .= "".$data['CLASS'].""; $str .= "
"; $str .= $image." ".$data['name']; $str .= "".$data['CLASS'].""; $str .= "
"; $str .= ""; $i = 0; foreach($data['partitions'] as $key => $part){ $i ++; if($i%2 == 1){ $c = " class='rowxp1'"; $d = " class='list1'"; }else{ $c = " class='rowxp0'"; $d = " class='list0'"; } $str.=""; } $str .="
"._("No.")." "._("Name")." "._("File system options")." "._("Mount options")." "._("Size in MB")." "._("Mount point")." "._("Type")."
".$i." ".$part['cn'][0]." ".$part['FAIfsType'][0]." ".$part['FAIfsOptions'][0]." ".$part['FAIpartitionSize'][0]." ".$part['FAImountPoint'][0]." ".$part['FAIpartitionType'][0]."
"; } } } } $str .="
"; return($str); } /* resolve specified object to append it to our object tree */ function resolveObject($class) { $ldap = $this->config->get_ldap_link(); if(isset($this->Releases[$this->Release])){ $dn = $this->Releases[$this->Release]; }else{ return(FALSE); } $resolvedClasses = FAI::get_all_objects_for_given_base($dn,"(&(objectClass=FAIclass)(cn=".$class."))"); /* Try to fetch all types of fai objects with the given cn */ foreach($resolvedClasses as $obj){ $dn = $obj['dn']; $ldap->cat($dn); while($attrs = $ldap->fetch()){ foreach($this-> objs as $key => $rest){ if(in_array_strict($key,$attrs['objectClass'])){ if(!isset($this->usedClasses[$key][$class])){ $this->usedClasses[$key][$class] = true; switch($key){ case "FAIprofile": $this->prepare_FAIprofile($attrs);break; case "FAIscript": $this->prepare_FAIscript($attrs);break; case "FAIhook": $this->prepare_FAIhook($attrs);break; case "FAIvariable": $this->prepare_FAIvariable($attrs);break; case "FAItemplate": $this->prepare_FAItemplate($attrs);break; case "FAIpackageList": $this->prepare_FAIpackageList($attrs);break; case "FAIpartitionTable": $this->prepare_FAIpartitionTable($attrs);break; } } } } } } } /* Prepare fai script */ function prepare_FAIscript($data) { if(isset($this->Result['FAIscript']['Entries'])){ $current = $this->Result['FAIscript']['Entries']; }else{ $current = array(); } $ldap = $this->config->get_ldap_link(); $ldap->cd($data['dn']); $ldap->search("(objectClass=FAIscriptEntry)",array("cn","description","FAIpriority")); while($attrs = $ldap->fetch()){ $attrs['CLASS'] = $data['cn'][0]; $current[$attrs['FAIpriority'][0]][] = $attrs; } $this->Result['FAIscript']['Entries'] = $current ; } /* Prepare fai script */ function prepare_FAIpartitionTable($data) { if(isset($this->Result['FAIpartitionTable']['Entries'])){ $current = $this->Result['FAIpartitionTable']['Entries']; }else{ $current = array(); } /* get subentries */ $ldap = $this->config->get_ldap_link(); $ldap->cd($data['dn']); $ldap->search("(objectClass=FAIpartitionDisk)",array("cn","description")); $disks = array(); /* Create an array which is sortable by priority */ while($attrs = $ldap->fetch()){ $attrs['CLASS'] = $data['cn'][0]; $disks[$attrs['cn'][0]]= $attrs; if(isset($attrs['description'][0])){ $disks[$attrs['cn'][0]]['name'] = $attrs['cn'][0]." [".$attrs['description'][0]."]"; }else{ $disks[$attrs['cn'][0]]['name'] = $attrs['cn'][0]; } $disks[$attrs['cn'][0]]['dn'] = $attrs['dn']; $disks[$attrs['cn'][0]]['partitions'] = array(); } /* Sort by priority */ foreach($disks as $key => $disk){ $ldap->cd($disk['dn']); $ldap->search("(objectClass=FAIpartitionEntry)",array("*")); while($attrs = $ldap->fetch()){ if(!isset($attrs['FAIfsOptions'][0])){ $attrs['FAIfsOptions'][0] = ""; } $attrs['CLASS'] = $data['cn'][0]; $disks[$key]['partitions'][$attrs['cn'][0]] = $attrs; } } $this->Result['FAIpartitionTable']['Entries'] = $disks; } /* Create template entry */ function prepare_FAItemplate($data) { $current = array(); if(isset($this->Result['FAItemplate']['Entries'])){ $current = $this->Result['FAItemplate']['Entries']; } $ldap = $this->config->get_ldap_link(); $ldap->cd($data['dn']); $ldap->search("(objectClass=FAItemplateEntry)",array("cn","description")); while($attrs = $ldap->fetch()){ $attrs['CLASS'] = $data['cn'][0]; $current[] = $attrs; } $this->Result['FAItemplate']['Entries'] = $current ; } /* Create a package list */ function prepare_FAIpackageList($data) { $current = array(); if(isset($this->Result['FAIpackageList']['Entries'])){ $current = $this->Result['FAIpackageList']['Entries']; } if(isset($data['FAIpackage'])){ unset($data['FAIpackage']['count']); foreach($data['FAIpackage'] as $pkg){ $attrs['CLASS'] = $data['cn'][0]; $attrs['cn'][0] = $pkg; $current[$pkg] = $attrs; } } $this->Result['FAIpackageList']['Entries'] = $current ; } /* Create a variable entry */ function prepare_FAIvariable($data) { $current = array(); if(isset($this->Result['FAIvariable']['Entries'])){ $current = $this->Result['FAIvariable']['Entries']; } $ldap = $this->config->get_ldap_link(); $ldap->cd($data['dn']); $ldap->search("(objectClass=FAIvariableEntry)",array("cn","description","FAIvariableContent")); while($attrs = $ldap->fetch()){ $attrs['CLASS'] = $data['cn'][0]; $current[] = $attrs; } $this->Result['FAIvariable']['Entries'] = $current ; } /* Create a hook entry */ function prepare_FAIhook($data) { $current = array(); if(isset($this->Result['FAIhook']['Entries'])){ $current = $this->Result['FAIhook']['Entries']; } $ldap = $this->config->get_ldap_link(); $ldap->cd($data['dn']); $ldap->search("(objectClass=FAIhookEntry)",array("cn","description")); while($attrs = $ldap->fetch()){ $attrs['CLASS'] = $data['cn'][0]; $current[$attrs['cn'][0]] = $attrs; } $this->Result['FAIhook']['Entries'] = $current ; } /* Create a new Profile entry */ function prepare_FAIprofile($data) { $classes = explode(" ",$data['FAIclass'][0]); foreach($classes as $class){ $class = trim($class); $this->resolveObject($class); } } /* Return plugin informations for acl handling * / static function plInfo() { return (array( "plShortName" => _("Summary"), "plDescription" => _("FAI summary"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 15, "plSection" => array("administration"), "plCategory" => array("workstation","server","fai","ogroups") , "plProvidedAcls"=> array( "readable" => _("Viewable")), )); } */ } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/class_faiDiskEntry.inc0000644000175000017500000005503511613742614021622 0ustar cajuscajusparent = $parent; $this->FAIdiskType = $type; // If disk is not empty, then we are going to edit // an existing disk, load disk info now. if($disk){ // Get devices used in volume base disks. if(isset($disk['FAIlvmDevice'])){ $this->lvmDevices = $disk['FAIlvmDevice']; } // Load default attributes $this->DISKcn = $disk['cn']; $this->DISKdescription = $disk['description']; $this->is_edit = true; $this->old_cn = $disk['cn']; // Load partition info foreach($disk['partitions'] as $values){ $name = $values['FAIpartitionNr']; // Load partition attributes $disk['partitions'][$name]['old_cn']= $disk['partitions'][$name]['cn']; $disk['partitions'][$name]['FAIdiskType']= $this->FAIdiskType; foreach($this->UsedAttrs as $attr){ if(!isset($values[$attr])){ $disk['partitions'][$name][$attr]=""; } } if (preg_match('/^_/', $disk['partitions'][$name]['FAIfsType'])){ $disk['partitions'][$name]['FAIfsType']= preg_replace('/^_/', '', $disk['partitions'][$name]['FAIfsType']); } } $this->partitions = $disk['partitions']; /* Load FAIdiskOptions. * Some options are disk related and others are used for partitions. * - fstabkey -> disk * - disklabel -> disk * - bootable -> partition * - preserve -> partition * - resize -> partition */ if (isset($disk['FAIdiskOption'])){ foreach($disk['FAIdiskOption'] as $option) { // Get fstab key if (preg_match("/fstabkey:(device|label|uuid)/", $option)){ $this->fstabkey= preg_replace("/^.*fstabkey:(device|label|uuid).*$/", "$1", $option); continue; } // Get disk label if (preg_match("/disklabel:(msdos|gpt)/", $option)){ $this->disklabel= preg_replace("/^.*disklabel:(msdos|gpt).*$/", "$1", $option); continue; } // Load bootable flag for partitions if (preg_match("/^bootable:/", $option)){ $bootable = explode(",", trim(preg_replace("/^bootable:/","",$option),",")); foreach($bootable as $bootflag){ if(isset($this->partitions[$bootflag])){ $this->partitions[$bootflag]['bootable'] = TRUE; } } continue; } // Load resize flag for partitions if (preg_match("/^resize:/", $option)){ $resize = explode(",", trim(preg_replace("/^resize:/","",$option),",")); foreach($resize as $id){ if(isset($this->partitions[$id])){ $this->partitions[$id]['resize'] = TRUE; } } continue; } // Load preserve_always flag for partitions if (preg_match("/^preserve_always:/", $option)){ $preserve = explode(",", trim(preg_replace("/^preserve_always:/","",$option),",")); foreach($preserve as $presflag){ if(isset($this->partitions[$presflag])){ $this->partitions[$presflag]['preserve'] = TRUE; $this->partitions[$presflag]['preserveType'] = 'always'; } } continue; } // Load preserve_reinstall flag for partitions if (preg_match("/^preserve_reinstall:/", $option)){ $preserve = explode(",", trim(preg_replace("/^preserve_reinstall:/","",$option),",")); foreach($preserve as $presflag){ if(isset($this->partitions[$bootflag])){ $this->partitions[$presflag]['preserve'] = TRUE; $this->partitions[$presflag]['preserveType'] = 'reinstall'; } } continue; } } } else { $this->fstabkey= "device"; } } // Prepare lists $this->diskList = new sortableListing(); $this->diskList->setDeleteable(true); $this->diskList->setEditable(true); $this->diskList->setWidth("100%"); $this->diskList->setHeight("400px"); $this->diskList->setColspecs(array('200px','*')); $this->diskList->setHeader(array("Name",_("Description"),_("Type"),_("Mount point"),_("Options"))); $this->diskList->setDefaultSortColumn(1); $this->diskList->setAcl('rwcdm'); // All ACLs, we filter on our own here. } function execute() { /* Call parent execute */ plugin::execute(); // Fill templating stuff $smarty = get_smarty(); $s_action = ""; $s_entry = ""; $display = ""; // Add partition to lvm compilation. if(isset($_POST['addLvmPartition']) && isset($_POST['lvmPartitionAdd'])){ $name = get_post('lvmPartitionAdd'); $this->lvmDevices[$name] = $name; } // Remove partition from lvm compilation. if(isset($_POST['delLvmPartition']) && isset($_POST['physicalPartition'])){ $names = get_post('physicalPartition'); foreach($names as $name){ if(isset($this->lvmDevices[$name])){ unset($this->lvmDevices[$name]); } } } // Get list actions $this->diskList->save_object(); $action = $this->diskList->getAction(); if($action['action'] == 'edit'){ $id = $this->diskList->getKey($action['targets'][0]); if(isset($this->partitions[$id])){ $this->dialog = new faiPartition($this->config,$this->partitions[$id], $this,$this->FAIdiskType); } } if($action['action'] == 'delete'){ $id = $this->diskList->getKey($action['targets'][0]); if(isset($this->partitions[$id])){ $this->removePartition($id); } } /* Create a new partition for this disk. */ if(isset($_POST['AddPartition']) && !preg_match("/freeze/i",$this->FAIstate)){ $this->dialog = new faiPartition($this->config, array(), $this,$this->FAIdiskType); } /* Handle partition dialogs. */ if($this->dialog instanceOf plugin && isset($_POST['PartitionCancel'])){ $this->dialog = null; } if($this->dialog instanceOf plugin && isset($_POST['PartitionSave'])){ $this->dialog->save_object(); // Validate new partition $new_partition = $this->dialog->save(); $msgs = $this->dialog->check(); $msgs = array_merge($msgs,$this->check_disks($new_partition)); if(!count($msgs)){ $this->updatePartition($new_partition); $this->dialog = null; }else{ msg_dialog::displayChecks($msgs); } } if($this->dialog instanceOf plugin){ $this->dialog->save_object(); return($this->dialog->execute()); } // Assign checkbox related values. foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); if($this->$attrs){ $smarty->assign($attrs."CHK"," "); }else{ $smarty->assign($attrs."CHK"," disabled "); } } // Assign disk info to smarty. $smarty->assign("setup", $this->generateParts()); $smarty->assign("sub_object_is_createable",$this->acl_is_createable()); $smarty->assign("freeze",preg_match("/freeze/i",$this->FAIstate)); $smarty->assign("fstabkeys", array("device" => _("Device"), "label" => _("Label"), "uuid" => _("UUID"))); $smarty->assign("disklabels", array("msdos" => "MSDOS", "gpt" => "GPT")); $smarty->assign("fstabkey", $this->fstabkey); $smarty->assign("disklabel", set_post($this->disklabel)); $smarty->assign("FAIdiskType", $this->FAIdiskType); $smarty->assign("plist", $this->getPartitionList()); $smarty->assign("physicalPartitionList", $this->getAvailablePartitions()); // Assign partitions $tmp = $this->plInfo(); $sacl = ""; foreach($tmp['plProvidedAcls'] as $name => $translated){ $acl = $this->getacl($name, preg_match("/freeze/i",$this->FAIstate)); $smarty->assign($name."ACL",$acl); } $display.= $smarty->fetch(get_template_path('faiDiskEntry.tpl', TRUE)); return($display); } /* Creates a human readable list, that contains all physical * devices that are used by the volume group. * This list will then be displayed in a html select box. * (lvm) */ function getPartitionList() { /* Create a list of all available disks and partitions. * This list will then be used to display detailed info. */ $disks = $this->parent->disks; foreach($disks as $dname => $disk){ // Skip currently edited disk if($disk['cn'] == $this->old_cn) continue; // Add disk $objs[$dname] = $disk; // Add disk partitions foreach($disk['partitions'] as $id => $part){ $part['parentDisk'] = $disk; $objs[$part['cn']] = $part; } } // Attach current disk setup to the details list. $data = $this->save(); $objs[$data['cn']] = $data; foreach($data['partitions'] as $part){ $part['parentDisk'] = $data; $objs[$part['cn']] = $part; } // Walk through physical partition combinations and build up // user friendly list with partition details. $list = array(); foreach($this->lvmDevices as $device){ // We've a html select box here, add spaces for better readability $str = $device; $str = preg_replace("/ /"," ",str_pad($str,20," ")); // Add disk/partition details. if(isset($objs[$device])){ if(isset($objs[$device]['FAIpartitionSize'])){ if($objs[$device]['parentDisk']['FAIdiskType'] == "raid"){ $str .= _("Disks").": "; $str .= preg_replace("/(:spare|:missing)/i","",$objs[$device]['FAIpartitionSize']); }else{ $str .= _("Size").": "; $str .= $objs[$device]['FAIpartitionSize']; } } } $list[$device] = $str; } return($list); } /* Returns a list of available partitions that are useable in * lvm disk setups. */ function getAvailablePartitions() { $may = $used = array(); foreach($this->parent->disks as $disk){ // Skip ourselves if($disk['cn'] == $this->DISKcn) continue; // Add partition from lvm combinations if($disk['FAIdiskType'] == "lvm"){ $used = array_merge($used,$disk['FAIlvmDevice']); } foreach($disk['partitions'] as $key => $part){ // Add disks of raid arrays, to the used list. if($disk['FAIdiskType'] == "raid"){ foreach(explode(",",$part['FAIpartitionSize']) as $rDevice){ $used[] = preg_replace("/:.*$/i","",$rDevice); } } // Collect all available partitions if($disk['FAIdiskType'] == "disk" || $disk['FAIdiskType'] == "raid"){ $name = $part['cn']; if(!isset($this->lvmDevices[$name])){ $may[] = $name; } } } } // Check which of the available disks are unused. $ret = array(); foreach($may as $val){ if(!in_array_strict($val,$used)){ $ret[$val] = $val; } } return($ret); } /* Remove the selected partition and shift the following partitions * to fill the gap. * Additionally update the partition numbers correspondingly. * (Checks if the partition is in use, too) */ function removePartition($id) { $start = false; /* Create a list of all partitions that are used in * lvm or raid compilations. */ $list = array(); foreach($this->parent->disks as $dname => $disk){ if($disk['FAIdiskType'] != "disk"){ if($disk['FAIdiskType'] == "lvm"){ foreach($disk['FAIlvmDevice'] as $partname){ $list[preg_replace("/:.*$/","",$partname)][] = $disk; } } foreach($disk['partitions'] as $partkey => $part){ if($disk['FAIdiskType'] == "raid"){ foreach(explode(",",$part['FAIpartitionSize']) as $partname){ $list[preg_replace("/:.*$/","",$partname)][] = $disk; } } } } } /* Now that we've a list of all partition references, lets check if * one of the partitions we are going to remove is still in use. */ if(isset($list[$this->partitions[$id]['cn']])){ $used = array(); foreach($list[$this->partitions[$id]['cn']] as $disk){ $used[$disk['cn']] = $disk['cn']; } $used = implode(",",$used); msg_dialog::display(_("Error"), sprintf(_("The disk cannot be deleted while it is used in the '%s' disk definition!"), $used), ERROR_DIALOG); }else{ unset($this->partitions[$id]); } } function get_free_partition_number() { $used = array(); foreach($this->partitions as $key => $part){ $used[$key] = $part['FAIpartitionNr']; } $id = 1; while(in_array_strict($id,$used) && $id < 16 ){ $id++; } return($id); } /* Add or update a partition */ function updatePartition($part) { if(!isset($part['FAIpartitionNr']) || $part['FAIpartitionNr'] == "undefined"){ $part['FAIpartitionNr'] = $this->get_free_partition_number(); } /* Update the disk cn - * Do NOT touch the partition 'cn' in case of lvm or raid devices. */ if($this->FAIdiskType == "disk"){ $part['cn'] = $this->DISKcn.$part['FAIpartitionNr']; } /* Check if we've to update partition names of lvm compilations. */ if($this->FAIdiskType == "lvm"){ if(isset($this->partitions[$part['FAIpartitionNr']])){ $old_cn = $this->partitions[$part['FAIpartitionNr']]['cn']; $new_cn = $part['cn']; if(isset($this->lvmDevices[$old_cn])){ unset($this->lvmDevices[$old_cn]); $this->lvmDevices[$new_cn] = $new_cn; } } } /* Set raid names to md# */ if($this->FAIdiskType == "raid"){ $part['cn'] = 'md'.$part['FAIpartitionNr']; } $this->partitions[$part['FAIpartitionNr']] = $part; } /* This method generates the partition listing with all necessary info, * depending on the disk type. */ function generateParts() { $data = $lData = array(); foreach($this->partitions as $key => $part){ $cn = $part['cn']; $desc = $part['description']; $number = $part['FAIpartitionNr']; $size = $part['FAIpartitionSize']; $type = $part['FAIpartitionType']; // Remove encryption info from the mount point. $mnt = $part['FAImountPoint']; if(preg_match("/:encrypt/", $mnt)){ $mnt = preg_replace("/:encrypt/","",$mnt); } // create human readable strings out of the flags. $opt = ""; if(isset($part['encrypted']) && $part['encrypted']){ $opt.= " "._("encrypted").", "; } if(isset($part['bootable']) && $part['bootable']){ $opt.= " "._("boot able").", "; } if(isset($part['preserve']) && $part['preserve']){ $opt.= " "._("preserve").": ".$part['preserveType'].", "; } // Combine options to a single table col. $opt = "".preg_replace('/, $/',"",$opt)." "; // Build up info table, depending on the disk type. $data[$key]=$key; if($this->FAIdiskType == "lvm"){ $lData[$key]=array('data' => array($cn,$desc,"",$mnt,$opt,$size)); }elseif($this->FAIdiskType == "raid"){ $raid = $part['FAIpartitionType']." (".$part['FAIpartitionSize'].")"; $lData[$key]=array('data' => array($cn,$desc,$raid,$mnt,$opt)); }else{ $lData[$key]=array('data' => array("",$desc,$type,$mnt,$opt,$size)); } } $this->diskList->setListData($data,$lData); $acl = "rwcdm"; if(preg_match("/freeze/", $this->FAIstate)) $acl = "r"; $this->diskList->setAcl($acl);; $this->diskList->update(); return($this->diskList->render()); } function save() { $tmp = array(); $tmp['cn'] = $this->DISKcn; /* Attach partitions. * And prepare names and numbers. */ foreach($this->partitions as $key=>$val) { $this->partitions[$key]['FAIpartitionNr']=$key; if($this->FAIdiskType == "disk"){ $this->partitions[$key]['cn'] = $this->DISKcn.$key; }elseif($this->FAIdiskType == "lvm"){ $this->partitions[$key]['FAIpartitionType'] = 'lvm'; } } $tmp['description'] = $this->DISKdescription; $tmp['partitions'] = $this->partitions; $tmp['FAIdiskType'] = $this->FAIdiskType; // Add lvm devices if available. $tmp['FAIlvmDevice'] = array(); foreach($this->lvmDevices as $dev){ $tmp['FAIlvmDevice'][] = $dev; } /* Assemble flags */ $tmp['FAIdiskOption'] = array("fstabkey:".$this->fstabkey, "disklabel:".$this->disklabel); /* If hdd name has changed, tell partitionTable to rename it */ if(($this->is_edit)&&($this->old_cn != $this->DISKcn)){ $tmp['rename']['from'] = $this->old_cn; $tmp['rename']['to'] = $this->DISKcn; } // Build up disk options $bootable = ""; $resize = ""; $preserve_always = ""; $preserve_reinstall = ""; /* Assemble boot, resize and preserve flags */ foreach($tmp['partitions'] as $id => $part){ if(isset($part['bootable']) && $part['bootable']){ $bootable .= $id.","; } if(isset($part['resize']) && $part['resize']){ $resize .= $id.","; } if(isset($part['preserve']) && $part['preserve']){ if($part['preserveType'] == "always"){ $preserve_always .= $id.","; }else{ $preserve_reinstall .= $id.","; } } // Unset non valid attributes foreach(array("bootable","encrypted","preserve","preserveType","resize","FAIdiskType") as $attr){ if(isset($tmp['partitions'][$id][$attr])){ unset($tmp['partitions'][$id][$attr]); } } } /* Assembe disk flags */ if(!empty($bootable)){ $tmp['FAIdiskOption'][] = "bootable:".trim($bootable,","); } if(!empty($resize)){ $tmp['FAIdiskOption'][] = "resize:".trim($resize,","); } if(!empty($preserve_always)){ $tmp['FAIdiskOption'][] = "preserve_always:".trim($preserve_always,","); } if(!empty($preserve_reinstall)){ $tmp['FAIdiskOption'][] = "preserve_reinstall:".trim($preserve_reinstall,","); } return($tmp); } /* Save data to object */ function save_object() { if((isset($_POST['TableEntryFrameSubmitted'])) && !preg_match("/freeze/", $this->FAIstate) ){ plugin::save_object(); // Save posted disk label and fstab key if (isset($_POST['disklabel']) && preg_match("/^(msdos|gpt)$/", $_POST['disklabel'])){ $this->disklabel= get_post('disklabel'); } if (isset($_POST['fstabkey']) && preg_match("/^(device|label|uuid)$/", $_POST['fstabkey'])){ $this->fstabkey= get_post('fstabkey'); } } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); /* Check for an empty disk name */ $d = trim($this->DISKcn); if($d == "" ){ $message[] = msgPool::required(_("Name")); } if(preg_match("/[^a-z0-9_\-]/i",$d)){ $message[] = msgPool::invalid(_("Name"),$d,"/[a-z0-9_\-]/i"); } return ($message); } /* Checks the disk combinations. * */ function check_disks($disk_to_add = array()) { $msgs = array(); /* Check 'disk' combinations. * - There can be four primary partitions. * - If there is at least one 'logical' partition, then there can be only * three 'primary' partitions. */ if($this->FAIdiskType == "disk"){ $types = array('logical' => array(), 'primary' => array()); $types[$disk_to_add['FAIpartitionType']][$disk_to_add['FAIpartitionNr']] = 1; foreach($this->partitions as $key => $part){ $types[$part['FAIpartitionType']][$part['FAIpartitionNr']] = 1; } // There can only be four primary partitions per disk - without any logical partition. if(count($types['logical']) == 0){ if(count($types['primary']) > 4){ $msgs[] = _("You have more than four primary partition table entries in your configuration, please check your configuration twice."); } }else{ if(count($types['primary']) > 3){ $msgs[] = _("You cannot have more than three primary partition while using logical partitions, please check your configuration twice."); } } } return($msgs); } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Partition table entry"), "plDescription" => _("FAI partition table entry"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 27, "plSection" => array("administration"), "plCategory" => array("fai"), "plProvidedAcls" => array( "DISKcn" => _("Name"), "DISKdescription" => _("Description"), "DISKFAIdiskOption" => _("Disk options"), "FAIpartitionType" => _("Partition type"), "FAIpartitionNr" => _("Partition no."), "FAIfsType" => _("File system type"), "FAImountPoint" => _("Mount point"), "FAIpartitionSize" => _("Partition size"), "FAImountOptions" => _("Mount options"), "FAIfsOptions" => _("File system options"), "FAIpartitionFlags" => _("Partition flags")) )); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/fai-list.tpl0000644000175000017500000000100711361070513017555 0ustar cajuscajus

{$HEADLINE}  {$SIZELIMIT}

{$RELOAD} {t}Release{/t} {$RELEASE} {$ACTIONS} {$FILTER}
{$LIST}
gosa-plugin-fai-2.7.4/admin/fai/fai-filter.xml0000644000175000017500000000341011354576350020104 0ustar cajuscajus fai opsi true default auto dn objectClass cn description default FAI (&(|(objectClass=FAIprofile)(objectClass=FAIhook)(objectClass=FAItemplate)(objectClass=FAIscript)(objectClass=FAIvariable)(objectClass=FAIpackageList)(objectClass=FAIpartitionTable))(cn=$)) cn 0.5 3 opsi OPSIPackages opsi_netboot,opsi_local;$ cn 0.5 3 faiopsi FAI (&(|(objectClass=FAIprofile)(objectClass=FAIhook)(objectClass=FAItemplate)(objectClass=FAIscript)(objectClass=FAIvariable)(objectClass=FAIpackageList)(objectClass=FAIpartitionTable))(cn=$)) OPSIPackages opsi_netboot,opsi_local;$ cn 0.5 3 gosa-plugin-fai-2.7.4/admin/fai/paste_generic.tpl0000644000175000017500000000027411354363056020673 0ustar cajuscajus

{t}FAI settings{/t}

{t}Class name{/t}
gosa-plugin-fai-2.7.4/admin/fai/faiPartition.tpl0000644000175000017500000001207011424503647020511 0ustar cajuscajus

{t}Partition{/t}

{if $FAIdiskType == "lvm"} {else} {/if} {if $FAIdiskType == "disk" || $FAIdiskType == "lvm"} {/if} {if $FAIdiskType == "raid"} {/if}
{t}Name{/t} {t}Type{/t} {if $cn != ""} ( {$cn}) {/if} {t}Description{/t}
{t}Size{/t} {if $FAIpartitionSizeType != "remaining"} {else} {/if} -  {if $FAIpartitionSizeType != "fixed" && $FAIpartitionSizeType != "remaining"} {else} {/if}

   
 

{t}Combined physical partitions{/t}


       

{t}File system{/t} {t}File system create options{/t}
  {t}Tune options{/t}

{t}Mount point{/t}{$must} {if $FAIfsType != "swap"} {else} {/if} {t}Mount options{/t}

{if !$freeze}   {/if}
gosa-plugin-fai-2.7.4/admin/fai/class_faiPartition.inc0000644000175000017500000003564711613742614021666 0ustar cajuscajusinitTime = microtime(TRUE); $this->parent = $parent; $this->FAIdiskType = $type; // Check if we should be able to add primary partitions. if(!$object || $object['FAIpartitionType'] == "logical"){ if($this->FAIdiskType == "disk"){ $types = array('logical' => array(), 'primary' => array()); foreach($this->parent->partitions as $key => $part){ $types[$part['FAIpartitionType']][$part['FAIpartitionNr']] = 1; } if(count($types['logical']) && count($types['primary']) >= 3){ $this->disablePrimary = TRUE; }elseif(count($types['logical']) >= 4){ $this->disablePrimary = TRUE; } } } // Load attributes from existing partition if($object){ foreach($this->attributes as $attr){ if(isset($object[$attr])){ $this->$attr = $object[$attr]; } } if($type == "disk" || $type =="lvm"){ /* Prepare size attribute * This attribute may represent a range, a fixed value * or a percentage. * fixed is just a number * 500MB * range * 500MB-1TB * remaining * - */ // Fixed if(preg_match("/^[0-9]{1,}(KB|MB|GB|TB|PB|%|)$/",$this->FAIpartitionSize)){ $this->sizeStart = preg_replace("/^([0-9]*)(KB|MB|GB|TB|PB|%)$/","\\1",$this->FAIpartitionSize); $this->sizeStart_Type = preg_replace("/^([0-9]*)(KB|MB|GB|TB|PB|%)$/","\\2",$this->FAIpartitionSize); $this->FAIpartitionSizeType = "fixed"; }else // Dynamic range if(preg_match("/^[0-9]{1,}(KB|MB|GB|TB|PB|%|)-[0-9]{1,}(KB|MB|GB|TB|PB|%|)$/",$this->FAIpartitionSize)){ $this->sizeStart = preg_replace("/^([0-9]*)(KB|MB|GB|TB|PB|%).*$/","\\1",$this->FAIpartitionSize); $this->sizeStart_Type = preg_replace("/^([0-9]*)(KB|MB|GB|TB|PB|%).*$/","\\2",$this->FAIpartitionSize); $this->sizeStop = preg_replace("/^[^\-]*\-([0-9]*)(KB|MB|GB|TB|PB|%)$/","\\1",$this->FAIpartitionSize); $this->sizeStop_Type = preg_replace("/^[^\-]*\-([0-9]*)(KB|MB|GB|TB|PB|%)$/","\\2",$this->FAIpartitionSize); $this->FAIpartitionSizeType = "dynamic"; }else // Dynamic range if(preg_match("/^(0|)\-$/",$this->FAIpartitionSize)){ $this->FAIpartitionSizeType = "remaining"; } // Ensure that we've a valid value type selected. if(!preg_match("/(KB|MB|GB|TB|PB|%)/",$this->sizeStart_Type)){ $this->sizeStart_Type = "MB"; } if(!preg_match("/(KB|MB|GB|TB|PB|%)/",$this->sizeStop_Type)){ $this->sizeStop_Type = "MB"; } /* Check for encrypted partitions */ if(preg_match("/:encrypt$/",$this->FAImountPoint)){ $this->FAImountPoint = preg_replace("/:encrypt/","",$this->FAImountPoint); $this->encrypted = TRUE; } }elseif($type == "raid"){ // Extract raid devices out of the partition size attribute. $usedDisks = explode(",",$this->FAIpartitionSize); foreach($usedDisks as $disk){ $name = preg_replace("/:.*$/","",$disk); $spare = preg_match("/:spare/",$disk); $missing = preg_match("/:missing/",$disk); if(!empty($name)){ $this->raidDevices[$name] = array( "name" => $name, "spare" => $spare, "missing" => $missing); } } } } // Create statistic table entry stats::log('plugin', $class = get_class($this), $category = array($this->acl_category), $action = 'open', $amount = 1, $duration = (microtime(TRUE) - $this->initTime)); } function execute() { plugin::execute(); $smarty = get_smarty(); // Remove partition if(isset($_POST['addPhysicalPartition']) && isset($_POST['physicalPartitionAdd'])){ $name =get_post('physicalPartitionAdd'); $this->raidDevices[$name] = array("name" => $name,"spare"=>false,"missing"=>false); } // Create a list of selectable partition types if($this->FAIdiskType == "disk"){ if($this->disablePrimary){ $types = array( "logical" => _("Logical")); }else{ $types = array( "primary" => _("Primary"), "logical" => _("Logical")); } }elseif($this->FAIdiskType == "raid"){ $types = array( "raid0" => _("RAID 0"), "raid1" => _("RAID 1"), "raid5" => _("RAID 5"), "raid6" => _("RAID 6")); }else{ $types = ""; } // Create a list of all size options $partitionSizeTypes = array( "fixed" => _("fixed"), "dynamic" => _("dynamic"), "remaining" => _("remaining space") ); // Create a list of all size options $sizeTypes = array( "KB" => _("KB"), "MB" => _("MB"), "GB" => _("GB"), "TB" => _("TB"), "PB" => _("PB"), "%" => _("%") ); // Preserve types $preserveTypes = array( "always" => _("always"), "reinstall" => _("reinstall")); // File system types. $FAIfsTypes = array( "swap" => _("swap space"), "ext2" => "ext2", "ext3" => "ext3", "ext4" => "ext4", "reiserfs" => "reiser fs", "xfs" => "xfs", "btrfs" => "btrfs", "-" => "-"); $smarty->assign("partitionTypes", $types); $smarty->assign("partitionSizeTypes", $partitionSizeTypes); $smarty->assign("FAIpartitionSizeType", $this->FAIpartitionSizeType); $smarty->assign("sizeTypes", $sizeTypes); $smarty->assign("sizeStart_Type", $this->sizeStart_Type); $smarty->assign("sizeStop_Type", $this->sizeStop_Type); $smarty->assign("sizeStart", set_post($this->sizeStart)); $smarty->assign("sizeStop", set_post($this->sizeStop)); $smarty->assign("preserveTypes", $preserveTypes); $smarty->assign("preserveType", set_post($this->preserveType)); $smarty->assign("FAIfsTypes", $FAIfsTypes); $smarty->assign("cn", $this->cn); $smarty->assign("freeze", preg_match("/freeze/i",$this->parent->FAIstate)); $smarty->assign("plist",$this->getRaidlist()); $smarty->assign("physicalPartitionList",$this->getPartitionlist()); $smarty->assign("disablePrimary", $this->disablePrimary); foreach($this->attributes as $attr){ $smarty->assign($attr,set_post($this->$attr)); } return($smarty->fetch(get_template_path("faiPartition.tpl", TRUE, dirname(__FILE__)))); } /* Returns a list of all partitions that are useable * for raid arrays. */ function getPartitionList() { $may = $used = array(); foreach($this->parent->parent->disks as $disk){ // Skip ourselves if($disk['cn'] == $this->parent->DISKcn) continue; // Add partition from lvm combinations if($disk['FAIdiskType'] == "lvm"){ $used = array_merge($used,$disk['FAIlvmDevice']); } foreach($disk['partitions'] as $key => $part){ // Add disks of raid arrays, to the used list. if($disk['FAIdiskType'] == "raid"){ foreach(explode(",",$part['FAIpartitionSize']) as $rDevice){ $used[] = preg_replace("/:.*$/i","",$rDevice); } } // Collect all available disks if($disk['FAIdiskType'] == "disk"){ $name = $part['cn']; if(!isset($this->raidDevices[$name])){ $may[] = $name; } } } } // Check which of the available disks are unused. $ret = array(); foreach($may as $val){ if(!in_array_strict($val,$used)){ $ret[$val] = $val; } } return($ret); } /* Creates a human readable list of all used partitions * of a raid device. */ function getRaidList() { $disks = $this->parent->parent->disks; $objs = array(); foreach($disks as $disk){ if($disk['FAIdiskType'] != "raid"){ foreach($disk['partitions'] as $id => $part){ $objs[$part['cn']] = $part; } } } $list = array(); foreach($this->raidDevices as $device){ $str = $name = $device['name']; $str = str_pad($str,25," "); if(isset($objs[$device['name']]['FAIpartitionSize'])){ $str .= _("Size").": "; $str .= $objs[$device['name']]['FAIpartitionSize']; } $str = str_pad($str,60," "); $opt = ""; if($device['spare']){ $opt.= " "._("spare")." "; } if($device['missing']){ $opt.= " "._("missing")." "; } if($opt){ $str .= "   "._("Options").": ".$opt; } $str = str_pad($str,80," "); $list[$name] = preg_replace("/ /"," ",$str); } return($list); } function save_object() { if(isset($_POST['faiPartition'])){ foreach($this->attributes as $attr){ if(isset($_POST[$attr])){ $this->$attr = get_post($attr); } } foreach(array("FAIpartitionSizeType","sizeStart","sizeStop","sizeStart_Type","sizeStop_Type") as $attr){ if(isset($_POST[$attr])){ $this->$attr = get_post($attr); } } foreach(array("bootable","preserve","resize","encrypted") as $attr){ if(isset($_POST[$attr])){ $this->$attr = TRUE; }else{ $this->$attr = FALSE; } } // Allow user defined partition names for lvm disks. if($this->FAIdiskType == "lvm" && isset($_POST['cn'])){ $this->cn = get_post('cn'); } // Remove partition if(isset($_POST['delPhysicalPartition']) && isset($_POST['physicalPartition'])){ foreach($_POST['physicalPartition'] as $key){ if(isset($this->raidDevices[$key])){ unset($this->raidDevices[$key]); } } } // Toggle spare flag for partition entries if(isset($_POST['toggleSpare']) && isset($_POST['physicalPartition'])){ $this->raidDevices[$_POST['physicalPartition'][0]]['spare'] = !$this->raidDevices[$_POST['physicalPartition'][0]]['spare']; } // Toggle missing flag for partition entries if(isset($_POST['toggleMissing']) && isset($_POST['physicalPartition'])){ $this->raidDevices[$_POST['physicalPartition'][0]]['missing'] = !$this->raidDevices[$_POST['physicalPartition'][0]]['missing']; } } } function check() { $msgs = plugin::check(); // Check the given partition size. if($this->FAIdiskType == "disk" || $this->FAIdiskType == "lvm"){ if($this->FAIpartitionSizeType == "fixed" || $this->FAIpartitionSizeType == "dynamic"){ if(!is_numeric($this->sizeStart)){ $msgs[] = msgPool::invalid(_("Partition size"),$this->sizeStart,"/[0-9]/i"); } } if($this->FAIpartitionSizeType == "dynamic"){ if(!is_numeric($this->sizeStop)){ $msgs[] = msgPool::invalid(_("Partition size"),$this->sizeStop,"/[0-9]/i"); } $mp = array( "%" => 1, "KB" => pow(1024,0), "MB" => pow(1024,1), "GB" => pow(1024,2), "TB" => pow(1024,3), "PB" => pow(1024,4)); $res1 = $this->sizeStart * $mp[$this->sizeStart_Type]; $res2 = $this->sizeStop * $mp[$this->sizeStop_Type]; if($res1 > $res2){ $msgs[] = msgPool::toobig(_("Minimum partition size"), "'"._("Maximum partition size")."'"); } } } // Add raid checks if($this->FAIdiskType == "raid"){ if(count($this->raidDevices) < 2){ $msgs[] = _("Raid arrays must contain at least two partitions!"); }else if($this->FAIpartitionType == "raid0" && count($this->raidDevices) != 2){ $msgs[] = _("Raid 0 arrays can only be realized with a combination of two partitions!"); } } // check mount point if($this->FAIfsType != "swap" && $this->FAIfsType != "-"){ if(!preg_match("#^/#",$this->FAImountPoint)){ $msgs[] = msgPool::invalid(_("Mount point")); } } return($msgs); } function save() { $ret = array(); foreach($this->attributes as $attr){ $ret[$attr] = $this->$attr; } // Save partition size if($this->FAIdiskType == "disk" || $this->FAIdiskType == "lvm"){ switch($this->FAIpartitionSizeType){ case 'fixed' : $ret['FAIpartitionSize'] = $this->sizeStart.$this->sizeStart_Type;break; case 'dynamic' : $ret['FAIpartitionSize'] = $this->sizeStart.$this->sizeStart_Type."-". $this->sizeStop.$this->sizeStop_Type;break; case 'remaining' : $ret['FAIpartitionSize'] = "0-";break; default: trigger_error("Unknown partition size!"); } // Add encryption flag to partition mount point if($this->encrypted){ $ret['FAImountPoint'] .= ":encrypt"; } }elseif($this->FAIdiskType == "raid"){ // Save selected raid partitions in FAIpartitionSize $ret['FAIpartitionSize'] = ""; foreach($this->raidDevices as $device){ $ret['FAIpartitionSize'] .= $device['name']; if($device['spare']){ $ret['FAIpartitionSize'] .= ":spare"; } if($device['missing']){ $ret['FAIpartitionSize'] .= ":missing"; } $ret['FAIpartitionSize'] .= ","; } $ret['FAIpartitionSize'] = trim($ret['FAIpartitionSize'],","); } if($this->FAIfsType == "swap"){ $ret['FAImountPoint'] = "swap"; } return($ret); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/class_FAI.inc0000644000175000017500000011643411613742614017626 0ustar cajuscajus $data){ if(!preg_match("/,".$name.",/",$entry_dn)) continue; $entries[$entry_dn] = $data; } return($entries); } /* Returns all object for the given release. This function resolves the releases from base up to the given dn. */ static function get_all_objects_for_given_base($Current_DN,$filter,$detailed = false) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $res = array(); $tmp = array(); if(!FAI::is_release_department($Current_DN)) { # return($res); } /* Collect some basic informations and initialize some variables */ $base_release = FAI::get_release_dn($Current_DN); $previous_releases = array_reverse(FAI::get_previous_releases_of_this_release($base_release,true)); $ldap->cat($base_release); $attrs = $ldap->fetch(); $FAIstate = "branch"; if(isset($attrs['FAIstate'][0])){ $FAIstate = $attrs['FAIstate'][0]; } /* We must also include the given release dn */ $previous_releases[] = $base_release; /* Walk through all releases */ foreach($previous_releases as $release){ /* Get fai departments */ $deps_to_search = FAI::get_FAI_departments($release); /* For every single department (ou=hoos,ou ..) */ foreach($deps_to_search as $fai_base){ /* Ldap search for fai classes specified in this release */ $attributes = array("dn","objectClass","FAIstate","cn","FAIdiskType","FAIlvmDevice","FAIdiskOption"); $res_tmp = get_list($filter,"fai",$fai_base,$attributes,GL_SUBSEARCH); /* check the returned objects, and add/replace them in our return variable */ foreach($res_tmp as $attr){ $buffer = array(); $name = preg_replace("/".preg_quote($release, '/')."/i","",$attr['dn']); if(isset($attr['FAIstate'][0])){ if(preg_match("/removed$/",$attr['FAIstate'][0])){ if(isset($res[$name])){ unset($res[$name]); } continue; } } /* Seems to be an inherited class, apply current FAIstate to this classes */ if(!preg_match("/".preg_quote($base_release, '/')."$/i",$attr['dn'])){ $buffer['FAIstate'] = $FAIstate; }else{ /* Seems to be created within this release department. This indicates - it can't be of state "freeze" */ if(isset($attr['FAIstate'])){ $buffer['FAIstate'] = $attr['FAIstate'][0]; }else{ $buffer['FAIstate'] = "branch"; } } if(isset($attr['FAIdiskType'])){ $buffer['FAIdiskType'] = $attr['FAIdiskType'][0]; } else { $buffer['FAIdiskType'] = "old"; } if(isset($attr['FAIdiskOption'])){ $buffer['FAIdiskOption'] = $attr['FAIdiskOption']; } else { $buffer['FAIdiskOption'] = null; } if(isset($attr['FAIlvmDevice'])){ $buffer['FAIlvmDevice'] = $attr['FAIlvmDevice']; } /* In detailed mode are some additonal informations visible */ if($detailed){ /* Create list of parents */ if(isset($res[$name])){ $buffer = $res[$name]; $buffer['parents'][] = $res[$name]['dn']; }else{ $buffer['parents'] = array(); } /* Append objectClass to resulsts */ foreach($attributes as $val){ if(isset($attr[$val])){ $buffer[$val] = $attr[$val]; } } unset($buffer['objectClass']['count']); } /* Add this object to our list */ $buffer['dn'] = $attr['dn']; $res[$name] = $buffer; } } } return($res); } /* Return all relevant FAI departments */ static function get_FAI_departments($suffix = "") { global $config; $arr = array( get_ou('faiScript', 'faiScriptRDN'), get_ou('faiHook', 'faiHookRDN'), get_ou('faiTemplate', 'faiTemplateRDN'), get_ou('faiVariable', 'faiVariableRDN'), get_ou('faiProfile', 'faiProfileRDN'), get_ou('faiPartitionTable', 'faiPartitionRDN'), get_ou('faiPackage', 'faiPackageRDN') ); $tmp = array(); if(preg_match("/^,/",$suffix)){ $suffix = preg_replace("/^,/","",$suffix); } foreach($arr as $name){ if(empty($suffix)){ $tmp[$name] = $name; }else{ $tmp[$name] = $name.$suffix; } } return($tmp); } /* Return all releases within the given base */ static function get_all_releases_from_base($dn,$appendedName=false) { global $config; if(!preg_match("/".preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/')."/i",$dn)){ $base = get_ou("faiManagement", "faiBaseRDN").$dn; }else{ $base = $dn; } $res = array(); $ldap = $config->get_ldap_link(); $ldap->cd($base); $ldap->search("(objectClass=FAIbranch)",array("ou","dn")); while($attrs = $ldap->fetch()){ if($appendedName){ $res[$attrs['dn']] = convert_department_dn(preg_replace("/,".preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/').".*$/i","",$attrs['dn'])); }else{ $res[$attrs['dn']] = $attrs['ou'][0]; } } return($res); } /* Add this object to list of objects, that must be checked for release saving */ static function prepare_to_save_FAI_object($Current_DN,$objectAttrs,$removed = false) { /* Get ldap object */ global $config; $addObj['Current_DN'] = $Current_DN; $addObj['objectAttrs']= $objectAttrs; $addObj['removed'] = $removed; $addObj['diff'] = TRUE; if(!$removed){ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); /* Get some basic informations */ $parent_obj = FAI::get_parent_release_object($Current_DN); if(!empty($parent_obj)){ $ldap->cat($parent_obj,array("*")); $attrs = FAI:: prepare_ldap_fetch_to_be_saved($ldap->fetch()); if(!FAI::array_diff_FAI( $attrs,$objectAttrs)){ $addObj['diff'] = FALSE; } } }else{ /* If this is the last CLASS of a specific name (e.g. DEPOTSERVER) we have to remove this name from all profiles in this release. */ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $obj_dn = FAI::get_parent_release_object($Current_DN,TRUE); /* Dont't try to modify non FAIclasses */ if(!preg_match("/[^,]+,".preg_quote(get_ou("faiManagement", "faiBaseRDN"), '/')."/i",$obj_dn)){ trigger_error("PLEASE check fai class handling in ".__LINE__." -> ".__FILE__); echo "
-->".$Current_DN."
"; echo "
-->".$obj_dn."
"; }else{ /* Get source object and check if it is a base FAIclass */ $ldap->cat($obj_dn); $attrs = $ldap->fetch(); $classes = array("FAIprofile","FAIscript","FAIpackageList","FAIpartitionTable","FAIHook","FAIvariable","FAItemplate"); if(count(array_intersect($classes,$attrs['objectClass']))){ $cn = $attrs['cn'][0]; /* Check if this is the last with this name in the current release. In this case we have to remove the package name from all profiles in this release. */ $classes = FAI::get_all_objects_for_given_base(FAI::get_release_dn($Current_DN), "(&(objectClass=FAIclass)(cn=".$cn."))"); /* Check if this is the last class with this name */ if(count($classes) == 1){ /* Get all FAI Profiles */ $profiles = FAI::get_all_objects_for_given_base(FAI::get_release_dn($Current_DN), "(&(objectClass=FAIprofile)(FAIclass=*))"); /* Walk though all profiles and remove the source class name */ foreach($profiles as $dn){ $ldap->cat($dn['dn']); $attrs = $ldap->fetch(); $attrs = array('FAIclass' => $attrs['FAIclass'][0]); /* Check if this Profile uses the source class ($cn) */ $classlist = split(" ", $attrs['FAIclass']); $new_classlist = ""; foreach($classlist as $class){ if($class != $cn){ $new_classlist = $new_classlist." ".$class; } } $attrs['FAIclass'] = $new_classlist; if(empty($attrs['FAIclass'])){ $attrs['FAIclass'] = array(); } $ldap->cd($dn['dn']); $ldap->modify($attrs); if (!$ldap->success()){ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class())); } } } } } } $FAI_objects_to_save = session::get('FAI_objects_to_save') ; $FAI_objects_to_save[$Current_DN] = $addObj; session::set('FAI_objects_to_save',$FAI_objects_to_save); } /* Detect differences in attribute arrays */ static function array_diff_FAI($ar1,$ar2) { if((!isset($ar1['description'])) || (isset($ar1['description']) && (count($ar1['description']) == 0))){ $ar1['description'] = ""; } if((!isset($ar2['description'])) || (isset($ar2['description']) && (count($ar2['description']) == 0))){ $ar2['description'] = ""; } if(count($ar1) != count($ar2)) { return (true); } foreach($ar1 as $key1 => $val1){ if((is_array($val1)) && (count($val1)==1)){ $ar1[$key1] = $val1[0]; } if(isset($ar2[$key1])&& (is_array($ar2[$key1])) && (count($ar2[$key1])==1)){ $val1 = $val1[0]; $ar2[$key1] = $ar2[$key1][0]; } } ksort($ar1); ksort($ar2); if(count( array_diff($ar1,$ar2)) || FAI::arr_diff($ar1,$ar2)){ return(true); }else{ return(false); } } static function arr_diff($ar1,$ar2) { foreach($ar1 as $ak1 => $av1){ if(!isset($ar2[$ak1]) || (!($av1 === $ar2[$ak1]))){ return(TRUE); }elseif(is_array($av1)){ $ret = (FAI::arr_diff($av1,$ar2[$ak1])); if($ret) { return(TRUE); } } } return(FALSE); } /* check which objects must be saved, and save them */ static function save_release_changes_now() { global $config; /* Variable init*/ $to_save = array(); $reload_fai_classes = FALSE; /* check which objects must be saved */ if(!session::is_set('FAI_objects_to_save')){ return; } $FAI_objects_to_save = session::get('FAI_objects_to_save'); if(!is_array($FAI_objects_to_save)) { print_a(array(session::get('FAI_objects_to_save'))); trigger_error("Can't save FAI objects, no array given."); return; } foreach($FAI_objects_to_save as $Current_DN => $object){ if($object['diff']){ $sub_name = $Current_DN; while(isset($FAI_objects_to_save[$sub_name])){ $to_save[strlen($sub_name)][$sub_name] = $FAI_objects_to_save[$sub_name]; unset($FAI_objects_to_save[$sub_name]); $sub_name = preg_replace('/^[^,]+,/', '', $sub_name); } } } session::set('FAI_objects_to_save',$FAI_objects_to_save); /* Sort list of objects that must be saved, and ensure that container objects are safed, before their childs are saved */ ksort($to_save); $tmp = array(); foreach($to_save as $SubObjects){ foreach($SubObjects as $object){ $tmp[] = $object; } } $to_save = $tmp; /* Save objects and manage the correct release behavior*/ foreach($to_save as $save){ $Current_DN = $save['Current_DN']; $removed = $save['removed']; $objectAttrs= $save['objectAttrs']; /* Get ldap object */ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); /* Get some basic informations */ $base_release = FAI::get_release_dn($Current_DN); $sub_releases = FAI::get_sub_releases_of_this_release($base_release,true); $parent_obj = FAI::get_parent_release_object($Current_DN); $following_releases = $sub_releases; /* Check if given dn exists or if is a new entry */ $ldap->cat($Current_DN); if(!$ldap->count()){ $is_new = true; }else{ $is_new = false; } /* if parameter removed is true, we have to add FAIstate to the current attrs FAIstate should end with ...|removed after this operation */ if($removed ){ $ldap->cat($Current_DN); /* Get current object, because we must add the FAIstate ...|removed */ if((!$ldap->count()) && !empty($parent_obj)){ $ldap->cat($parent_obj); } /* Check if we have found a suiteable object */ if(!$ldap->count()){ echo "Error can't remove this object ".$Current_DN; return; }else{ /* Set FAIstate to current objectAttrs */ $objectAttrs = FAI:: prepare_ldap_fetch_to_be_saved($ldap->fetch()); if(isset($objectAttrs['FAIstate'][0])){ if(!preg_match("/removed$/",$objectAttrs['FAIstate'][0])){ $objectAttrs['FAIstate'][0] .= "|removed"; } }else{ $objectAttrs['FAIstate'][0] = "|removed"; } /* Force reload of FAI classes */ $classes = array("FAIprofile","FAIscript","FAIpackageList","FAIpartitionTable","FAIHook","FAIvariable","FAItemplate"); if(count(array_intersect($classes,$objectAttrs['objectClass']))){ $reload_fai_classes = TRUE; } } } /* Check if this a leaf release or not */ if(count($following_releases) == 0 ){ /* This is a leaf object. It isn't inherited by any other object */ if(DEBUG_FAI_FUNC) { echo "Saving directly, is a leaf object
".$Current_DN; print_a($objectAttrs); } FAI::save_FAI_object($Current_DN,$objectAttrs); /* Force reload of FAI classes */ $classes = array("FAIprofile","FAIscript","FAIpackageList","FAIpartitionTable","FAIHook","FAIvariable","FAItemplate"); if(count(array_intersect($classes,$objectAttrs['objectClass']))){ $reload_fai_classes = TRUE; } }else{ /* This object is inherited by some sub releases */ /* Get all releases, that inherit this object */ $r = FAI::get_following_releases_that_inherit_this_object($Current_DN); /* Get parent object */ $ldap->cat($parent_obj); $parent_attrs = FAI::prepare_ldap_fetch_to_be_saved($ldap->fetch()); /* New objects require special handling */ if($is_new){ /* Force reload of FAI classes */ $classes = array("FAIprofile","FAIscript","FAIpackageList","FAIpartitionTable","FAIHook","FAIvariable","FAItemplate"); if(count(array_intersect($classes,$objectAttrs['objectClass']))){ $reload_fai_classes = TRUE; } /* check if there is already an entry named like this, in one of our parent releases */ if(!empty($parent_obj)){ if(DEBUG_FAI_FUNC) { echo "There is already an entry named like this.
"; echo "Saving main object".$Current_DN; print_a($objectAttrs); } FAI::save_FAI_object($Current_DN,$objectAttrs); foreach($r as $key){ if(DEBUG_FAI_FUNC) { echo "Saving parent to following release ".$key; print_a($parent_attrs); } FAI::save_FAI_object($key,$parent_attrs); } }else{ if(DEBUG_FAI_FUNC) { echo "Saving main object".$Current_DN; print_a($objectAttrs); } FAI::save_FAI_object($Current_DN,$objectAttrs); if(isset($objectAttrs['FAIstate'])){ $objectAttrs['FAIstate'] .= "|removed"; }else{ $objectAttrs['FAIstate'] = "|removed"; } foreach($r as $key ){ if(DEBUG_FAI_FUNC) { echo "Create an empty placeholder in follwing release ".$key; print_a($objectAttrs); } FAI::save_FAI_object($key,$objectAttrs); } } }else{ /* check if we must patch the follwing release */ if(!empty($r)){ foreach($r as $key ){ if(DEBUG_FAI_FUNC) { echo "Copy current objects original attributes to next release ".$key; print_a($parent_attrs); } /* Append FAIstate tag to ensure that freezed objects stay freezed */ $rTag = FAI::get_release_tag(FAI::get_release_dn($key)); $parent_attrs['FAIstate'] = $rTag; /* FAItemplateFile can be binary, therefore it needs to be fetched with * $ldap->get_attribute */ if (isset($parent_attrs['FAItemplateFile'])) { $parent_attrs['FAItemplateFile'] = $ldap->get_attribute($parent_obj, 'FAItemplateFile'); } FAI::save_FAI_object($key,$parent_attrs); } } if(DEBUG_FAI_FUNC) { echo "Saving current object".$parent_obj; print_a($objectAttrs); } FAI::save_FAI_object($parent_obj,$objectAttrs); if(($parent_obj != $Current_DN)){ msg_dialog::display(_("Error"), sprintf(_("Error, following objects should be equal '%s' and '%s'"),$parent_obj,$Current_DN), ERROR_DIALOG); } } } } /* Reload GOsa si FAI DB/cache */ if($reload_fai_classes){ if( class_available("DaemonEvent") && class_available("gosaSupportDaemon")){ $events = DaemonEvent::get_event_types(SYSTEM_EVENT | HIDDEN_EVENT); if(isset($events['TRIGGERED']['DaemonEvent_recreate_fai_release_db'])){ $evt = $events['TRIGGERED']['DaemonEvent_recreate_fai_release_db']; $tmp = new $evt['CLASS_NAME']($config); $tmp->set_type(TRIGGERED_EVENT); $tmp->add_targets(array("GOSA")); $o_queue = new gosaSupportDaemon(); if(!$o_queue->append($tmp)){ msg_dialog::display(_("Service infrastructure"),msgPool::siError($o_queue->get_error()),ERROR_DIALOG); } } } } session::set('FAI_objects_to_save',array()); } /* this function will remove all unused (deleted) objects, that have no parent object */ static function clean_up_releases($Current_DN) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); /* Collect some basic informations and initialize some variables */ $base_release = FAI::get_release_dn($Current_DN); $previous_releases = array_reverse(FAI:: get_previous_releases_of_this_release($base_release,true)); $Kill = array(); $Skip = array(); /* We must also include the given release dn */ $previous_releases[] = $base_release; /* Walk through all releases */ foreach($previous_releases as $release){ /* Get fai departments */ $deps_to_search = FAI::get_FAI_departments($release); /* For every single department (ou=hoos,ou ..) */ foreach($deps_to_search as $fai_base){ /* Ldap search for fai classes specified in this release */ $ldap->cd($fai_base); $ldap->search("(objectClass=FAIclass)",array("dn","objectClass","FAIstate")); /* check the returned objects, and add/replace them in our return variable */ while($attr = $ldap->fetch()){ $buffer = array(); # $name = str_ireplace($release,"",$attr['dn']); $name = preg_replace("/".preg_quote($release, '/')."/i","",$attr['dn']); if(isset($attr['FAIstate'][0])&&(preg_match("/removed$/",$attr['FAIstate'][0]))){ /* Check if this object is required somehow */ if(!isset($Skip[$name])){ $Kill[$attr['dn']] = $attr['dn']; } }else{ /* This object is required (not removed), so do not delete any following sub releases of this object */ $Skip[$name] = $attr['dn']; } } } } return($Kill); } /* Remove numeric index and 'count' from ldap->fetch result */ static function prepare_ldap_fetch_to_be_saved($attrs) { foreach($attrs as $key => $value){ if(is_numeric($key) || ($key == "count") || ($key == "dn")){ unset($attrs[$key]); } if(is_array($value) && isset($value['count'])){ unset($attrs[$key]['count']); } } return($attrs); } /* Save given attrs to specified dn*/ static function save_FAI_object($dn,$attrs) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->create_missing_trees(preg_replace('/^[^,]+,/', '', $dn)); $ldap->cd($dn); $ldap->cat($dn,array("dn")); if($ldap->count()){ /* Remove FAIstate*/ if(!isset($attrs['FAIstate'])){ $attrs['FAIstate'] = array(); } $ldap->modify($attrs); }else{ /* Unset description if empty */ if(empty($attrs['description'])){ unset($attrs['description']); } $ldap->add($attrs); } if (!$ldap->success()){ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, 0, get_class())); } } /* Return FAIstate freeze branch or "" for specified release department */ static function get_release_tag($dn) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($dn); $ldap->cat($dn,array("FAIstate")); if($ldap->count()){ $attr = $ldap->fetch(); if(isset($attr['FAIstate'][0])){ if(preg_match("/freeze/",$attr['FAIstate'][0])){ return("freeze"); }elseif(preg_match("/branch/",$attr['FAIstate'][0])){ return("branch"); } } } return(""); } static function get_following_releases_that_inherit_this_object($dn) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ret = array(); /* Get base release */ $base_release = FAI::get_release_dn($dn); /* Get previous release dns */ $sub_releases = FAI:: get_sub_releases_of_this_release($base_release); /* Get dn suffix. Example "FAIvairableEntry=keksdose,FAIvariable=Keksregal," */ # $dn_suffix = str_ireplace($base_release,"",$dn); $dn_suffix = preg_replace("/".preg_quote($base_release, '/')."/i","",$dn); /* Check if given object also exists whitin one of these releases */ foreach($sub_releases as $p_release => $name){ $check_dn = $dn_suffix.$p_release; $ldap->cat($check_dn,array("dn","objectClass")); if($ldap->count()){ //return($ret); }else{ $ret[$check_dn]=$check_dn; } } return($ret); } /* Get previous version of the object dn */ static function get_parent_release_object($dn,$include_myself=true) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $previous_releases= array(); /* Get base release */ $base_release = FAI::get_release_dn($dn); if($include_myself){ $previous_releases[] = $base_release; } /* Get previous release dns */ $tmp = FAI:: get_previous_releases_of_this_release($base_release,true); foreach($tmp as $release){ $previous_releases[] = $release; } /* Get dn suffix. Example "FAIvairableEntry=keksdose,FAIvariable=Keksregal," */ # $dn_suffix = str_ireplace($base_release,"",$dn); $dn_suffix = preg_replace("/".preg_quote($base_release, '/')."/i","",$dn); /* Check if given object also exists whitin one of these releases */ foreach($previous_releases as $p_release){ $check_dn = $dn_suffix.$p_release; $ldap->cat($check_dn,array("dn","objectClass")); if($ldap->count()){ return($check_dn); } } return(""); } /* return release names of all parent releases */ static function get_previous_releases_of_this_release($dn,$flat) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ret = array(); /* Explode dns into pieces, to be able to build parent dns */ $dns_to_check = gosa_ldap_explode_dn(preg_replace("/".preg_quote(",".$config->current['BASE'], '/')."/i","",$dn)); if(!is_array($dns_to_check)){ return; } /* Unset first entry which represents the given dn */ unset($dns_to_check['count']); unset($dns_to_check[key($dns_to_check)]); /* Create dns addresses and check if this dn is a release dn */ $id = 0; while(count($dns_to_check)){ /* build parent dn */ $new_dn = ""; foreach($dns_to_check as $part){ $new_dn .= $part.","; } $new_dn .= $config->current['BASE']; /* check if this dn is a release */ if(FAI::is_release_department($new_dn)){ if($flat){ $ret[$id] = $new_dn; }else{ $ret = array($new_dn=>$ret); } $id ++; }else{ return($ret); } reset($dns_to_check); unset($dns_to_check[key($dns_to_check)]); } return($ret); } /* This function returns all sub release names, recursivly */ static function get_sub_releases_of_this_release($dn,$flat = false) { global $config; $res = array(); $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->ls("(objectClass=FAIbranch)",$dn,array("objectClass","dn","ou")); while($attr = $ldap->fetch()){ /* Append department name */ if($flat){ $res[$attr['dn']] = $attr['ou'][0]; }else{ $res[$attr['dn']] = array(); } /* Get sub release departments of this department */ if(in_array_strict("FAIbranch",$attr['objectClass'])) { if($flat){ $tmp = FAI:: get_sub_releases_of_this_release($attr['dn'],$flat); foreach($tmp as $dn => $value){ $res[$dn]=$value; } }else{ $res[$attr['dn']] = FAI:: get_sub_releases_of_this_release($attr['dn']); } } } return($res); } /* Check if the given department is a release department */ static function is_release_department($dn) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->cat($dn,array("objectClass","ou")); /* Check objectClasses and name to check if this is a release department */ if($ldap->count()){ $attrs = $ldap->fetch(); $ou = ""; if(isset($attrs['ou'][0])){ $ou = $attrs['ou'][0]; } if((in_array_strict("FAIbranch",$attrs['objectClass'])) || ($ou == "fai")){ return($attrs['dn']); } } return(false); } static function copy_FAI_group_releases($source_release , $destination_name, $type ="" ) { global $config; $start = microtime(TRUE); $source_release = trim($source_release,"/"); echo "

".sprintf(_("Creating group application release for %s"),$destination_name)."

"; $sub_releases = array(); $source_dn = ""; $tmp = explode("/",$source_release); foreach($tmp as $part){ if(empty($part)){ continue; } $source_dn = "ou=".$part.",".$source_dn; $sub_releases[$part] = $source_dn; } /* Get all groups */ $ldap =$config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->search("(objectClass=posixGroup)",array("dn")); $groups = array(); while($attrs = $ldap->fetch()){ $groups[$attrs['dn']] = $attrs; } /* Get all FAI releases, to be able to create missing group application releases with the correct type of release (FAIstate=freeze/branch). */ $f_releases = array(); $ldap->cd ($config->current['BASE']); $ldap->search("(objectClass=FAIbranch)",array("ou","FAIstate")); while($attrs = $ldap->fetch()){ foreach($sub_releases as $sub_rel){ if(preg_match("/^".preg_quote($sub_rel.get_ou("faiManagement", "faiBaseRDN"), '/')."/i",$attrs['dn'])){ $f_releases[$sub_rel.get_ou("faiManagement", "faiBaseRDN")] = $attrs; } } } /* Get all group releases */ $g_releases = array(); foreach($groups as $dn => $data){ $ldap->cd($dn); $ldap->search("(objectClass=FAIbranch)",array("ou","FAIstate")); while($attrs = $ldap->fetch()){ $g_releases[$attrs['dn']] = $attrs; } } /* Check if base releases exists. If they do not exist, create them and adapt FAIstate attribute from FAI releases. */ foreach($sub_releases as $name => $sub_rel){ $FAIstate = ""; if(isset($f_releases[$sub_rel.get_ou("faiManagement", "faiBaseRDN")]) && isset($f_releases[$sub_rel.get_ou("faiManagement", "faiBaseRDN")]['FAIstate'])){ $FAIstate = $f_releases[$sub_rel.get_ou("faiManagement", "faiBaseRDN")]['FAIstate'][0]; } foreach($groups as $dn => $data){ if(!isset($g_releases[$sub_rel.$dn])){ $ldap->cd($dn); $r_data = array(); $r_data['ou'] = $name; $r_data['objectClass'] = array("top","organizationalUnit","FAIbranch"); if(!empty($FAIstate)) { $r_data['FAIstate'] = $FAIstate; } $ldap->cd($sub_rel.$dn) ; $ldap->add($r_data); echo " "._("Object").": "; echo sprintf(_("Adding missing group application release container %s."),substr(LDAP::fix($sub_rel.$dn),0,96))."
"; flush(); } } } /* Create new release container in each group. */ $n_data = array(); $n_data = array(); $n_data['ou'] = $destination_name; $n_data['objectClass'] = array("top","organizationalUnit","FAIbranch"); if(!empty($type)){ $n_data['FAIstate'] = $type."/cow"; } foreach($groups as $dn => $att){ $n_dn = "ou=".$destination_name.",".$source_dn.$dn; if(!isset($g_releases[$n_dn])){ $ldap->cd ($n_dn); $ldap->add($n_data); echo " "._("Object").": "; echo sprintf(_("Adding group application release container %s."),substr(LDAP::fix($n_dn),0,96))."
"; flush(); } } /* If the source release is empty, then create a new release by copying all group application menus into a new ou=$destination_name release container. If the source release is not empty. We detect all releases which match the source release dn and copy the contents. */ if(empty($source_release)){ $source_dns = $groups; }else{ $source_dns = array(); foreach($g_releases as $dn => $data){ if(preg_match("/^".preg_quote($source_dn, '/')."/",$dn)){ $source_dns[$dn] = $data; } } } /* Detect all menu object we have to copy */ $to_copy = array(); foreach($source_dns as $dn => $attrs){ $ldap->cd($dn); $ldap->ls("(|(objectClass=gotoSubmenuEntry)(objectClass=gotoMenuEntry))",$dn,array("dn")); while($attrs = $ldap->fetch()){ $destination = preg_replace("/".preg_quote($dn, '/')."$/","ou=".$destination_name.",".$dn,$attrs['dn']); $to_copy[$attrs['dn']] = $destination; } } /* At least create the menu objects object */ $plug = new plugin($config); foreach($to_copy as $source => $destination){ $ldap->cat($destination); if($ldap->count()){ echo " "._("Object").": "; echo sprintf(_("Could not create menu entry %s. (Already exists)."),substr(LDAP::fix($destination),0,96))."
"; flush(); }else{ $plug->copy($source,$destination); echo " "._("Object").": "; echo sprintf(_("Created group application menu entry for %s."),substr(LDAP::fix($destination),0,96))."
"; flush(); } } } /*! \brief Create a new FAI branch. * @param $sourcedn String The source release dn * @param $destinationdn String The destination dn * @param $destinationName String The name of the new release * @param $type String The release type (freeze/branch) * @param $is_first Boolean Use to identify the first func. call when recursivly called. * @param $depth Integer Current depth of recursion. */ static function copy_FAI_resource_recursive($sourcedn,$destinationdn,$destinationName,$type="branch",$is_first = true,$depth=0) { global $config; error_reporting(E_ALL | E_STRICT); $ldap = $config->get_ldap_link(); $basedn = $config->current['BASE']; $delarray = array(); /* The following code will output a status string * for each handled object, in a seperate iframe. */ /* Display current action information. */ if($is_first){ echo "

".sprintf(_("Creating copy of %s"),"".LDAP::fix($sourcedn)."")."

"; }else{ if(preg_match("/^ou=/",$sourcedn)){ echo "

"._("Processing")." ".LDAP::fix($destinationdn)."

"; }else{ $tmp = explode(",",$sourcedn); echo " "._("Object").": "; $deststr = LDAP::fix($destinationdn); if(strlen($deststr) > 96){ $deststr = substr($deststr,0,96)."..."; } echo $deststr."
"; } } /* .. immediately display infos */ flush(); /* Check if destination entry already exists */ $ldap->cat($destinationdn); if($ldap->count()){ echo _("Could not create new release, the destination DN is already in use."); return; }else{ $ldap->clearResult(); /* Get source entry * if it does not exist, abort here. */ $ldap->cd($basedn); $ldap->cat($sourcedn); $attr = $ldap->fetch(); if((!$attr) || (count($attr)) ==0) { echo _("Error while fetching source DN - aborted!"); return; } /* The current object we want to create is an department. * Create the department and add the FAIbranch tag. */ if(in_array_strict("organizationalUnit",$attr['objectClass'])){ $attr['dn'] = LDAP::convert($destinationdn); $ldap->cd($basedn); $ldap->create_missing_trees($destinationdn); $ldap->cd($destinationdn); /* If is first entry, append FAIbranch to department entry */ if($is_first){ $ldap->cat($destinationdn); $attr= $ldap->fetch(); /* Filter unneeded informations */ foreach($attr as $key => $value){ if(is_numeric($key)) unset($attr[$key]); if(isset($attr[$key]['count'])){ if(is_array($attr[$key])){ unset($attr[$key]['count']); } } } unset($attr['count']); unset($attr['dn']); /* Add marking attribute */ $attr['objectClass'][] = "FAIbranch"; $attr['FAIstate'] = $type; /* Add this entry */ $ldap->modify($attr); } }else{ /* Replicate all relevant FAI objects here. * FAI objects, Apps and Mimetypes. * Get all attributes as binary value, to ensure that Icon, File template aso * are created correctly. */ foreach($attr as $key => $value){ if(in_array_strict($key ,array("gotoLogonScript", "gosaApplicationIcon","gotoMimeIcon"))){ $sr= ldap_read($ldap->cid, LDAP::fix($sourcedn), "$key=*", array($key)); $ei= ldap_first_entry($ldap->cid, $sr); if ($tmp= @ldap_get_values_len($ldap->cid, $ei,$key)){ $attr[$key] = $tmp; } } if(is_numeric($key)) unset($attr[$key]); if(isset($attr[$key]['count'])){ if(is_array($attr[$key])){ unset($attr[$key]['count']); } } } unset($attr['count']); unset($attr['dn']); if(!in_array_strict("FAIobject",$attr['objectClass'])){ $attr['objectClass'][] = "FAIobject"; } $attr['FAIstate'] = $type; /* Add entry */ $ldap->cd($destinationdn); $ldap->cat($destinationdn); $a = $ldap->fetch(); if(!count($a)){ $ldap->add($attr); } if(!$ldap->success()){ /* Some error occurred */ msg_dialog::display(_("Fatal error"), sprintf(_("Release creation failed due to LDAP errors: %s"), $ldap->get_error()."
".$sourcedn."
".$destinationdn."
"),FATAL_ERROR_DIALOG); exit(); } } } echo "" ; /* Prepare for recursive copy. * Get all object within the source dn and * call the recursive copy for each. */ $ldap->ls ("(objectClass=*)",$sourcedn); while ($ldap->fetch()){ $deldn= $ldap->getDN(); $delarray[$deldn]= strlen($deldn); } asort ($delarray); reset ($delarray); $depth ++; foreach($delarray as $dn => $bla){ if($dn != $destinationdn){ $ldap->cd($basedn); $item = $ldap->fetch($ldap->cat($dn)); if(!in_array_strict("FAIbranch",$item['objectClass'])){ FAI::copy_FAI_resource_recursive($dn,str_replace($sourcedn,$destinationdn,$dn),$destinationName,$type,false,$depth); } } } if($is_first){ echo "
"; } } /* This function returns the dn of the object release */ static function get_release_dn($Current_DN) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); /* Split dn into pices */ $dns_to_check = gosa_ldap_explode_dn(preg_replace("/".preg_quote(",".$config->current['BASE'], '/')."/i","",$Current_DN)); if(!is_array($dns_to_check)){ return; } /* Use dn pieces, to create sub dns like ou=test,ou=1,ou=0... ou=1,ou=0... ou=0... To check which dn is our release container. */ unset($dns_to_check['count']); while(count($dns_to_check)){ /* Create dn */ $new_dn = ""; foreach($dns_to_check as $part){ $new_dn .= $part.","; } $new_dn .= $config->current['BASE']; /* Check if this dn is a release dn */ if(FAI::is_release_department($new_dn)){ return($new_dn); } /* Remove first element of dn pieces */ reset($dns_to_check); unset($dns_to_check[key($dns_to_check)]); } return(""); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/tabsScript.inc0000644000175000017500000000210411424304034020132 0ustar cajuscajusaddSpecialTabs(); } function check($ignore_account= FALSE) { return (tabs::check(TRUE)); } function save($ignore_account= FALSE) { $baseobject= $this->by_object['faiScript']; $cn = preg_replace('/,/', '\,', $baseobject->cn); $cn = preg_replace('/"/', '\"', $cn); $new_dn ='cn='.$cn.",".get_ou("faiScript", "faiScriptRDN").$this->parent->fai_release; if ($this->dn != $new_dn && $this->dn != "new"){ /* if( new_dn is subtree of this->dn ) */ $cnt1 = count(explode(",",$this->dn)); $cnt2 = count(explode(",",$new_dn)); if((strstr($new_dn,$this->dn))&&($cnt1<$cnt2)){ msg_dialog::display(_("Error"), _("Moving the tree failed. Destination tree is subtree of source tree."), ERROR_DIALOG); }else{ // $baseobject->recursive_move($this->dn, $new_dn); } } $this->dn= $new_dn; tabs::save(TRUE); } } ?> gosa-plugin-fai-2.7.4/admin/fai/class_faiTemplateEntry.inc0000644000175000017500000002255111470716476022510 0ustar cajuscajusorig_cn= $object['cn']; $this->dn=$object['dn']; foreach($object as $name=>$value){ $oname = $name; $this->$oname=$value; } }else{ $this->status = "new"; $this->orig_cn= false; } $this->user = explode( '.', $this->FAIowner ); $this->group = $this->user[1]; $this->user = $this->user[0]; session::set('binary',$this->FAItemplateFile); session::set('binarytype','octet-stream'); session::set('binaryfile',basename($this->FAItemplatePath)); if(!empty($this->dn) && $this->dn != "new"){ $ldap = $this->config->get_ldap_link(); session::set('binary',$ldap->get_attribute($this->dn,"FAItemplateFile")); $this->FAItemplateFile = session::get('binary'); } $this->FAImode= sprintf("%0.4s", $this->FAImode)." "; } function execute() { /* Call parent execute */ plugin::execute(); /* Fill templating stuff */ $smarty = get_smarty(); $smarty->assign("rand", rand(0, 10000)); $display = ""; if(isset($_POST['TmpFileUpload']) && $this->acl_is_writeable("FAItemplateFile")){ if($str=file_get_contents(gosa_file_name($_FILES['FAItemplateFile']['tmp_name']))){ $this->FAItemplateFile = $str; /* If we don't have a filename set it from upload filename. */ if( 0 == strlen(preg_replace("/^.*\//","",$this->FAItemplatePath))){ $this->FAItemplatePath = preg_replace("/[^\/]*$/","",$this->FAItemplatePath).$_FILES['FAItemplateFile']['name']; } session::set('binary',$this->FAItemplateFile); session::set('binarytype','octet-stream'); session::set('binaryfile',basename($this->FAItemplatePath)); } } /* File download requested */ if(isset($_POST['getFAItemplate'])){ send_binary_content($this->FAItemplateFile,$this->cn.".FAItemplate"); } /* File edit requested */ if(isset($_POST['editFAItemplate'])){ $this->dialog = new faiTemplateEdit($this->config,$this->dn,$this->FAItemplateFile); } /* File edit requested, was canceled */ if(isset($_POST['templateEditCancel'])){ $this->dialog = null; } /* File edit requested, was canceled */ if($this->dialog instanceOf faiTemplateEdit && isset($_POST['templateEditSave'])){ $this->dialog->save_object(); $msgs = $this->dialog->check(); if(count($msgs)){ msg_dialog::displayChecks($msgs); }else{ $this->FAItemplateFile = $this->dialog->save(); $this->dialog = null; } } /* Display opened dialog */ if($this->dialog){ $this->dialog->save_object(); return($this->dialog->execute()); } $status= _("no file uploaded yet"); $bStatus = false; // Hide download icon on default if(strlen($this->FAItemplateFile)){ $status= sprintf(_("exists in database (size: %s bytes)"),strlen($this->FAItemplateFile)); $bStatus = true; // Display download icon } $smarty->assign("status",$status); $smarty->assign("bStatus",$bStatus); /* Magic quotes GPC, escapes every ' " \, to solve some security risks * If we post the escaped strings they will be escaped again */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); } /* Assign file modes */ $tmode= "$this->FAImode "; foreach (array("s", "u", "g", "o") as $type){ $current= substr($tmode, 0, 1); $tmode= preg_replace("/^./", "", $tmode); $nr= 1; while ($nr < 5){ if ($current & $nr){ $smarty->assign($type.$nr, "checked"); } else { $smarty->assign($type.$nr, ""); } $nr+= $nr; } } $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $attr => $desc){ $smarty->assign($attr."ACL",$this->getacl($attr,preg_match("/freeze/",$this->FAIstate))); } /* We now split cn/FAItemplatePath to make things more clear... */ $smarty->assign("templateFile", set_post(preg_replace("/^.*\//","",$this->FAItemplatePath))); $smarty->assign("templatePath", set_post(preg_replace("/[^\/]*$/","",$this->FAItemplatePath))); $smarty->assign("freeze", preg_match("/freeze/i",$this->FAIstate));; $display.= $smarty->fetch(get_template_path('faiTemplateEntry.tpl', TRUE)); return($display); } /* Save data to object */ function save_object() { /* Check if form is posted and we are not freezed */ if((isset($_POST['SubObjectFormSubmitted'])) && !preg_match("/freeze/", $this->FAIstate)){ /* Remember destination current path depending on the ACLs we will assemble a new one later. */ $cur_path = $this->FAItemplatePath; plugin::save_object(); /* Set user.group (FAIowner) attribute */ if(isset($_POST['group']) && isset($_POST["user"]) && $this->acl_is_writeable("FAIowner")){ $this->FAIowner = get_post("user").'.'.get_post("group"); $this->user = get_post('user'); $this->group= get_post('group'); } /* Check if permissions have changed */ if($this->acl_is_writeable("FAImode")){ /* Save mode */ $tmode= ""; foreach (array("s", "u", "g", "o") as $type){ $nr= 1; $dest= 0; while ($nr < 5){ if (isset($_POST["$type$nr"])){ $dest+= $nr; } $nr+= $nr; } $tmode= $tmode.$dest; } $this->FAImode= $tmode; } /* Check if we are allowed to change the destination directory */ if($this->acl_is_writeable("FAItemplatePath")){ $cur_path = get_post('templatePath').'/'.basename($cur_path); } /* Check if we are allowed to change the destination directory */ if($this->acl_is_writeable("cn")){ $cur_path = preg_replace("/[^\/]*$/","",$cur_path).get_post('templateFile'); } $cur_path= str_replace("//","/",$cur_path); if(trim($cur_path,"/") == ""){ $cur_path= ""; } $this->FAItemplatePath = $this->cn= $cur_path; } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); if(isset($this->parent->SubObjects[$this->cn]) && $this->parent->SubObjects[$this->cn]['status'] != 'delete' && $this->cn != $this->orig_cn){ $message[] = msgPool::duplicated(_("Name")); } if(empty($this->FAItemplateFile)){ $message[]= msgPool::required(_("File")); } if(!preg_match('/^\//', $this->FAItemplatePath)){ $message[]= msgPool::invalid(_("Destination path"),"","","/path"); } $b = trim(basename($this->FAItemplatePath)); if($b == ""){ $message[] = msgPool::required(_("File name")); } if($this->user == ""){ $message[] = msgPool::required(_("User")); }elseif(preg_match("/[^0-9a-z]/i",$this->user)){ $message[] = msgPool::invalid(_("User"),$this->user,"/[0-9a-z]/"); } if($this->group == ""){ $message[] = msgPool::required(_("Group")); }elseif (!tests::is_uid($this->group)){ if (strict_uid_mode()){ $message[]= msgPool::invalid(_("Group"), $this->group, "/[a-z0-9_-]/"); } else { $message[]= msgPool::invalid(_("Group"), $this->group, "/[a-z0-9_-]/i"); } } return ($message); } function save() { $tmp=array(); foreach($this->attributes as $attrs){ $tmp[$attrs] = $this->$attrs; } if(($this->orig_cn)&&($tmp['cn']!=$this->orig_cn)){ $tmp['remove']['from'] = $this->orig_cn; $tmp['remove']['to'] = $tmp['cn']; } $tmp['dn'] = $this->dn; $tmp['status'] = $this->status; return($tmp); } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Template entry"), "plDescription" => _("FAI template entry"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 25, "plSection" => array("administration"), "plCategory" => array("fai"), "plProvidedAcls" => array( "cn" => _("Name"), "description" => _("Description"), "FAItemplateFile" => _("Template file"), "FAItemplatePath" => _("Template path"), "FAIowner" => _("File owner"), "FAImode" => _("File permissions")) )); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/class_faiHook.inc0000644000175000017500000003711311475226075020607 0ustar cajuscajusdn =$dn; /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ $res = FAI::get_all_objects_for_given_base($this->dn,"(&(objectClass=FAIclass)(objectClass=".$this->subClass."))"); foreach($res as $obj){ /* Skip not relevant objects */ if(!preg_match("/".preg_quote($this->dn, '/')."$/i",$obj['dn'])) continue; $objects = array(); $objects['status'] = "FreshLoaded"; $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subAttributes); $this->SubObjects[$objects['cn']] = $objects; } } $this->is_new = FALSE; if($this->dn == "new"){ $this->is_new =TRUE; } $this->ui = get_userinfo(); $this->hookListWidget= new sortableListing($this->convertList(TRUE), $this->convertList()); $this->hookListWidget->setDeleteable(true); $this->hookListWidget->setInstantDelete(false); $this->hookListWidget->setEditable(true); $this->hookListWidget->setWidth("100%"); $this->hookListWidget->setHeight("140px"); $this->hookListWidget->setHeader(array(_("Name"),_("Description"))); } function convertList($type = FALSE) { $data = array(); $s_acl = $this->ui->get_permissions($this->dn,"fai/faiScriptEntry","FAIscript"); foreach($this->SubObjects as $cn => $entry){ if($entry['status'] == "delete") continue; if($type){ $data[$cn] = $entry; }else{ if(!isset($entry['description'])) $entry['description']=""; $data[$cn] = array('data' => array($entry['cn'], $entry['description'])); } } return($data); } /* Reload some attributes */ function get_object_attributes($object,$attributes) { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->cat($object['dn'],$attributes); $tmp = $ldap->fetch(); foreach($attributes as $attrs){ if(isset($tmp[$attrs][0])){ $var = $tmp[$attrs][0]; /* Check if we must decode some attributes */ if(in_array_ics($attrs,$this->sub64coded)){ $var = base64_decode($var); } /* check if this is a binary entry */ if(in_array_ics($attrs,$this->subBinary)){ $var = $ldap->get_attribute($object['dn'], $attrs,$r_array=0); } $object[$attrs] = $var; } } return($object); } function acl_base_for_current_object($dn) { if($dn == "new" || $dn == ""){ if($this->dn == "new"){ $dn= $this->parent->parent->acl_base; }else{ $dn = $this->dn; } } return($dn); } function getUsedFAItask($cn) { $ret = array(); foreach($this->SubObjects as $name => $class){ if($class['cn'] == $cn){ continue; } if($class['status'] != "delete"){ $ret[$class['FAItask']] = $class['FAItask']; } } return($ret); } function execute() { /* Call parent execute */ plugin::execute(); if($this->is_account && !$this->view_logged){ $this->view_logged = TRUE; new log("view","fai/".get_class($this),$this->dn); } /* Fill templating stuff */ $smarty= get_smarty(); $display= ""; /* New Listhandling */ $once = true; $this->hookListWidget->setAcl($this->getacl("")); $this->hookListWidget->save_object(); $action = $this->hookListWidget->getAction(); if($action['action'] =="edit"){ $s_entry = $this->hookListWidget->getKey($action['targets'][0]); if(isset($this->SubObjects[$s_entry])){ $obj = $this->SubObjects[$s_entry]; if($obj['status'] == "FreshLoaded"){ $obj = $this->get_object_attributes($obj,$this->sub_Load_Later); } $this->dialog= new $this->subClassName($this->config,$this->dn,$obj); $this->dialog->FAIstate = $this->FAIstate; $this->dialog->set_acl_base($this->acl_base_for_current_object($obj['dn'])); $this->dialog->set_acl_category("fai"); set_object_info($obj['dn']); $this->dialog->parent = &$this; $this->is_dialog=true; } } if($action['action'] =="delete"){ $s_entry = $this->hookListWidget->getKey($action['targets'][0]); if(isset($this->SubObjects[$s_entry])){ $dn = $this->acl_base_for_current_object($this->SubObjects[$s_entry]['dn']); $acl = $this->ui -> get_permissions($dn,"fai/faiScriptEntry") ; if(preg_match("/d/",$acl)){ $status = $this->SubObjects[$s_entry]['status']; if($status == "edited" || $status == "FreshLoaded"){ $this->SubObjects[$s_entry]['status']= "delete"; }else{ unset($this->SubObjects[$s_entry]); } } } } /* Add new sub object */ if(isset($_POST['AddSubObject'])){ $c_dn = $this->acl_base_for_current_object($this->dn); $this->dialog= new $this->subClassName($this->config,"new"); $this->dialog->set_acl_base($c_dn); $this->dialog->FAIstate = $this->FAIstate; $this->dialog->set_acl_category("fai"); $this->dialog->parent = &$this; $this->is_dialog=true; } /* Save Dialog */ if(isset($_POST['SaveSubObject'])){ /* Perform post check*/ $this->dialog->save_object(); /* Get messages */ $msgs = $this->dialog->check(); /* print errors */ if(count($msgs)>0){ foreach($msgs as $msg){ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG); } }else{ /* Get return object */ $obj = $this->dialog->save(); if(isset($obj['remove'])){ $old_stat = $this->SubObjects[$obj['remove']['from']]['status']; /* Depending on status, set new status */ if($old_stat == "edited" || $old_stat == "FreshLoaded"){ $this->SubObjects[$obj['remove']['from']]['status'] = "delete"; }elseif($this->SubObjects[$obj['remove']['from']]['status']=="new"){ unset($this->SubObjects[$obj['remove']['from']]); } $obj['status'] = "new"; $this->SubObjects[$obj['remove']['to']] = $obj; unset($this->SubObjects[$obj['remove']['to']]['remove']); }else{ if($obj['status'] == "FreshLoaded"){ $obj['status'] = "edited"; } $this->SubObjects[$obj['cn']]=$obj; } $this->is_dialog=false; unset($this->dialog); $this->dialog=FALSE; } } /* Sort entries */ $tmp = $keys = array(); foreach($this->SubObjects as $key => $entry){ $keys[$key]=$key; } natcasesort($keys); foreach($keys as $key){ $tmp[$key]=$this->SubObjects[$key]; } $this->SubObjects = $tmp; /* Cancel Dialog */ if(isset($_POST['CancelSubObject'])){ $this->is_dialog=false; unset($this->dialog); $this->dialog=FALSE; } /* Print dialog if $this->dialog is set */ if(is_object($this->dialog)){ $this->dialog->save_object(); $display = $this->dialog->execute(); return($display); } $this->hookListWidget->setListData($this->convertList(TRUE), $this->convertList()); $this->hookListWidget->update(); $smarty->assign("Entry_listing",$this->hookListWidget->render()); /* Magic quotes GPC, escapes every ' " \, to solve some security risks * If we post the escaped strings they will be escaped again */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); } $tmp = $this->plInfo(); $c_dn = $this->acl_base_for_current_object($this->dn); $smarty->assign("sub_object_is_addable", preg_match("/c/",$this->ui->get_permissions($c_dn,"fai/faiHookEntry")) && !preg_match('/^freeze/', $this->FAIstate)); foreach($tmp['plProvidedAcls'] as $name => $translation){ $smarty->assign($name."ACL",$this->getacl($name)); } $display.= $smarty->fetch(get_template_path('faiHook.tpl', TRUE)); return($display); } /* Delete me, and all my subtrees */ function remove_from_parent() { if($this->acl_is_removeable()){ $ldap = $this->config->get_ldap_link(); $ldap->cd ($this->dn); $release = $this->parent->parent->fai_release; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $this->dn); new log("remove","fai/".get_class($this),$use_dn,$this->attributes); FAI::prepare_to_save_FAI_object($use_dn,array(),true); foreach($this->SubObjects as $name => $obj){ $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $obj['dn']); FAI::prepare_to_save_FAI_object($use_dn,array(),true); } $this->handle_post_events("remove"); } } /* Save data to object */ function save_object() { if((isset($_POST['FAIhook_posted'])) && !preg_match("/^freeze/", $this->FAIstate)){ plugin::save_object(); } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); /* Ensure that we do not overwrite an allready existing entry */ if($this->is_new){ $release = $this->parent->parent->fai_release; $new_dn= 'cn='.$this->cn.",".get_ou("faiHook", "faiHookRDN").get_ou("faiManagement", "faiBaseRDN").$release; $res = faiManagement::check_class_name("FAIhook",$this->cn,$new_dn); if(isset($res[$this->cn])){ $message[] = msgPool::duplicated(_("Name")); } } return ($message); } /* Save to LDAP */ function save() { plugin::save(); $ldap = $this->config->get_ldap_link(); FAI::prepare_to_save_FAI_object($this->dn,$this->attrs); if($this->initially_was_account){ new log("modify","fai/".get_class($this),$this->dn,$this->attributes); }else{ new log("create","fai/".get_class($this),$this->dn,$this->attributes); } $ldap->cd($this->dn); /* Prepare FAIscriptEntry to write it to ldap * First sort array. * Because we must delete old entries first. * After deletion, we perform add and modify */ $Objects = array(); /* We do not need to save untouched objects */ foreach($this->SubObjects as $name => $obj){ if($obj['status'] != "FreshLoaded"){ $Objects[$name] = $obj; } } foreach($Objects as $name => $obj){ foreach($this->sub64coded as $codeIt){ $obj[$codeIt]=base64_encode($obj[$codeIt]); } $tmp = array(); $attributes = array_merge($this->sub_Load_Later,$this->subAttributes); foreach($attributes as $attrs){ if(!isset($obj[$attrs])) continue; if($obj[$attrs] == ""){ $obj[$attrs] = array(); } $tmp[$attrs] = $obj[$attrs]; } $tmp['objectClass'] = $this->subClasses; $sub_dn = "cn=".$obj['cn'].",".$this->dn; if($obj['status']=="new"){ $ldap->cat($sub_dn,array("objectClass")); if($ldap->count()){ $obj['status']="edited"; } } /* Tag object */ $this->tag_attrs($tmp, $sub_dn, $this->gosaUnitTag); if($obj['status'] == "delete"){ FAI::prepare_to_save_FAI_object($sub_dn,array(),true); $this->handle_post_events("remove"); }elseif($obj['status'] == "edited"){ FAI::prepare_to_save_FAI_object($sub_dn,$tmp); $this->handle_post_events("modify"); }elseif($obj['status']=="new"){ FAI::prepare_to_save_FAI_object($sub_dn,$tmp); $this->handle_post_events("add"); } } } function PrepareForCopyPaste($source) { plugin::PrepareForCopyPaste($source); /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ $res = FAI::get_all_objects_for_given_base($source['dn'],"(&(objectClass=FAIclass)(objectClass=".$this->subClass."))"); foreach($res as $obj){ /* Skip not relevant objects */ if(!preg_match("/".preg_quote($source['dn'], '/')."$/i",$obj['dn'])) continue; $objects = array(); $objects['status'] = "edited"; $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subAttributes); $objects = $this->get_object_attributes($objects,$this->sub_Load_Later); $this->SubObjects[$objects['cn']] = $objects; } } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Hook"), "plDescription" => _("FAI hook"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 20, "plSection" => array("administration"), "plCategory" => array("fai"), "plProperties" => array( array( "name" => "faiHookRDN", "type" => "rdn", "default" => "ou=hooks,", "description" => _("RDN for FAI hook storage."), "check" => "gosaProperty::isRdn", "migrate" => "migrate_faiHookRDN", "group" => "plugin", "mandatory" => TRUE)), "plProvidedAcls" => array( "cn" => _("Name")." ("._("Read only").")", "description" => _("Description")) )); } /*! \brief Used for copy & paste. Returns a HTML input mask, which allows to change the cn of this entry. @param Array Array containing current status && a HTML template. */ function getCopyDialog() { $vars = array("cn"); $smarty = get_smarty(); $smarty->assign("cn", set_post($this->cn)); $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE)); $ret = array(); $ret['string'] = $str; $ret['status'] = ""; return($ret); } /*! \brief Used for copy & paste. Some entries must be renamed to avaoid duplicate entries. */ function saveCopyDialog() { if(isset($_POST['cn'])){ $this->cn = get_post('cn'); } } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/faiTemplateEdit.tpl0000644000175000017500000000147511415562301021120 0ustar cajuscajus

Template entry

{if !$mb_extension} {msgPool type=missingext param1='multi byte'}

{else} {if $write_protect}{t}This FAI template is write protected. Editing may break it!{/t}
{/if}
 
{/if} gosa-plugin-fai-2.7.4/admin/fai/faiHook.tpl0000644000175000017500000000253311363055277017446 0ustar cajuscajus

{t}Generic{/t}

{render acl=$cnACL} {/render}
{render acl=$descriptionACL} {/render}

{t}List of hook scripts{/t}

{$Entry_listing} {if $sub_object_is_addable} {else} {/if}
gosa-plugin-fai-2.7.4/admin/fai/tabsPartition.inc0000644000175000017500000000213411424304027020644 0ustar cajuscajusaddSpecialTabs(); } function check($ignore_account= FALSE) { return (tabs::check(TRUE)); } function save($ignore_account= FALSE) { $baseobject= $this->by_object['faiPartitionTable']; $cn = preg_replace('/,/', '\,', $baseobject->cn); $cn = preg_replace('/"/', '\"', $cn); $new_dn ='cn='.$cn.",".get_ou("faiPartitionTable", "faiPartitionRDN").$this->parent->fai_release; if ($this->dn != $new_dn && $this->dn != "new"){ /* if( new_dn is subtree of this->dn ) */ $cnt1 = count(explode(",",$this->dn)); $cnt2 = count(explode(",",$new_dn)); if((strstr($new_dn,$this->dn))&&($cnt1<$cnt2)){ msg_dialog::display(_("Error"), _("Moving the tree failed. Destination tree is subtree of source tree."), ERROR_DIALOG); }else{ // $baseobject->recursive_move($this->dn, $new_dn); } } $this->dn= $new_dn; tabs::save(TRUE); } } ?> gosa-plugin-fai-2.7.4/admin/fai/faiSummary.tpl0000644000175000017500000000076411424503647020204 0ustar cajuscajus {if $readable} {else} {/if}

{t}FAI object tree{/t}

{image path="images/lists/reload.png" action="reloadList"}{t}Reload class and release configuration from parent object.{/t}
{$objectList}

{t}You are not allowed to view the FAI summary.{/t}

gosa-plugin-fai-2.7.4/admin/fai/class_faiVariable.inc0000644000175000017500000003457311475226136021441 0ustar cajuscajusdn =$dn; /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ $res = FAI::get_all_objects_for_given_object($this->dn,"(&(objectClass=FAIclass)(objectClass=".$this->subClass."))"); foreach($res as $obj){ $objects = array(); $objects['description'] = ""; $objects['status'] = "FreshLoaded"; $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subAttributes); $this->SubObjects[$objects['cn']] = $objects; } } $this->is_new = FALSE; if($this->dn == "new"){ $this->is_new =TRUE; } $this->ui = get_userinfo(); } function acl_base_for_current_object($dn) { if($dn == "new" || $dn == ""){ if($this->dn == "new"){ $dn= $this->parent->parent->acl_base; }else{ $dn = $this->dn; } } return($dn); } function execute() { /* Call parent execute */ plugin::execute(); if($this->is_account && !$this->view_logged){ $this->view_logged = TRUE; new log("view","fai/".get_class($this),$this->dn); } /* Fill templating stuff */ $smarty= get_smarty(); $display= ""; /* Add new sub object */ if(isset($_POST['AddSubObject']) && !preg_match("/freeze/i",$this->FAIstate)){ $this->dialog= new $this->subClassName($this->config,"new"); $this->dialog->set_acl_base($this->acl_base_for_current_object($this->dn)); $this->dialog->set_acl_category("fai"); $this->dialog->parent = &$this; $this->dialog->FAIstate = $this->FAIstate; $this->is_dialog=true; } if($this->dn != "new"){ set_object_info($this->dn); } /* Edit selected Sub Object */ if((isset($_POST['EditSubObject']))&&(isset($_POST['SubObject']))){ $var = $_POST['SubObject'][0]; $c_dn = $this->acl_base_for_current_object($this->SubObjects[$var]['dn']); $this->dialog= new $this->subClassName($this->config,$this->dn,$this->SubObjects[$var]); $this->dialog->set_acl_category("fai"); $this->dialog->set_acl_base($c_dn); $this->dialog->FAIstate = $this->FAIstate; $this->dialog->parent = &$this; set_object_info($this->SubObjects[$var]['dn']); $this->is_dialog=true; } /* Remove Sub object */ if((isset($_POST['DelSubObject']))&&(isset($_POST['SubObject'])) && !preg_match("/freeze/i",$this->FAIstate)){ foreach($_POST['SubObject'] as $var){ $c_dn = $this->acl_base_for_current_object($this->SubObjects[$var]['dn']); $acl = $this->ui->get_permissions($c_dn,"fai/faiVariable"); if(preg_match("/d/",$acl)){ if($this->SubObjects[$var]['status'] != "new"){ $this->SubObjects[$var]['status']= "delete"; }else{ unset($this->SubObjects[$var]); } } } } /* Save Dialog */ if(isset($_POST['SaveSubObject']) && !preg_match("/freeze/i",$this->FAIstate)){ $this->dialog->save_object(); $msgs = $this->dialog->check(); if(count($msgs)>0){ foreach($msgs as $msg){ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG); } }else{ $obj = $this->dialog->save(); if(isset($obj['remove'])){ if($this->SubObjects[$obj['remove']['from']]['status'] != "new"){ $this->SubObjects[$obj['remove']['from']]['status'] = "delete"; }else{ unset($this->SubObjects[$obj['remove']['from']]); } $obj['status'] = "new"; $this->SubObjects[$obj['remove']['to']] = $obj; unset($this->SubObjects[$obj['remove']['to']]['remove']); }else{ $obj['status'] = "edited"; $this->SubObjects[$obj['cn']]=$obj; } $this->is_dialog=false; unset($this->dialog); $this->dialog=FALSE; } } /* Sort entries */ $tmp = $keys = array(); foreach($this->SubObjects as $key => $entry){ $keys[$key]=$key; } natcasesort($keys); foreach($keys as $key){ $tmp[$key]=$this->SubObjects[$key]; } $this->SubObjects = $tmp; /* Cancel Dialog */ if(isset($_POST['CancelSubObject'])){ $this->is_dialog=false; unset($this->dialog); $this->dialog=FALSE; } /* Print dialog if $this->dialog is set */ if(is_object($this->dialog)){ $this->dialog->save_object(); $display = $this->dialog->execute(); return($display); } $ui = get_userinfo(); $ret = $this->getList(); $tmp = array(); foreach($this->SubObjects as $key => $obj){ $acl = $ui->get_permissions($obj['dn'],"fai/faiVariableEntry"); if((preg_match("/r/",$acl) || $obj['dn'] == "new") && isset($ret[$key])){ $tmp[$key] = $ret[$key]; } } $smarty->assign("SubObjects",$tmp); /* Magic quotes GPC, escapes every ' " \, to solve some security risks * If we post the escaped strings they will be escaped again */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); } $c_dn = $this->acl_base_for_current_object($this->dn); $smarty->assign("is_createable", preg_match("/c/",$this->ui->get_permissions($c_dn,"fai/faiVariableEntry")) && !preg_match("/freeze/", $this->FAIstate)); $smarty->assign("is_removeable", preg_match("/d/",$this->ui->get_permissions($c_dn,"fai/faiVariableEntry")) && !preg_match("/freeze/", $this->FAIstate)); $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translation) { $smarty->assign($name."ACL",$this->getacl($name,preg_match("/freeze/i",$this->FAIstate))); } $display.= $smarty->fetch(get_template_path('faiVariable.tpl', TRUE)); return($display); } /* Generate listbox friendly SubObject list */ function getList(){ $a_return=array(); foreach($this->SubObjects as $obj){ if($obj['status'] != "delete"){ if((isset($obj['description']))&&(!empty($obj['description']))&&(!preg_match("/\[\*\]/",$obj['description']))){ if (preg_match("/\[\*\]/", $obj['description'])){ $a_return[$obj['cn']]= $obj['cn']." [".preg_replace("/\s*\[\*\]\s*/", "", $obj['description'])."]"; } else { $a_return[$obj['cn']]= $obj['cn']."=".$obj['FAIvariableContent']." [".$obj['description']."]"; } }else{ if (preg_match("/\[\*\]/", $obj['description'])){ $a_return[$obj['cn']]= $obj['cn']; } else { $a_return[$obj['cn']]= $obj['cn']."=".$obj['FAIvariableContent']; } } } } return($a_return); } /* Delete me, and all my subtrees */ function remove_from_parent() { if($this->acl_is_removeable()){ $ldap = $this->config->get_ldap_link(); $ldap->cd ($this->dn); $release = $this->parent->parent->fai_release; $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $this->dn); new log("remove","fai/".get_class($this),$use_dn,$this->attributes); FAI::prepare_to_save_FAI_object($use_dn,array(),true); foreach($this->SubObjects as $name => $obj){ $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $obj['dn']); FAI::prepare_to_save_FAI_object($use_dn,array(),true); } $this->handle_post_events("remove"); } } /* Save data to object */ function save_object() { if((isset($_POST['FAIvariable_posted'])) && !preg_match("/freeze/", $this->FAIstate) ){ plugin::save_object(); } } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); /* Ensure that we do not overwrite an allready existing entry */ if($this->is_new){ $release = $this->parent->parent->fai_release; $new_dn= 'cn='.$this->cn.",".get_ou("faiVariable", "faiVariableRDN").get_ou("faiManagement", "faiBaseRDN").$release; $res = faiManagement::check_class_name("FAIvariable",$this->cn,$new_dn); if(isset($res[$this->cn])){ $message[] = msgPool::duplicated(_("Name")); } } return ($message); } /* Save to LDAP */ function save() { plugin::save(); $ldap = $this->config->get_ldap_link(); FAI::prepare_to_save_FAI_object($this->dn,$this->attrs); if($this->initially_was_account){ new log("modify","fai/".get_class($this),$this->dn,$this->attributes); }else{ new log("create","fai/".get_class($this),$this->dn,$this->attributes); } /* Prepare FAIscriptEntry to write it to ldap * First sort array. * Because we must delete old entries first. * After deletion, we perform add and modify */ $Objects = $this->SubObjects; foreach($Objects as $name => $obj){ foreach($this->sub64coded as $codeIt){ $obj[$codeIt]=base64_encode($obj[$codeIt]); } $tmp = array(); foreach($this->subAttributes as $attrs){ if(!isset($obj[$attrs]) || $obj[$attrs] == ""){ $obj[$attrs] = array(); } $tmp[$attrs] = $obj[$attrs]; } $tmp['objectClass'] = $this->subClasses; $sub_dn = "cn=".$obj['cn'].",".$this->dn; if($obj['status']=="new"){ $ldap->cat($sub_dn,array("objectClass")); if($ldap->count()){ $obj['status']="edited"; } } /* Tag object */ $this->tag_attrs($tmp, $sub_dn, $this->gosaUnitTag); if($obj['status'] == "delete"){ FAI::prepare_to_save_FAI_object($sub_dn,array(),true); $this->handle_post_events("remove"); }elseif($obj['status'] == "edited"){ FAI::prepare_to_save_FAI_object($sub_dn,$tmp); $this->handle_post_events("modify"); }elseif($obj['status']=="new"){ FAI::prepare_to_save_FAI_object($sub_dn,$tmp); $this->handle_post_events("add"); } } } function PrepareForCopyPaste($source) { plugin::PrepareForCopyPaste($source); /* Read all leaf objects of this object (For FAIscript this would be FAIscriptEntry) */ $res = FAI::get_all_objects_for_given_object($source['dn'],"(&(objectClass=FAIclass)(objectClass=".$this->subClass."))"); foreach($res as $obj){ $objects = array(); $objects['status'] = "edited"; $objects['dn'] = $obj['dn']; $objects = $this->get_object_attributes($objects,$this->subAttributes); $this->SubObjects[$objects['cn']] = $objects; } } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Variable"), "plDescription" => _("FAI variable"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 22, "plSection" => array("administration"), "plCategory" => array("fai"), "plProperties" => array( array( "name" => "faiVariableRDN", "type" => "rdn", "default" => "ou=variables,", "description" => _("RDN for FAI variable storage."), "check" => "gosaProperty::isRdn", "migrate" => "migrate_faiVariableRDN", "group" => "plugin", "mandatory" => TRUE)), "plProvidedAcls" => array( "cn" => _("Name")." ("._("Read only").")", "description" => _("Description")) )); } /*! \brief Used for copy & paste. Returns a HTML input mask, which allows to change the cn of this entry. @param Array Array containing current status && a HTML template. */ function getCopyDialog() { $vars = array("cn"); $smarty = get_smarty(); $smarty->assign("cn", set_post($this->cn)); $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE)); $ret = array(); $ret['string'] = $str; $ret['status'] = ""; return($ret); } /*! \brief Used for copy & paste. Some entries must be renamed to avaoid duplicate entries. */ function saveCopyDialog() { if(isset($_POST['cn'])){ $this->cn = get_post('cn'); } } /* Reload some attributes */ function get_object_attributes($object,$attributes) { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->cat($object['dn'],$attributes); $tmp = $ldap->fetch(); foreach($attributes as $attrs){ if(isset($tmp[$attrs][0])){ $var = $tmp[$attrs][0]; /* Check if we must decode some attributes */ if(in_array_ics($attrs,$this->sub64coded)){ $var = base64_decode($var); } /* check if this is a binary entry */ if(in_array_ics($attrs,$this->subBinary)){ $var = $ldap->get_attribute($object['dn'], $attrs,$r_array=0); } $object[$attrs] = $var; } } return($object); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/faiGroupHandle.tpl0000644000175000017500000000375211424503647020757 0ustar cajuscajus {if $mode == "remove"} {t}Please select the objects you want to remove:{/t} {elseif $mode == "edit"} {t}Select the object you want to edit:{/t} {elseif $mode == "copy"} {t}Select the object you want to copy:{/t} {/if}
{foreach from=$FAI_group item=item key=key} {/foreach}
{if $item.freezed} {image path="images/lists/locked.png"} {else} {if $mode == "remove" || $mode == "copy"} {elseif $mode == "edit"} {/if} {/if} {image path="{$types.$key.IMG}" title="{$types.$key.NAME}"} {if $item.freezed} {/if}


 
gosa-plugin-fai-2.7.4/admin/fai/tabsHook.inc0000644000175000017500000000211511424304022017565 0ustar cajuscajusaddSpecialTabs(); } function check($ignore_account= FALSE) { return (tabs::check(TRUE)); } function save($ignore_account= FALSE) { $baseobject= $this->by_object['faiHook']; $cn = preg_replace('/,/', '\,', $baseobject->cn); $cn = preg_replace('/"/', '\"', $cn); $new_dn ='cn='.$cn.",".get_ou("faiHook", "faiHookRDN").$this->parent->fai_release; if ($this->dn != $new_dn && $this->dn != "new"){ /* if( new_dn is subtree of this->dn ) */ $cnt1 = count(explode(",",$this->dn)); $cnt2 = count(explode(",",$new_dn)); if((strstr($new_dn,$this->dn))&&($cnt1<$cnt2)){ msg_dialog::display(_("Error"), _("Moving the tree failed. Destination tree is subtree of source tree."), ERROR_DIALOG); }else{ // $baseobject->recursive_move($this->dn, $new_dn); } } $this->dn= $new_dn; tabs::save(TRUE); } } ?> gosa-plugin-fai-2.7.4/admin/fai/faiPartitionTable.tpl0000644000175000017500000000406111363055304021454 0ustar cajuscajus

{t}Generic{/t}

{render acl=$cnACL} {/render}
{render acl=$descriptionACL} {/render}

 

{$Entry_listing} {if $sub_object_is_addable} {else} {/if}
gosa-plugin-fai-2.7.4/admin/fai/class_faiTemplateEdit.inc0000644000175000017500000000417511666172273022274 0ustar cajuscajusmb_extension = FALSE; }else{ $this->value = $value; $this->enc_before_edit = mb_detect_encoding($value); if($this->enc_before_edit != "ASCII"){ $this->write_protect = TRUE; } } } function execute() { /* Call parent execute */ plugin::execute(); /* We now split cn/FAItemplatePath to make things more clear... */ $smarty = get_smarty(); $smarty->assign("templateValue",set_post(($this->value))); $smarty->assign("write_protect",$this->write_protect); $smarty->assign("mb_extension",$this->mb_extension); return($smarty->fetch(get_template_path('faiTemplateEdit.tpl', TRUE))); } /* Save data to object */ function save_object() { if(!$this->mb_extension) return; if(isset($_POST['templateValue']) && !$this->write_protect){ $this->value = get_post('templateValue'); $this->enc_after_edit = mb_detect_encoding($this->value); } if(isset($_POST['editAnyway'])) $this->write_protect = FALSE; } /* Check supplied data */ function check() { $message = array(); if($this->mb_extension && !$this->write_protect && $this->enc_after_edit !== $this->enc_before_edit ){ $msg = sprintf(_("The file encoding has changed from '%s' to '%s'. Do you really want to save?"), "".$this->enc_before_edit."","".$this->enc_after_edit.""); $message[] = $msg; $this->enc_before_edit = $this->enc_after_edit; } return($message); } function save() { /* Strip out dos newlines */ $value = strtr($this->value, array("\x0D" => "")); return($value); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/remove_branch.tpl0000644000175000017500000000123611354363056020674 0ustar cajuscajus
{image path="images/warning.png" align="top"} {t}Warning{/t}

{$info}{t}This includes all account data, system access, etc. for this branch. Please double check if your really want to do this since there is no way for GOsa to get your data back.{/t}

{t}So - if you're sure - press 'Delete' to continue or 'Cancel' to abort.{/t}


gosa-plugin-fai-2.7.4/admin/fai/class_faiHookEntry.inc0000644000175000017500000001647211664677031021640 0ustar cajuscajusorig_cn= $object['cn']; $this->dn=$object['dn']; foreach($object as $name=>$value){ $oname = $name; $this->$oname=$value; } }elseif(is_array($object)){ if(count($object)){ $this->orig_cn= $object['cn']; $this->dn=$object['dn']; foreach($object as $name=>$value){ $oname = $name; $this->$oname=$value; } }else{ $this->status = "new"; $this->orig_cn = false; } } // Keep an eye on dangerous encodings, we may break scripts while editing. $this->mb_extension = function_exists("mb_detect_encoding"); if($this->mb_extension){ $this->enc_before_edit = mb_detect_encoding($this->FAIscript); if($this->enc_before_edit != "ASCII"){ $this->write_protect = TRUE; } } } function execute() { /* Call parent execute */ plugin::execute(); /* Fill templating stuff */ $smarty = get_smarty(); $display = ""; if(isset($_POST['ImportUpload'])){ if(($_FILES['ImportFile']['error']!=0)){ msg_dialog::display(_("Error"), msgPool::incorrectUpload(), ERROR_DIALOG); }else if(($_FILES['ImportFile']['size']==0)){ msg_dialog::display(_("Error"), msgPool::incorrectUpload(_("file is empty")), ERROR_DIALOG); }else{ $str = file_get_contents(gosa_file_name($_FILES['ImportFile']['tmp_name'])); $this->FAIscript = $str; // Check encoding again if($this->mb_extension){ $this->enc_before_edit = mb_detect_encoding($this->FAIscript); if($this->enc_before_edit != "ASCII"){ $this->write_protect = TRUE; } } } } // Assign encoding related variables. $smarty->assign("write_protect",$this->write_protect); /* File download requested */ if(isset($_POST['download'])){ send_binary_content($this->FAIscript,$this->cn.".FAIhook"); } /* Create download button*/ if($this->dn != "new" && $this->acl_is_readable("FAIscript")){ $smarty->assign("DownMe", image('images/save.png', "download")); }else{ $smarty->assign("DownMe",""); } $used_tasks = $this->parent->getUsedFAItask($this->cn); $tasks = $this->tasks; foreach($this->tasks as $id => $task){ if(in_array_strict($task,$used_tasks)){ unset($tasks[$id]); } } $smarty->assign("tasks", $tasks); /* Magic quotes GPC, escapes every ' " \, to solve some security risks * If we post the escaped strings they will be escaped again */ foreach($this->attributes as $attrs){ $smarty->assign($attrs,set_post($this->$attrs)); } $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translated){ $acl = $this->getacl($name, preg_match("/freeze/",$this->FAIstate)); $smarty->assign($name."ACL",$acl); } $smarty->assign("FAIscript" , set_post($this->FAIscript)); $smarty->assign("freeze" , preg_match("/freeze/",$this->FAIstate)); $display.= $smarty->fetch(get_template_path('faiHookEntry.tpl', TRUE)); return($display); } /* Save data to object */ function save_object() { if((isset($_POST['SubObjectFormSubmitted'])) && !preg_match("/^freeze/", $this->FAIstate)){ foreach($this->attributes as $attrs){ // Do not update the hook content, here, we'll do this a few lines below. if($attrs == 'FAIscript') continue; if($this->acl_is_writeable($attrs)){ if(isset($_POST[$attrs])){ $this->$attrs = get_post($attrs); }else{ $this->$attrs = ""; } } } // Get FAIscript changes if(isset($_POST['FAIscript']) && $this->acl_is_writeable('FAIscript') && !$this->write_protect){ // Check encoding again. $this->FAIscript = get_post('FAIscript'); $this->enc_after_edit = mb_detect_encoding($this->FAIscript); } } if(isset($_POST['editAnyway'])) $this->write_protect = FALSE; } /* Check supplied data */ function check() { /* Call common method to give check the hook */ $message= plugin::check(); if($this->mb_extension && !$this->write_protect && $this->enc_after_edit !== $this->enc_before_edit ){ $msg = sprintf(_("The script encodig has changed from '%s' to '%s'. Do you really want to save?"), "".$this->enc_before_edit."","".$this->enc_after_edit.""); $message[] = $msg; $this->enc_before_edit = $this->enc_after_edit; } if(isset($this->parent->SubObjects[$this->cn]) && $this->cn != $this->orig_cn && $this->parent->SubObjects[$this->cn]['status'] != 'delete'){ $message[]= msgPool::duplicated(_("Name")); } $c = trim($this->cn); if($c == ""){ $message[] = msgPool::required(_("Name")); } if(preg_match("/[^a-z0-9_\-]/i",$c)){ $message[] = msgPool::invalid(_("Name"),$c,"/[a-z0-9_\-]/i"); } $s = trim($this->FAIscript); if($s == ""){ $message[]= msgPool::required(_("Script")); } return ($message); } function save() { $tmp=array(); foreach($this->attributes as $attrs){ $tmp[$attrs] = $this->$attrs; } /* Strip out dos newlines */ $tmp['FAIscript']= strtr($this->FAIscript, array("\x0D" => "")); if(($this->orig_cn)&&($tmp['cn']!=$this->orig_cn)){ $tmp['remove']['from'] = $this->orig_cn; $tmp['remove']['to'] = $tmp['cn']; } $tmp['dn'] = $this->dn; $tmp['status'] = $this->status; return($tmp); } /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Hook entry"), "plDescription" => _("FAI hook entry"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 21, "plSection" => array("administration"), "plCategory" => array("fai"), "plProvidedAcls" => array( "cn" => _("Name"), "description" => _("Description"), "FAItask" => _("Task"), "FAIscript" => _("FAI script")) )); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> gosa-plugin-fai-2.7.4/admin/fai/faiDiskEntry.tpl0000644000175000017500000000515711415624304020456 0ustar cajuscajus

{t}Device{/t}

{$must}  {render acl=$DISKcnACL} {/render}
{render acl=$DISKFAIdiskOptionACL} {/render}
  {render acl=$DISKdescriptionACL} {/render}
{render acl=$DISKFAIdiskOptionACL} {/render}
{if $FAIdiskType == "lvm"}

{t}Combined physical partitions{/t}


    {/if}

{t}Partition entries{/t}

{$setup}
{if !$freeze} {if $sub_object_is_createable} {else} {/if} {/if}



{if !$freeze} {/if}
gosa-plugin-fai-2.7.4/admin/fai/tabsPackage.inc0000644000175000017500000000211311424304024020220 0ustar cajuscajusaddSpecialTabs(); } function check($ignore_account= FALSE) { return (tabs::check(TRUE)); } function save($ignore_account= FALSE) { $baseobject= $this->by_object['faiPackage']; $cn = preg_replace('/,/', '\,', $baseobject->cn); $cn = preg_replace('/"/', '\"', $cn); $new_dn ='cn='.$cn.",".get_ou("faiPackage", "faiPackageRDN").$this->parent->fai_release; if ($this->dn != $new_dn && $this->dn != "new"){ /* if( new_dn is subtree of this->dn ) */ $cnt1 = count(explode(",",$this->dn)); $cnt2 = count(explode(",",$new_dn)); if((strstr($new_dn,$this->dn))&&($cnt1<$cnt2)){ msg_dialog::display(_("Error"), _("Moving the tree failed. Destination tree is subtree of source tree."), ERROR_DIALOG); }else{ // $baseobject->recursive_move($this->dn, $new_dn); } } $this->dn= $new_dn; tabs::save(TRUE); } } ?> gosa-plugin-fai-2.7.4/admin/fai/faiPackage.tpl0000644000175000017500000000366311363055301020072 0ustar cajuscajus

{t}Generic{/t}

{render acl=$cnACL} {/render}
{render acl=$descriptionACL} {/render}

{t}Repository{/t}

{t}Release{/t}: {$release}
{t}Section{/t}: {$section}
{t}Install method{/t}: {render acl=$FAIinstallMethodACL} {/render}

{render acl=$FAIpackageACL} {/render}

{t}Used packages{/t}

{$listing}
 
gosa-plugin-fai-2.7.4/admin/fai/main.inc0000644000175000017500000000341711663662216016766 0ustar cajuscajusremove_lock(); } } /* Remove this plugin from session */ if ( $cleanup ){ session::un_set('faiManagement'); }else{ /* Create faiManagement object on demand */ if (!session::is_set('faiManagement')){ $faiManagement= new faiManagement ($config, $ui); session::set('faiManagement',$faiManagement); } $faiManagement = session::get('faiManagement'); $fai_inst = &$faiManagement; $display= $faiManagement->execute(); /* Reset requested? */ if (isset($_GET['reset']) && $_GET['reset'] == 1){ session::un_set ('faiManagement'); } /* Show and save dialog */ session::set('faiManagement',$faiManagement); } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>