merge master into filesystem

This commit is contained in:
Robin Appelman 2012-01-30 20:29:33 +01:00
commit 4522d19b4c
362 changed files with 11838 additions and 2924 deletions

278
3rdparty/timepicker/GPL-LICENSE.txt vendored Normal file
View File

@ -0,0 +1,278 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.""''''''

20
3rdparty/timepicker/MIT-LICENSE.txt vendored Normal file
View File

@ -0,0 +1,20 @@
Copyright (c) 2011 John Resig, http://jquery.com/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,568 @@
/*
* jQuery UI CSS Framework 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*/
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.ui-helper-clearfix { display: inline-block; }
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix { height:1%; }
.ui-helper-clearfix { display:block; }
/* end clearfix */
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/*
* jQuery UI CSS Framework 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
*/
/* Component containers
----------------------------------*/
.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
.ui-widget-content a { color: #333333; }
.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
.ui-widget-header a { color: #ffffff; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
.ui-widget :active { outline: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
/* Overlays */
.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*
* jQuery UI Resizable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizable#theming
*/
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
* jQuery UI Selectable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Selectable#theming
*/
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
/*
* jQuery UI Accordion 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Accordion#theming
*/
/* IE/Win - Fix animation bug - #4615 */
.ui-accordion { width: 100%; }
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
.ui-accordion .ui-accordion-content-active { display: block; }
/*
* jQuery UI Autocomplete 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Autocomplete#theming
*/
.ui-autocomplete { position: absolute; cursor: default; }
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
/*
* jQuery UI Menu 1.8.14
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Menu#theming
*/
.ui-menu {
list-style:none;
padding: 2px;
margin: 0;
display:block;
float: left;
}
.ui-menu .ui-menu {
margin-top: -3px;
}
.ui-menu .ui-menu-item {
margin:0;
padding: 0;
zoom: 1;
float: left;
clear: left;
width: 100%;
}
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
zoom:1;
}
.ui-menu .ui-menu-item a.ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
}
/*
* jQuery UI Button 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Button#theming
*/
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }
/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4; }
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
/* no icon support for input elements, provide padding by default */
input.ui-button { padding: .4em 1em; }
/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
/*
* jQuery UI Dialog 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Dialog#theming
*/
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
/*
* jQuery UI Slider 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Slider#theming
*/
.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
* jQuery UI Tabs 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Tabs#theming
*/
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
/*
* jQuery UI Datepicker 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Datepicker#theming
*/
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}/*
* jQuery UI Progressbar 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Progressbar#theming
*/
.ui-progressbar { height:2em; text-align: left; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }

View File

@ -0,0 +1,17 @@
/*!
* jQuery UI 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI
*/
(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.14",
keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();
b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,
"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",
function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,
outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,"tabindex"),d=isNaN(b);
return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=
0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);

View File

@ -0,0 +1,16 @@
/*
* jQuery UI Position 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Position
*/
(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=
m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);

View File

@ -0,0 +1,35 @@
/*
* jQuery UI Tabs 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Tabs
*
* Depends:
* jquery.ui.core.js
* jquery.ui.widget.js
*/
(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=
-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,
"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.14"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&
a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);

View File

@ -0,0 +1,15 @@
/*!
* jQuery UI Widget 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Widget
*/
(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,
a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;
e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,
this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},
widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},
enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1,69 @@
/*
* Timepicker stylesheet
* Highly inspired from datepicker
* FG - Nov 2010 - Web3R
*
* version 0.0.3 : Fixed some settings, more dynamic
* version 0.0.4 : Removed width:100% on tables
* version 0.1.1 : set width 0 on tables to fix an ie6 bug
*/
.ui-timepicker-inline { display: inline; }
#ui-timepicker-div { padding: 0.2em }
.ui-timepicker-table { display: inline-table; width: 0; }
.ui-timepicker-table table { margin:0.15em 0 0 0; border-collapse: collapse; }
.ui-timepicker-hours, .ui-timepicker-minutes { padding: 0.2em; }
.ui-timepicker-table .ui-timepicker-title { line-height: 1.8em; text-align: center; }
.ui-timepicker-table td { padding: 0.1em; width: 2.2em; }
.ui-timepicker-table th.periods { padding: 0.1em; width: 2.2em; }
/* span for disabled cells */
.ui-timepicker-table td span {
display:block;
padding:0.2em 0.3em 0.2em 0.5em;
width: 1.2em;
text-align:right;
text-decoration:none;
}
/* anchors for clickable cells */
.ui-timepicker-table td a {
display:block;
padding:0.2em 0.3em 0.2em 0.5em;
width: 1.2em;
cursor: pointer;
text-align:right;
text-decoration:none;
}
/* buttons and button pane styling */
.ui-timepicker .ui-timepicker-buttonpane {
background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0;
}
.ui-timepicker .ui-timepicker-buttonpane button { margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
/* The close button */
.ui-timepicker .ui-timepicker-close { float: right }
/* the now button */
.ui-timepicker .ui-timepicker-now { float: left; }
/* the deselect button */
.ui-timepicker .ui-timepicker-deselect { float: left; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-timepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}

73
3rdparty/timepicker/js/i18n/i18n.html vendored Normal file
View File

@ -0,0 +1,73 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Internationalisation page for the jquery ui timepicker</title>
<script src="../include/jquery-1.5.1.min.js"></script>
<script src="../include/jquery.ui.core.min.js"></script>
<script src="../include/jquery.ui.widget.min.js"></script>
<script src="../jquery.ui.timepicker.js"></script>
<link rel="stylesheet" href="../include/jquery-ui-1.8.14.custom.css" />
<link rel="stylesheet" href="../jquery.ui.timepicker.css" />
<style>
#timepicker { font-size: 10px }
</style>
<script src='jquery.ui.timepicker-de.js'></script>
<script src='jquery.ui.timepicker-fr.js'></script>
<script src='jquery.ui.timepicker-ja.js'></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
$.timepicker.setDefaults( $.timepicker.regional[ "" ] );
$('#timepicker').timepicker({
showCloseButton: true,
showNowButton: true,
showDeselectButton: true
});
$('#locale').change(function() {
$('#timepicker').timepicker( "option",
$.timepicker.regional[ $( this ).val() ] );
});
});
</script>
Select a localisation :
<select id='locale'>
<option value='fr'>Fran&ccedil;ais</option>
<option value='de'>Deutsch</option>
<option value='ja'>Japanese</option>
</select>
<br>
<div id="timepicker">
</div>
<br>
List of localisations :
<ul>
<li>
<a href="jquery.ui.timepicker-de.js">Deutsch (jquery.ui.timepicker-de.js</a>
</li>
<li>
<a href="jquery.ui.timepicker-fr.js">Fran&ccedil;ais (jquery.ui.timepicker-fr.js</a>
</li>
<li>
<a href="jquery.ui.timepicker-ja.js">Japanese (jquery.ui.timepicker-ja.js</a>
</li>
</ul>
</body>

View File

@ -0,0 +1,9 @@
/* Deutsch initialisation for the timepicker plugin */
/* Written by Bernd Plagge (bplagge@choicenet.ne.jp). */
jQuery(function($){
$.timepicker.regional['de'] = {
hourText: 'Stunde',
minuteText: 'Minuten',
amPmText: ['AM', 'PM'] }
$.timepicker.setDefaults($.timepicker.regional['de']);
});

View File

@ -0,0 +1,13 @@
/* French initialisation for the jQuery time picker plugin. */
/* Written by Bernd Plagge (bplagge@choicenet.ne.jp),
Francois Gelinas (frank@fgelinas.com) */
jQuery(function($){
$.timepicker.regional['fr'] = {
hourText: 'Heures',
minuteText: 'Minutes',
amPmText: ['AM', 'PM'],
closeButtonText: 'Fermer',
nowButtonText: 'Maintenant',
deselectButtonText: 'Désélectionner' }
$.timepicker.setDefaults($.timepicker.regional['fr']);
});

View File

@ -0,0 +1,9 @@
/* Japanese initialisation for the jQuery time picker plugin. */
/* Written by Bernd Plagge (bplagge@choicenet.ne.jp). */
jQuery(function($){
$.timepicker.regional['ja'] = {
hourText: '時間',
minuteText: '分',
amPmText: ['午前', '午後'] }
$.timepicker.setDefaults($.timepicker.regional['ja']);
});

File diff suppressed because it is too large Load Diff

105
3rdparty/timepicker/releases.txt vendored Normal file
View File

@ -0,0 +1,105 @@
Release 0.2.9 - November 13, 2011
Fixed the zIndex problem and removed the zIndex option (Thanks everyone who reported the problem)
Fix a bug where repeatedly clicking on hour cells made the timepicker very slow.
Added Italian translation, thanks to Serge Margarita.
Release 0.2.8 - November 5, 2011
Updated "defaultTime" to allow for Date object (github issue #26)
Fixed the now and deselect buttons in IE
Release 0.2.7 - October 19, 2011
Added option to omit minutes in parsed time when user select 0 for minutes. (Thanks tribalvibes, Github issue #23)
Added support for internationalisation (fr, de and ja, Thanks Bernd Plagge).
Release 0.2.6 - October 12, 2011
Fixed a bug when input ID have more then one special char. (Thamks Jacqueline Krijnen)
Fixed a bug when parsing hours only or minutes only time. (Thanks protron, <a href="https://github.com/fgelinas/timepicker/issues/20">github issue #20</a>)
Added 'Now', 'Deselect' and 'Close' buttons. (Thanks Christian Grobmeier for the close button code, <a href="https://github.com/fgelinas/timepicker/issues/20">github issue #22</a>)
Release 0.2.5 - September 13, 2011
Added support for disable and enable. (Suggested by danielrex, github issue #17)
Added an example for 2 timepicker to behave as a period selector (start time and end time). (Thanks Bill Pellowe)
Renamed the stylesheet to jquery.ui.timepicker.css to be more consistent with jQuery UI file name convention.
Release 0.2.4 - August 5, 2011
Fixed the hand cursor in the css file. (Thanks Mike Neumegen)
Added position option to use with the jquery ui position utility.
Added option to display only hours or only minutes.
Release 0.2.3 - July 11, 2011
Fix github issue #3 : Bug when hours or minutes choices does not divide by number of rows (thanks wukimus)
Changed default behavior of the defaultTime option, if set to '' and input is empty, there will be no highlighted time in the popup (Thanks Rasmus Schultz)
Fix github issue #4 : Error when generating empty minute cell. (Thanks 123Haynes)
Fix github issue #5 : Add functionality for "getTime" option. (Thanks edanuff)
Added the periodSeparator option. (thanks jrchamp)
Fixed "getTime" for inline timepickers. (thanks Mike Neumegen)
Added "getHour" and "getMinute" to get individual values.
Release 0.2.2 - June 16, 2011
Fixed a "console.log" line that I forgot to remove before release 0.2.1
Release 0.2.1 - June 12, 2011
Timepicker does not give the focus back to the input any more after time selection. This is similar to the datepicker behaviour and is more natural to the user because it shows the dialog again when the user click on the input again, as expected.
Added options to customize the hours and minutes ranges and interval for more customization.
Release 0.2 - May 28, 2011
So in the previous release I mixed up versions and lost some changes, I guess that's what happen when you drink and code.
Release 0.1.2 - May 26, 2011
Fixed a bug with inline timepickers that would append a #timepickr hashtag when selecting hours and minutes.
Fixed z-index problem with IE6 (Thanks Graham Bentley)
Added selection of highlighted text when enter is pressed on the input field (Thanks Glen Chiacchieri)
Adjusted some focus problems, now the input gets the focus back when the used click on hours / minutes.
Release 0.1.something aka the lost release - around April 11
Fixed a bug for when input Id had a dot in it, it was getting double escaped when it should not. (Thanks Zdenek Machac)
So in 0.1.1 I created a bug that made timepicker changes the location hash, well now it's fixed. (Thanks Lucas Falk)
Release 0.1.1 - April 6, 2011
Changed the cells click and dblclick binding for faster rendering in IE6/7 (Thanks Blair Parsons)
Fixed a class naming bug created in 0.1.0 (Thanks Morlion Peter)
Release 0.1.0 - March 23, 2011
Fixed some bugs with release 0.0.9
Release 0.0.9 - March 22, 2011
Added zIndex option (Thanks Frank Enderle)
Added option showPeriodLabels that defines if the AM/PM labels are displayed on the left (Thanks Frank Enderle)
Added showOn ['focus'|'button'|'both'] and button options for alternate trigger method
Release 0.0.8 - Fev 17, 2011
Fixed close event not triggered when switching to another input with time picker (thanks Stuart Gregg)
Release 0.0.7 - Fev 10, 2011
Added function to set time after initialisation :$('#timepicker').timepicker('setTime',newTime);
Added support for disabled period of time : onHourShow and onMinuteShow (thanks Rene Felgentr<74>ger)
Release 0.0.6 - Jan 19, 2011
Added standard "change" event being triggered on the input when the content changes. (Thanks Rasmus Schultz)
Added support for inline timePicker, attached to div or span
Added altField that receive the parsed time value when selected time changes
Added defaultTime value to use when input field is missing (inline) or input value is empty
if defaultTime is missing, current time is used
Release 0.0.5 - Jan 18, 2011
Now updating time picker selected value when manually typing in the text field (thanks Rasmus Schultz)
Fixed : with showPeriod: true and showLeadingZero: true, PM hours did not show leading zeros (thanks Chandler May)
Fixed : with showPeriod: true and showLeadingZero: true, Selecting 12 AM shows as 00 AM in the input field, also parsing 12AM did not work correctly (thanks Rasmus Schultz)
Release 0.0.4 - jan 10, 2011
changed showLeadingZero to affect only hours, added showMinutesLeadingZero for minutes display
Removed width:100% for tables in css
Release 0.0.3 - Jan 8, 2011
Re-added a display:none on the main div (fix a small empty div visible at the bottom of the page before timepicker is called) (Thanks Gertjan van Roekel)
Fixed a problem where the timepicker was never displayed with jquery ui 1.8.7 css,
the problem was the class ui-helper-hidden-accessible, witch I removed.
Thanks Alexander Fietz and StackOverflow : http://stackoverflow.com/questions/4522274/jquery-timepicker-and-jqueryui-1-8-7-conflict
Release 0.0.2 - Jan 6, 2011
Updated to include common display options for USA users
Stephen Commisso - Jan 2011
As it is a timepicker, I inspired most of the code from the datepicker
Francois Gelinas - Nov 2010

View File

@ -12,6 +12,18 @@ require_once('../../../lib/base.php');
OC_JSON::checkLoggedIn();
OC_JSON::checkAppEnabled('calendar');
if(trim($_POST['name']) == ''){
OC_JSON::error(array('message'=>'empty'));
exit;
}
$calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser());
foreach($calendars as $cal){
if($cal['displayname'] == $_POST['name']){
OC_JSON::error(array('message'=>'namenotavailable'));
exit;
}
}
$userid = OC_User::getUser();
$calendarid = OC_Calendar_Calendar::addCalendar($userid, $_POST['name'], 'VEVENT,VTODO,VJOURNAL', null, 0, $_POST['color']);
OC_Calendar_Calendar::setCalendarActive($calendarid, 1);

View File

@ -184,6 +184,8 @@ if($data['repeating'] == 1){
}
$repeat['weekdays'] = $repeat_weekdays_;
}
}else{
$repeat['repeat'] = 'doesnotrepeat';
}
$calendar_options = OC_Calendar_Calendar::allCalendars(OC_User::getUser());
@ -227,19 +229,20 @@ $tmpl->assign('endtime', $endtime);
$tmpl->assign('description', $description);
$tmpl->assign('repeat', $repeat['repeat']);
$tmpl->assign('repeat_month', $repeat['month']);
$tmpl->assign('repeat_weekdays', $repeat['weekdays']);
$tmpl->assign('repeat_interval', $repeat['interval']);
$tmpl->assign('repeat_end', $repeat['end']);
$tmpl->assign('repeat_count', $repeat['count']);
$tmpl->assign('repeat_weekofmonth', $repeat['weekofmonth']);
$tmpl->assign('repeat_date', $repeat['date']);
$tmpl->assign('repeat_year', $repeat['year']);
$tmpl->assign('repeat_byyearday', $repeat['byyearday']);
$tmpl->assign('repeat_bymonthday', $repeat['bymonthday']);
$tmpl->assign('repeat_bymonth', $repeat['bymonth']);
$tmpl->assign('repeat_byweekno', $repeat['byweekno']);
if($repeat['repeat'] != 'doesnotrepeat'){
$tmpl->assign('repeat_month', $repeat['month']);
$tmpl->assign('repeat_weekdays', $repeat['weekdays']);
$tmpl->assign('repeat_interval', $repeat['interval']);
$tmpl->assign('repeat_end', $repeat['end']);
$tmpl->assign('repeat_count', $repeat['count']);
$tmpl->assign('repeat_weekofmonth', $repeat['weekofmonth']);
$tmpl->assign('repeat_date', $repeat['date']);
$tmpl->assign('repeat_year', $repeat['year']);
$tmpl->assign('repeat_byyearday', $repeat['byyearday']);
$tmpl->assign('repeat_bymonthday', $repeat['bymonthday']);
$tmpl->assign('repeat_bymonth', $repeat['bymonth']);
$tmpl->assign('repeat_byweekno', $repeat['byweekno']);
}
$tmpl->printpage();
?>
?>

View File

@ -12,6 +12,18 @@ require_once('../../../lib/base.php');
OC_JSON::checkLoggedIn();
OC_JSON::checkAppEnabled('calendar');
if(trim($_POST['name']) == ''){
OC_JSON::error(array('message'=>'empty'));
exit;
}
$calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser());
foreach($calendars as $cal){
if($cal['displayname'] == $_POST['name'] && $cal['id'] != $_POST['id']){
OC_JSON::error(array('message'=>'namenotavailable'));
exit;
}
}
$calendarid = $_POST['id'];
$calendar = OC_Calendar_App::getCalendar($calendarid);//access check
OC_Calendar_Calendar::editCalendar($calendarid, $_POST['name'], null, null, null, $_POST['color']);

View File

@ -1,12 +1,12 @@
<?php
if(version_compare(PHP_VERSION, '5.3.0', '>')){
if(version_compare(PHP_VERSION, '5.3.0', '>=')){
$l=new OC_L10N('calendar');
OC::$CLASSPATH['OC_Calendar_App'] = 'apps/calendar/lib/app.php';
OC::$CLASSPATH['OC_Calendar_Calendar'] = 'apps/calendar/lib/calendar.php';
OC::$CLASSPATH['OC_Calendar_Object'] = 'apps/calendar/lib/object.php';
OC::$CLASSPATH['OC_Calendar_Hooks'] = 'apps/calendar/lib/hooks.php';
OC::$CLASSPATH['OC_Connector_Sabre_CalDAV'] = 'apps/calendar/lib/connector_sabre.php';
OC_HOOK::connect('OC_User', 'post_createUser', 'OC_Calendar_Hooks', 'deleteUser');
OC_HOOK::connect('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
OC_Util::addScript('calendar','loader');
OC_App::register( array(
'order' => 10,
@ -16,7 +16,7 @@ if(version_compare(PHP_VERSION, '5.3.0', '>')){
'id' => 'calendar_index',
'order' => 10,
'href' => OC_Helper::linkTo( 'calendar', 'index.php' ),
'icon' => OC_Helper::imagePath( 'calendar', 'icon.png' ),
'icon' => OC_Helper::imagePath( 'calendar', 'icon.svg' ),
'name' => $l->t('Calendar')));
OC_App::registerPersonal('calendar', 'settings');
require_once('apps/calendar/lib/search.php');

View File

@ -17,7 +17,7 @@
#editentry_dialog {display: none;}
#parsingfail_dialog{display: none;}
#loading { display: none; left: 40%; position: fixed; top: 4.4em; z-index: 100; }
#loading { display: none;margin: 0;padding:0;margin-top:5px;}
#calendar_holder {position: relative;bottom: 0; right: 0; left: 0; top: 3em;}
.fc-content{padding:2px 4px;}
@ -43,7 +43,7 @@
.popup {display: none; position: absolute; z-index: 1000; background: #eeeeee; color: #000000; border: 1px solid #1a1a1a; font-size: 90%;}
.event_popup {width: 280px; height: 40px; padding: 10px;}
input[type="button"].active {color: #0098E4}
input[type="button"].active {color: #6193CF}
#fromtime, #totime {
color:#333;
}

View File

@ -1,14 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="88px" height="100px" viewBox="0 0 88 100" enable-background="new 0 0 88 100" xml:space="preserve">
<path d="M0,32v59.906C0,96.377,3.582,100,8,100h72c4.418,0,8-3.623,8-8.094V32H0z M22,94H6V78h16V94z M22,74H6V58h16V74z M22,54H6
V38h16V54z M42,94H26V78h16V94z M42,74H26V58h16V74z M42,54H26V38h16V54z M62,94H46V78h16V94z M62,74H46V58h16V74z M62,54H46V38h16
V54z M82,94H66V78h16V94z M82,74H66V58h16V74z M82,54H66V38h16V54z"/>
<path d="M80,12H67V3c0-1.657-1.344-3-3-3c-1.657,0-3,1.343-3,3v9H27V3c0-1.657-1.344-3-3-3c-1.657,0-3,1.343-3,3v9H8
c-4.418,0-8,3.623-8,8.093V27v0v1h88v-1v0v-6.907C88,15.623,84.418,12,80,12z M24,26c-3.313,0-6-2.687-6-6
c0-2.219,1.209-4.152,3-5.19V20c0,1.657,1.343,3,3,3c1.656,0,3-1.343,3-3v-5.191c1.792,1.038,3,2.972,3,5.191
C30,23.313,27.314,26,24,26z M64,26c-3.313,0-6-2.687-6-6c0-2.219,1.209-4.152,3-5.19V20c0,1.657,1.343,3,3,3c1.656,0,3-1.343,3-3
v-5.191c1.792,1.038,3,2.972,3,5.191C70,23.313,67.314,26,64,26z"/>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
width="14px"
height="16px"
viewBox="0 0 88 100"
enable-background="new 0 0 88 100"
xml:space="preserve"
inkscape:version="0.48.1 r9760"
sodipodi:docname="icon.svg"><metadata
id="metadata11"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs9" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1680"
inkscape:window-height="1004"
id="namedview7"
showgrid="false"
inkscape:zoom="19.125"
inkscape:cx="7"
inkscape:cy="8"
inkscape:window-x="-2"
inkscape:window-y="23"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" />
<path
d="M0,32v59.906C0,96.377,3.582,100,8,100h72c4.418,0,8-3.623,8-8.094V32H0z M22,94H6V78h16V94z M22,74H6V58h16V74z M22,54H6 V38h16V54z M42,94H26V78h16V94z M42,74H26V58h16V74z M42,54H26V38h16V54z M62,94H46V78h16V94z M62,74H46V58h16V74z M62,54H46V38h16 V54z M82,94H66V78h16V94z M82,74H66V58h16V74z M82,54H66V38h16V54z"
id="path3"
style="fill:#4d4d4d" />
<path
d="M80,12H67V3c0-1.657-1.344-3-3-3c-1.657,0-3,1.343-3,3v9H27V3c0-1.657-1.344-3-3-3c-1.657,0-3,1.343-3,3v9H8 c-4.418,0-8,3.623-8,8.093V27v0v1h88v-1v0v-6.907C88,15.623,84.418,12,80,12z M24,26c-3.313,0-6-2.687-6-6 c0-2.219,1.209-4.152,3-5.19V20c0,1.657,1.343,3,3,3c1.656,0,3-1.343,3-3v-5.191c1.792,1.038,3,2.972,3,5.191 C30,23.313,27.314,26,24,26z M64,26c-3.313,0-6-2.687-6-6c0-2.219,1.209-4.152,3-5.19V20c0,1.657,1.343,3,3,3c1.656,0,3-1.343,3-3 v-5.191c1.792,1.038,3,2.972,3,5.191C70,23.313,67.314,26,64,26z"
id="path5"
style="fill:#4d4d4d" />
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -32,6 +32,8 @@ if(OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'currentview', 'mont
OC_Util::addScript('3rdparty/fullcalendar', 'fullcalendar');
OC_Util::addStyle('3rdparty/fullcalendar', 'fullcalendar');
OC_Util::addScript('3rdparty/timepicker', 'jquery.ui.timepicker');
OC_Util::addStyle('3rdparty/timepicker', 'jquery.ui.timepicker');
if(OC_Preferences::getValue(OC_USER::getUser(), "calendar", "timezone") == null || OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'timezonedetection') == 'true'){
OC_UTIL::addScript('calendar', 'geo');
}

View File

@ -26,6 +26,12 @@ Calendar={
$( "#to" ).datepicker({
dateFormat : 'dd-mm-yy'
});
$('#fromtime').timepicker({
showPeriodLabels: false
});
$('#totime').timepicker({
showPeriodLabels: false
});
$('#category').multiselect({
header: false,
noneSelectedText: $('#category').attr('title'),
@ -345,10 +351,21 @@ Calendar={
}
},
reseticonhighlight: function(){
$('#oneweekview_radio').css('color', '#000000');
$('#onemonthview_radio').css('color', '#000000');
$('#listview_radio').css('color', '#000000');
setViewActive: function(view){
$('#view input[type="button"]').removeClass('active');
var id;
switch (view) {
case 'agendaWeek':
id = 'oneweekview_radio';
break;
case 'month':
id = 'onemonthview_radio';
break;
case 'list':
id = 'listview_radio';
break;
}
$('#'+id).addClass('active');
},
Calendar:{
overview:function(){
@ -412,11 +429,17 @@ Calendar={
}
},
submit:function(button, calendarid){
var displayname = $("#displayname_"+calendarid).val();
var displayname = $.trim($("#displayname_"+calendarid).val());
var active = $("#edit_active_"+calendarid+":checked").length;
var description = $("#description_"+calendarid).val();
var calendarcolor = $("#calendarcolor_"+calendarid).val();
if(displayname == ''){
$("#displayname_"+calendarid).css('background-color', '#FF2626');
$("#displayname_"+calendarid).focus(function(){
$("#displayname_"+calendarid).css('background-color', '#F8F8F8');
});
}
var url;
if (calendarid == 'new'){
url = OC.filePath('calendar', 'ajax', 'createcalendar.php');
@ -429,6 +452,14 @@ Calendar={
$(button).closest('tr').prev().html(data.page).show().next().remove();
$('#calendar_holder').fullCalendar('removeEventSource', data.eventSource.url);
$('#calendar_holder').fullCalendar('addEventSource', data.eventSource);
if (calendarid == 'new'){
$('#choosecalendar_dialog > table').append('<tr><td colspan="6"><a href="#" onclick="Calendar.UI.Calendar.newCalendar(this);"><input type="button" value="' + newcalendar + '"></a></td></tr>');
}
}else{
$("#displayname_"+calendarid).css('background-color', '#FF2626');
$("#displayname_"+calendarid).focus(function(){
$("#displayname_"+calendarid).css('background-color', '#F8F8F8');
});
}
}, 'json');
},
@ -649,6 +680,16 @@ $(document).ready(function(){
viewDisplay: function(view) {
$('#datecontrol_date').html(view.title);
$.get(OC.filePath('calendar', 'ajax', 'changeview.php') + "?v="+view.name);
Calendar.UI.setViewActive(view.name);
if (view.name == 'agendaWeek') {
$('#calendar_holder').fullCalendar('option', 'aspectRatio', 0.1);
}
else {
$('#calendar_holder').fullCalendar('option', 'aspectRatio', 1.35);
}
},
columnFormat: {
week: 'ddd d. MMM'
},
selectable: true,
selectHelper: true,
@ -674,18 +715,12 @@ $(document).ready(function(){
});
$('#oneweekview_radio').click(function(){
$('#calendar_holder').fullCalendar('changeView', 'agendaWeek');
Calendar.UI.reseticonhighlight();
$('#oneweekview_radio').css('color', '#6193CF');
});
$('#onemonthview_radio').click(function(){
$('#calendar_holder').fullCalendar('changeView', 'month');
Calendar.UI.reseticonhighlight();
$('#onemonthview_radio').css('color', '#6193CF');
});
$('#listview_radio').click(function(){
$('#calendar_holder').fullCalendar('changeView', 'list');
Calendar.UI.reseticonhighlight();
$('#listview_radio').css('color', '#6193CF');
});
$('#today_input').click(function(){
$('#calendar_holder').fullCalendar('today');

View File

@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
"New Timezone:" => "التوقيت الجديد",
"Timezone changed" => "تم تغيير المنطقة الزمنية",
"Invalid request" => "طلب غير مفهوم",
"Calendar" => "الجدول الزمني",
@ -25,7 +26,44 @@
"Bi-Weekly" => "كل اسبوعين",
"Monthly" => "شهري",
"Yearly" => "سنوي",
"never" => "بتاتا",
"by occurrences" => "حسب تسلسل الحدوث",
"by date" => "حسب التاريخ",
"by monthday" => "حسب يوم الشهر",
"by weekday" => "حسب يوم الاسبوع",
"Monday" => "الأثنين",
"Tuesday" => "الثلاثاء",
"Wednesday" => "الاربعاء",
"Thursday" => "الخميس",
"Friday" => "الجمعه",
"Saturday" => "السبت",
"Sunday" => "الاحد",
"events week of month" => "الاحداث باسبوع الشهر",
"first" => "أول",
"second" => "ثاني",
"third" => "ثالث",
"fourth" => "رابع",
"fifth" => "خامس",
"last" => "أخير",
"January" => "كانون الثاني",
"February" => "شباط",
"March" => "آذار",
"April" => "نيسان",
"May" => "أيار",
"June" => "حزيران",
"July" => "تموز",
"August" => "آب",
"September" => "أيلول",
"October" => "تشرين الاول",
"November" => "تشرين الثاني",
"December" => "كانون الاول",
"by events date" => "حسب تاريخ الحدث",
"by yearday(s)" => "حسب يوم السنه",
"by weeknumber(s)" => "حسب رقم الاسبوع",
"by day and month" => "حسب اليوم و الشهر",
"Not an array" => "ليس صفيف",
"Date" => "تاريخ",
"Cal." => "تقويم",
"All day" => "كل النهار",
"Missing fields" => "خانات خالية من المعلومات",
"Title" => "عنوان",
@ -41,6 +79,25 @@
"Today" => "اليوم",
"Calendars" => "الجداول الزمنية",
"There was a fail, while parsing the file." => "لم يتم قراءة الملف بنجاح.",
"Sun." => "أحد",
"Mon." => "أثن.",
"Tue." => "ثلا.",
"Wed." => "أرب.",
"Thu." => "خمي.",
"Fri." => "جمع.",
"Sat." => "سبت",
"Jan." => "ك2",
"Feb." => "شبا.",
"Mar." => "اذار",
"Apr." => "نيس.",
"May." => "أيا.",
"Jun." => "حزي.",
"Jul." => "تمو.",
"Aug." => "آب",
"Sep." => "أيل.",
"Oct." => "ت1",
"Nov." => "ت2",
"Dec." => "ك1",
"Choose active calendars" => "إختر الجدول الزمني الرئيسي",
"New Calendar" => "جدول زمني جديد",
"CalDav Link" => "وصلة CalDav",
@ -65,14 +122,32 @@
"To" => "إلى",
"Advanced options" => "خيارات متقدمة",
"Repeat" => "إعادة",
"Advanced" => "تعديلات متقدمه",
"Select weekdays" => "اختر ايام الاسبوع",
"Select days" => "اختر الايام",
"and the events day of year." => "و التواريخ حسب يوم السنه.",
"and the events day of month." => "و الاحداث حسب يوم الشهر.",
"Select months" => "اختر الاشهر",
"Select weeks" => "اختر الاسابيع",
"and the events week of year." => "و الاحداث حسب اسبوع السنه",
"Interval" => "المده الفاصله",
"End" => "نهايه",
"occurrences" => "الاحداث",
"Location" => "مكان",
"Location of the Event" => "مكان الحدث",
"Description" => "مواصفات",
"Description of the Event" => "وصف الحدث",
"Import a calendar file" => "أدخل ملف التقويم",
"Please choose the calendar" => "الرجاء إختر الجدول الزمني",
"create a new calendar" => "انشاء جدول زمني جديد",
"Name of new calendar" => "أسم الجدول الزمني الجديد",
"Import" => "إدخال",
"Importing calendar" => "يتم ادخال الجدول الزمني",
"Calendar imported successfully" => "تم ادخال الجدول الزمني بنجاح",
"Close Dialog" => "أغلق الحوار",
"Create a new event" => "إضافة حدث جديد",
"Timezone" => "المنطقة الزمنية",
"Check always for changes of the timezone" => "راقب دائما تغير التقويم الزمني",
"Timeformat" => "شكل الوقت",
"24h" => "24 ساعة",
"12h" => "12 ساعة",

View File

@ -65,6 +65,7 @@
"Date" => "Data",
"Cal." => "Cal.",
"All day" => "Tot el dia",
"New Calendar" => "Calendari nou",
"Missing fields" => "Els camps que falten",
"Title" => "Títol",
"From Date" => "Des de la data",
@ -99,7 +100,6 @@
"Nov." => "nov.",
"Dec." => "des.",
"Choose active calendars" => "Seleccioneu calendaris actius",
"New Calendar" => "Calendari nou",
"CalDav Link" => "Enllaç CalDav",
"Download" => "Baixa",
"Edit" => "Edita",
@ -137,8 +137,14 @@
"Location of the Event" => "Ubicació de l'esdeveniment",
"Description" => "Descripció",
"Description of the Event" => "Descripció de l'esdeveniment",
"Import a calendar file" => "Importa un fitxer de calendari",
"Please choose the calendar" => "Escolliu el calendari",
"create a new calendar" => "crea un nou calendari",
"Name of new calendar" => "Nom del nou calendari",
"Import" => "Importa",
"Importing calendar" => "S'està important el calendari",
"Calendar imported successfully" => "El calendari s'ha importat amb èxit",
"Close Dialog" => "Tanca el diàleg",
"Create a new event" => "Crea un nou esdeveniment",
"Timezone" => "Zona horària",
"Check always for changes of the timezone" => "Comprova sempre en els canvis de zona horària",

View File

@ -65,6 +65,7 @@
"Date" => "Datum",
"Cal." => "Kal.",
"All day" => "Celý den",
"New Calendar" => "Nový kalendář",
"Missing fields" => "Chybějící pole",
"Title" => "Název",
"From Date" => "Od data",
@ -99,7 +100,6 @@
"Nov." => "Lis.",
"Dec." => "Pro.",
"Choose active calendars" => "Vybrat aktivní kalendář",
"New Calendar" => "Nový kalendář",
"CalDav Link" => "Odkaz CalDav",
"Download" => "Stáhnout",
"Edit" => "Editovat",
@ -137,8 +137,14 @@
"Location of the Event" => "Místo konání události",
"Description" => "Popis",
"Description of the Event" => "Popis události",
"Import a calendar file" => "Importovat soubor kalendáře",
"Please choose the calendar" => "Zvolte prosím kalendář",
"create a new calendar" => "vytvořit nový kalendář",
"Name of new calendar" => "Název nového kalendáře",
"Import" => "Import",
"Importing calendar" => "Kalendář se importuje",
"Calendar imported successfully" => "Kalendář byl importován úspěšně",
"Close Dialog" => "Zavřít dialog",
"Create a new event" => "Vytvořit novou událost",
"Timezone" => "Časové pásmo",
"Check always for changes of the timezone" => "Zkontrolujte vždy změny časového pásma",

View File

@ -38,6 +38,7 @@
"Friday" => "Fredag",
"Saturday" => "Lørdag",
"Sunday" => "øndag",
"events week of month" => "begivenhedens uge i måneden",
"first" => "første",
"second" => "anden",
"third" => "tredje",
@ -57,12 +58,14 @@
"November" => "November",
"December" => "December",
"by events date" => "efter begivenheders dato",
"by yearday(s)" => "efter dag(e) i året",
"by weeknumber(s)" => "efter ugenummer/-numre",
"by day and month" => "efter dag og måned",
"Not an array" => "Ikke en array",
"Date" => "Dato",
"Cal." => "Kal.",
"All day" => "Hele dagen",
"New Calendar" => "Ny Kalender",
"Missing fields" => "Manglende felter",
"Title" => "Titel",
"From Date" => "Fra dato",
@ -97,7 +100,6 @@
"Nov." => "Nov.",
"Dec." => "Dec.",
"Choose active calendars" => "Vælg aktive kalendere",
"New Calendar" => "Ny Kalender",
"CalDav Link" => "CalDav-link",
"Download" => "Hent",
"Edit" => "Rediger",
@ -123,8 +125,11 @@
"Advanced" => "Avanceret",
"Select weekdays" => "Vælg ugedage",
"Select days" => "Vælg dage",
"and the events day of year." => "og begivenhedens dag i året.",
"and the events day of month." => "og begivenhedens sag på måneden",
"Select months" => "Vælg måneder",
"Select weeks" => "Vælg uger",
"and the events week of year." => "og begivenhedens uge i året.",
"Interval" => "Interval",
"End" => "Afslutning",
"occurrences" => "forekomster",
@ -132,8 +137,14 @@
"Location of the Event" => "Placering af begivenheden",
"Description" => "Beskrivelse",
"Description of the Event" => "Beskrivelse af begivenheden",
"Import a calendar file" => "Importer en kalenderfil",
"Please choose the calendar" => "Vælg venligst kalender",
"create a new calendar" => "opret en ny kalender",
"Name of new calendar" => "Navn på ny kalender",
"Import" => "Importer",
"Importing calendar" => "Importerer kalender",
"Calendar imported successfully" => "Kalender importeret korrekt",
"Close Dialog" => "Luk dialog",
"Create a new event" => "Opret en ny begivenhed",
"Timezone" => "Tidszone",
"Check always for changes of the timezone" => "Check altid efter ændringer i tidszone",

View File

@ -65,6 +65,7 @@
"Date" => "Datum",
"Cal." => "Kal.",
"All day" => "Ganztags",
"New Calendar" => "Neuer Kalender",
"Missing fields" => "fehlende Felder",
"Title" => "Titel",
"From Date" => "Startdatum",
@ -81,14 +82,14 @@
"There was a fail, while parsing the file." => "Fehler beim Einlesen der Datei.",
"Sun." => "So",
"Mon." => "Mo",
"Tue." => "Die",
"Tue." => "Di",
"Wed." => "Mi",
"Thu." => "Do",
"Fri." => "Fr",
"Sat." => "Sa",
"Jan." => "Jan",
"Feb." => "Feb",
"Mar." => "Mär",
"Mar." => "März",
"Apr." => "Apr",
"May." => "Mai",
"Jun." => "Juni",
@ -99,7 +100,6 @@
"Nov." => "Nov",
"Dec." => "Dez",
"Choose active calendars" => "Aktive Kalender wählen",
"New Calendar" => "Neuer Kalender",
"CalDav Link" => "CalDAV-Link",
"Download" => "Herunterladen",
"Edit" => "Bearbeiten",
@ -137,8 +137,14 @@
"Location of the Event" => "Ort",
"Description" => "Beschreibung",
"Description of the Event" => "Beschreibung",
"Import a calendar file" => "Kalender Datei Importieren",
"Please choose the calendar" => "Bitte wählen Sie den Kalender.",
"create a new calendar" => "Neuen Kalender anlegen",
"Name of new calendar" => "Kalendername",
"Import" => "Importieren",
"Importing calendar" => "Kalender wird importiert.",
"Calendar imported successfully" => "Kalender erfolgreich importiert",
"Close Dialog" => "Dialog schließen",
"Create a new event" => "Neues Ereignis",
"Timezone" => "Zeitzone",
"Check always for changes of the timezone" => "immer die Zeitzone überprüfen",

View File

@ -65,6 +65,7 @@
"Date" => "Ημερομηνία",
"Cal." => "Ημερ.",
"All day" => "Ολοήμερο",
"New Calendar" => "Νέα Ημερολόγιο",
"Missing fields" => "Πεδία που λείπουν",
"Title" => "Τίτλος",
"From Date" => "Από Ημερομηνία",
@ -99,7 +100,6 @@
"Nov." => "Νοε.",
"Dec." => "Δεκ.",
"Choose active calendars" => "Επιλέξτε τα ενεργά ημερολόγια",
"New Calendar" => "Νέα Ημερολόγιο",
"CalDav Link" => "Σύνδεση CalDAV",
"Download" => "Λήψη",
"Edit" => "Επεξεργασία",
@ -137,8 +137,14 @@
"Location of the Event" => "Τοποθεσία συμβάντος",
"Description" => "Περιγραφή",
"Description of the Event" => "Περιγραφή του συμβάντος",
"Import a calendar file" => "Εισαγωγή αρχείου ημερολογίου",
"Please choose the calendar" => "Παρακαλώ επιλέξτε το ημερολόγιο",
"create a new calendar" => "δημιουργία νέου ημερολογίου",
"Name of new calendar" => "Όνομα νέου ημερολογίου",
"Import" => "Εισαγωγή",
"Importing calendar" => "Εισαγωγή ημερολογίου",
"Calendar imported successfully" => "Το ημερολόγιο εισήχθει επιτυχώς",
"Close Dialog" => "Κλείσιμο Διαλόγου",
"Create a new event" => "Δημιουργήστε ένα νέο συμβάν",
"Timezone" => "Ζώνη ώρας",
"Check always for changes of the timezone" => "Έλεγοχς πάντα για τις αλλαγές της ζώνης ώρας",

View File

@ -65,6 +65,7 @@
"Date" => "Fecha",
"Cal." => "Cal.",
"All day" => "Todo el día",
"New Calendar" => "Nuevo calendario",
"Missing fields" => "Los campos que faltan",
"Title" => "Título",
"From Date" => "Desde la fecha",
@ -99,7 +100,6 @@
"Nov." => "Nov.",
"Dec." => "Dic.",
"Choose active calendars" => "Elige los calendarios activos",
"New Calendar" => "Nuevo calendario",
"CalDav Link" => "Enlace a CalDav",
"Download" => "Descargar",
"Edit" => "Editar",
@ -137,8 +137,14 @@
"Location of the Event" => "Lugar del Evento",
"Description" => "Descripción",
"Description of the Event" => "Descripción del evento",
"Import a calendar file" => "Importar un archivo de calendario",
"Please choose the calendar" => "Elija el calendario",
"create a new calendar" => "Crear un nuevo calendario",
"Name of new calendar" => "Nombre del nuevo calendario",
"Import" => "Importar",
"Importing calendar" => "Importando calendario",
"Calendar imported successfully" => "Calendario importado exitosamente",
"Close Dialog" => "Cerrar diálogo",
"Create a new event" => "Crear un nuevo evento",
"Timezone" => "Zona horaria",
"Check always for changes of the timezone" => "Comprobar siempre por cambios en la zona horaria",

View File

@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
"New Timezone:" => "Uus ajavöönd:",
"Timezone changed" => "Ajavöönd on muudetud",
"Invalid request" => "Vigane päring",
"Calendar" => "Kalender",
@ -25,8 +26,46 @@
"Bi-Weekly" => "Üle nädala",
"Monthly" => "Igal kuul",
"Yearly" => "Igal aastal",
"never" => "mitte kunagi",
"by occurrences" => "toimumiskordade järgi",
"by date" => "kuupäeva järgi",
"by monthday" => "kuu päeva järgi",
"by weekday" => "nädalapäeva järgi",
"Monday" => "Esmaspäev",
"Tuesday" => "Teisipäev",
"Wednesday" => "Kolmapäev",
"Thursday" => "Neljapäev",
"Friday" => "Reede",
"Saturday" => "Laupäev",
"Sunday" => "Pühapäev",
"events week of month" => "ürituse kuu nädal",
"first" => "esimene",
"second" => "teine",
"third" => "kolmas",
"fourth" => "neljas",
"fifth" => "viies",
"last" => "viimane",
"January" => "Jaanuar",
"February" => "Veebruar",
"March" => "Märts",
"April" => "Aprill",
"May" => "Mai",
"June" => "Juuni",
"July" => "Juuli",
"August" => "August",
"September" => "September",
"October" => "Oktoober",
"November" => "November",
"December" => "Detsember",
"by events date" => "ürituste kuupäeva järgi",
"by yearday(s)" => "aasta päeva(de) järgi",
"by weeknumber(s)" => "nädala numbri(te) järgi",
"by day and month" => "kuu ja päeva järgi",
"Not an array" => "Pole andmemassiiv",
"Date" => "Kuupäev",
"Cal." => "Kal.",
"All day" => "Kogu päev",
"New Calendar" => "Uus kalender",
"Missing fields" => "Puuduvad väljad",
"Title" => "Pealkiri",
"From Date" => "Alates kuupäevast",
@ -41,8 +80,26 @@
"Today" => "Täna",
"Calendars" => "Kalendrid",
"There was a fail, while parsing the file." => "Faili parsimisel tekkis viga.",
"Sun." => "Püh.",
"Mon." => "Esm.",
"Tue." => "Teisip.",
"Wed." => "Kolmap.",
"Thu." => "Meljap.",
"Fri." => "Reede",
"Sat." => "Laup.",
"Jan." => "Jan.",
"Feb." => "Veebr.",
"Mar." => "Mär.",
"Apr." => "Apr.",
"May." => "Mai",
"Jun." => "Jun.",
"Jul." => "Jul.",
"Aug." => "Aug.",
"Sep." => "Sept.",
"Oct." => "Okt.",
"Nov." => "Nov.",
"Dec." => "Dets.",
"Choose active calendars" => "Vali aktiivsed kalendrid",
"New Calendar" => "Uus kalender",
"CalDav Link" => "CalDav Link",
"Download" => "Lae alla",
"Edit" => "Muuda",
@ -65,14 +122,32 @@
"To" => "Kuni",
"Advanced options" => "Lisavalikud",
"Repeat" => "Korda",
"Advanced" => "Täpsem",
"Select weekdays" => "Vali nädalapäevad",
"Select days" => "Vali päevad",
"and the events day of year." => "ja ürituse päev aastas.",
"and the events day of month." => "ja ürituse päev kuus.",
"Select months" => "Vali kuud",
"Select weeks" => "Vali nädalad",
"and the events week of year." => "ja ürituse nädal aastas.",
"Interval" => "Intervall",
"End" => "Lõpp",
"occurrences" => "toimumiskordi",
"Location" => "Asukoht",
"Location of the Event" => "Sündmuse toimumiskoht",
"Description" => "Kirjeldus",
"Description of the Event" => "Sündmuse kirjeldus",
"Import a calendar file" => "Impordi kalendrifail",
"Please choose the calendar" => "Palun vali kalender",
"create a new calendar" => "loo uus kalender",
"Name of new calendar" => "Uue kalendri nimi",
"Import" => "Impordi",
"Importing calendar" => "Kalendri importimine",
"Calendar imported successfully" => "Kalender on imporditud",
"Close Dialog" => "Sulge dialoogiaken",
"Create a new event" => "Loo sündmus",
"Timezone" => "Ajavöönd",
"Check always for changes of the timezone" => "Kontrolli alati muudatusi ajavööndis",
"Timeformat" => "Aja vorming",
"24h" => "24h",
"12h" => "12h",

View File

@ -8,6 +8,7 @@
"Business" => "Traballo",
"Call" => "Chamada",
"Clients" => "Clientes",
"Deliverer" => "Remitente",
"Holidays" => "Vacacións",
"Ideas" => "Ideas",
"Journey" => "Viaxe",
@ -64,6 +65,7 @@
"Date" => "Data",
"Cal." => "Cal.",
"All day" => "Todo o dia",
"New Calendar" => "Novo calendario",
"Missing fields" => "Faltan campos",
"Title" => "Título",
"From Date" => "Desde Data",
@ -98,7 +100,6 @@
"Nov." => "Nov.",
"Dec." => "Nad.",
"Choose active calendars" => "Escolla os calendarios activos",
"New Calendar" => "Novo calendario",
"CalDav Link" => "Ligazón CalDav",
"Download" => "Baixar",
"Edit" => "Editar",

View File

@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
"New Timezone:" => "新しいタイムゾーン:",
"Timezone changed" => "タイムゾーンが変更されました",
"Invalid request" => "無効なリクエストです",
"Calendar" => "カレンダー",
@ -25,7 +26,44 @@
"Bi-Weekly" => "2週間ごと",
"Monthly" => "毎月",
"Yearly" => "毎年",
"never" => "無し",
"by occurrences" => "回数で指定",
"by date" => "日付で指定",
"by monthday" => "日にちで指定",
"by weekday" => "曜日で指定",
"Monday" => "月曜日",
"Tuesday" => "火曜日",
"Wednesday" => "水曜日",
"Thursday" => "木曜日",
"Friday" => "金曜日",
"Saturday" => "土曜日",
"Sunday" => "日曜日",
"events week of month" => "予定のある週を指定",
"first" => "1週目",
"second" => "2週目",
"third" => "3週目",
"fourth" => "4週目",
"fifth" => "5週目",
"last" => "最終週",
"January" => "1月",
"February" => "2月",
"March" => "3月",
"April" => "4月",
"May" => "5月",
"June" => "6月",
"July" => "7月",
"August" => "8月",
"September" => "9月",
"October" => "10月",
"November" => "11月",
"December" => "12月",
"by events date" => "日付で指定",
"by yearday(s)" => "日番号で指定",
"by weeknumber(s)" => "週番号で指定",
"by day and month" => "月と日で指定",
"Not an array" => "配列ではありません",
"Date" => "日付",
"Cal." => "カレンダー",
"All day" => "終日",
"Missing fields" => "項目がありません",
"Title" => "タイトル",
@ -41,6 +79,25 @@
"Today" => "今日",
"Calendars" => "カレンダー",
"There was a fail, while parsing the file." => "ファイルを構文解析する際に失敗しました",
"Sun." => "",
"Mon." => "",
"Tue." => "",
"Wed." => "",
"Thu." => "",
"Fri." => "",
"Sat." => "",
"Jan." => "1月",
"Feb." => "2月",
"Mar." => "3月",
"Apr." => "4月",
"May." => "5月",
"Jun." => "6月",
"Jul." => "7月",
"Aug." => "8月",
"Sep." => "9月",
"Oct." => "10月",
"Nov." => "11月",
"Dec." => "12月",
"Choose active calendars" => "アクティブなカレンダーを選択してください",
"New Calendar" => "新しくカレンダーを作成する",
"CalDav Link" => "CalDavへのリンク",
@ -65,14 +122,32 @@
"To" => "終了",
"Advanced options" => "詳細設定",
"Repeat" => "繰り返す",
"Advanced" => "詳細設定",
"Select weekdays" => "曜日を指定",
"Select days" => "日付を指定",
"and the events day of year." => "対象の年を選択する。",
"and the events day of month." => "対象の月を選択する。",
"Select months" => "月を指定する",
"Select weeks" => "週を指定する",
"and the events week of year." => "対象の週を選択する。",
"Interval" => "周期",
"End" => "繰り返す期間",
"occurrences" => "回繰り返す",
"Location" => "場所",
"Location of the Event" => "イベントの場所",
"Description" => "メモ",
"Description of the Event" => "イベントのメモ",
"Import a calendar file" => "カレンダーファイルをインポート",
"Please choose the calendar" => "カレンダーを選択してください",
"create a new calendar" => "新規カレンダーの作成",
"Name of new calendar" => "新規カレンダーの名称",
"Import" => "インポート",
"Importing calendar" => "カレンダーを取り込み中",
"Calendar imported successfully" => "カレンダーの取り込みに成功しました",
"Close Dialog" => "閉じる",
"Create a new event" => "新しいイベントを作成する",
"Timezone" => "タイムゾーン",
"Check always for changes of the timezone" => "タイムゾーン変更を常に確認する",
"Timeformat" => "時刻のフォーマット",
"24h" => "24時間制",
"12h" => "12時間制",

View File

@ -29,6 +29,7 @@
"never" => "nooit meer",
"by occurrences" => "volgens gebeurtenissen",
"by date" => "op datum",
"by monthday" => "per dag van de maand",
"by weekday" => "op weekdag",
"Monday" => "Maandag",
"Tuesday" => "Dinsdag",

View File

@ -65,6 +65,7 @@
"Date" => "Data",
"Cal." => "Cal.",
"All day" => "Toată ziua",
"New Calendar" => "Calendar nou",
"Missing fields" => "Câmpuri lipsă",
"Title" => "Titlu",
"From Date" => "Începând cu",
@ -99,7 +100,6 @@
"Nov." => "Nov.",
"Dec." => "Dec.",
"Choose active calendars" => "Alege activitățile din calendar",
"New Calendar" => "Calendar nou",
"CalDav Link" => "Link CalDav",
"Download" => "Descarcă",
"Edit" => "Modifică",
@ -137,8 +137,14 @@
"Location of the Event" => "Localizarea evenimentului",
"Description" => "Descriere",
"Description of the Event" => "Descrierea evenimentului",
"Import a calendar file" => "Importă un calendar",
"Please choose the calendar" => "Alegeți calendarul",
"create a new calendar" => "crează un calendar nou",
"Name of new calendar" => "Numele noului calendar",
"Import" => "Importă",
"Importing calendar" => "Importă calendar",
"Calendar imported successfully" => "Calendarul a fost importat cu succes",
"Close Dialog" => "Închide",
"Create a new event" => "Crează un evenimetn nou",
"Timezone" => "Fus orar",
"Check always for changes of the timezone" => "Verifică mereu pentru schimbări ale fusului orar",

View File

@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
"New Timezone:" => "Новый часовой пояс:",
"Timezone changed" => "Часовой пояс изменён",
"Invalid request" => "Неверный запрос",
"Calendar" => "Календарь",
@ -25,8 +26,46 @@
"Bi-Weekly" => "Каждые две недели",
"Monthly" => "Каждый месяц",
"Yearly" => "Каждый год",
"never" => "никогда",
"by occurrences" => "по числу повторений",
"by date" => "по дате",
"by monthday" => "по дню месяца",
"by weekday" => "по дню недели",
"Monday" => "Понедельник",
"Tuesday" => "Вторник",
"Wednesday" => "Среда",
"Thursday" => "Четверг",
"Friday" => "Пятница",
"Saturday" => "Суббота",
"Sunday" => "Воскресенье",
"events week of month" => "неделя месяца",
"first" => "первая",
"second" => "вторая",
"third" => "третья",
"fourth" => "червётрая",
"fifth" => "пятая",
"last" => "последняя",
"January" => "Январь",
"February" => "Февраль",
"March" => "Март",
"April" => "Апрель",
"May" => "Май",
"June" => "Июнь",
"July" => "Июль",
"August" => "Август",
"September" => "Сентябрь",
"October" => "Октябрь",
"November" => "Ноябрь",
"December" => "Декабрь",
"by events date" => "по дате событий",
"by yearday(s)" => "по дням недели",
"by weeknumber(s)" => "по номерам недели",
"by day and month" => "по дню и месяцу",
"Not an array" => "Не массив",
"Date" => "Дата",
"Cal." => "Кал.",
"All day" => "Весь день",
"New Calendar" => "Новый Календарь",
"Missing fields" => "Незаполненные поля",
"Title" => "Название",
"From Date" => "Дата начала",
@ -41,8 +80,26 @@
"Today" => "Сегодня",
"Calendars" => "Календари",
"There was a fail, while parsing the file." => "Не удалось обработать файл.",
"Sun." => "Вс.",
"Mon." => "Пн.",
"Tue." => "Вт.",
"Wed." => "Ср.",
"Thu." => "Чт.",
"Fri." => "Пт.",
"Sat." => "Сб.",
"Jan." => "Янв.",
"Feb." => "Фев.",
"Mar." => "Мар.",
"Apr." => "Сен.",
"May." => "Май.",
"Jun." => "Июн.",
"Jul." => "Июл.",
"Aug." => "Авг.",
"Sep." => "Сен.",
"Oct." => "Окт.",
"Nov." => "Ноя.",
"Dec." => "Дек.",
"Choose active calendars" => "Выберите активные календари",
"New Calendar" => "Новый Календарь",
"CalDav Link" => "Ссылка для CalDav",
"Download" => "Скачать",
"Edit" => "Редактировать",
@ -65,14 +122,32 @@
"To" => "До",
"Advanced options" => "Дополнительные параметры",
"Repeat" => "Повтор",
"Advanced" => "Дополнительно",
"Select weekdays" => "Выбрать дни недели",
"Select days" => "Выбрать дни",
"and the events day of year." => "и день года события",
"and the events day of month." => "и день месяца события",
"Select months" => "Выбрать месяцы",
"Select weeks" => "Выбрать недели",
"and the events week of year." => "и номер недели события",
"Interval" => "Интервал",
"End" => "Окончание",
"occurrences" => "повторений",
"Location" => "Место",
"Location of the Event" => "Место события",
"Description" => "Описание",
"Description of the Event" => "Описание события",
"Import a calendar file" => "Импортировать календарь из файла",
"Please choose the calendar" => "Пожалуйста, выберите календарь",
"create a new calendar" => "Создать новый календарь",
"Name of new calendar" => "Название нового календаря",
"Import" => "Импортировать",
"Importing calendar" => "Импортируется календарь",
"Calendar imported successfully" => "Календарь успешно импортирован",
"Close Dialog" => "Закрыть Сообщение",
"Create a new event" => "Создать новое событие",
"Timezone" => "Часовой пояс",
"Check always for changes of the timezone" => "Всегда проверяйте изменение часового пояса",
"Timeformat" => "Формат времени",
"24h" => "24ч",
"12h" => "12ч",

View File

@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
"New Timezone:" => "Nová časová zóna:",
"Timezone changed" => "Časové pásmo zmenené",
"Invalid request" => "Neplatná požiadavka",
"Calendar" => "Kalendár",
@ -25,8 +26,40 @@
"Bi-Weekly" => "Každý druhý týždeň",
"Monthly" => "Mesačne",
"Yearly" => "Ročne",
"never" => "nikdy",
"by occurrences" => "podľa výskytu",
"by date" => "podľa dátumu",
"Monday" => "Pondelok",
"Tuesday" => "Utorok",
"Wednesday" => "Streda",
"Thursday" => "Štvrtok",
"Friday" => "Piatok",
"Saturday" => "Sobota",
"Sunday" => "Nedeľa",
"first" => "prvý",
"second" => "druhý",
"third" => "tretí",
"fourth" => "štvrtý",
"fifth" => "piaty",
"last" => "posledný",
"January" => "Január",
"February" => "Február",
"March" => "Marec",
"April" => "Apríl",
"May" => "Máj",
"June" => "Jún",
"July" => "Júl",
"August" => "August",
"September" => "September",
"October" => "Október",
"November" => "November",
"December" => "December",
"by events date" => "podľa dátumu udalosti",
"by day and month" => "podľa dňa a mesiaca",
"Not an array" => "Nie je pole",
"Date" => "Dátum",
"All day" => "Celý deň",
"New Calendar" => "Nový kalendár",
"Missing fields" => "Nevyplnené položky",
"Title" => "Nadpis",
"From Date" => "Od Dátumu",
@ -41,8 +74,26 @@
"Today" => "Dnes",
"Calendars" => "Kalendáre",
"There was a fail, while parsing the file." => "Nastala chyba počas parsovania súboru.",
"Sun." => "Ned.",
"Mon." => "Pon.",
"Tue." => "Ut.",
"Wed." => "Str.",
"Thu." => "Štv.",
"Fri." => "Pia.",
"Sat." => "So.",
"Jan." => "Jan.",
"Feb." => "Feb.",
"Mar." => "Mar.",
"Apr." => "Apr.",
"May." => "Máj",
"Jun." => "Jún",
"Jul." => "Júl",
"Aug." => "Aug.",
"Sep." => "Sep.",
"Oct." => "Okt.",
"Nov." => "Nov.",
"Dec." => "Dec.",
"Choose active calendars" => "Zvoľte aktívne kalendáre",
"New Calendar" => "Nový kalendár",
"CalDav Link" => "CalDav odkaz",
"Download" => "Stiahnuť",
"Edit" => "Upraviť",
@ -65,12 +116,25 @@
"To" => "Do",
"Advanced options" => "Pokročilé možnosti",
"Repeat" => "Opakovať",
"Advanced" => "Pokročilé",
"Select days" => "Vybrať dni",
"Select months" => "Vybrať mesiace",
"Select weeks" => "Vybrať týždne",
"Interval" => "Interval",
"End" => "Koniec",
"occurrences" => "výskyty",
"Location" => "Poloha",
"Location of the Event" => "Poloha Udalosti",
"Description" => "Popis",
"Description of the Event" => "Popis Udalosti",
"Import a calendar file" => "Importovať súbor kalendára",
"Please choose the calendar" => "Prosím zvoľte kalendár",
"create a new calendar" => "vytvoriť nový kalendár",
"Name of new calendar" => "Meno nového kalendára",
"Import" => "Importovať",
"Importing calendar" => "Importujem kalendár",
"Calendar imported successfully" => "Kalendár úspešne importovaný",
"Close Dialog" => "Zatvoriť Dialóg",
"Create a new event" => "Vytvoriť udalosť",
"Timezone" => "Časová zóna",
"Timeformat" => "Formát času",

View File

@ -0,0 +1,155 @@
<?php $TRANSLATIONS = array(
"New Timezone:" => "สร้างโซนเวลาใหม่:",
"Timezone changed" => "โซนเวลาถูกเปลี่ยนแล้ว",
"Invalid request" => "คำร้องขอไม่ถูกต้อง",
"Calendar" => "ปฏิทิน",
"Wrong calendar" => "ปฏิทินไม่ถูกต้อง",
"Birthday" => "วันเกิด",
"Business" => "ธุรกิจ",
"Call" => "โทรติดต่อ",
"Clients" => "ลูกค้า",
"Deliverer" => "จัดส่ง",
"Holidays" => "วันหยุด",
"Ideas" => "ไอเดีย",
"Journey" => "การเดินทาง",
"Jubilee" => "งานเลี้ยง",
"Meeting" => "นัดประชุม",
"Other" => "อื่นๆ",
"Personal" => "ส่วนตัว",
"Projects" => "โครงการ",
"Questions" => "คำถาม",
"Work" => "งาน",
"Does not repeat" => "ไม่ต้องทำซ้ำ",
"Daily" => "รายวัน",
"Weekly" => "รายสัปดาห์",
"Every Weekday" => "ทุกวันหยุด",
"Bi-Weekly" => "รายปักษ์",
"Monthly" => "รายเดือน",
"Yearly" => "รายปี",
"never" => "ไม่ต้องเลย",
"by occurrences" => "ตามจำนวนที่ปรากฏ",
"by date" => "ตามวันที่",
"by monthday" => "จากเดือน",
"by weekday" => "จากสัปดาห์",
"Monday" => "วันจันทร์",
"Tuesday" => "วันอังคาร",
"Wednesday" => "วันพุธ",
"Thursday" => "วันพฤหัสบดี",
"Friday" => "วันศุกร์",
"Saturday" => "วันเสาร์",
"Sunday" => "วันอาทิตย์",
"events week of month" => "สัปดาห์ที่มีกิจกรรมของเดือน",
"first" => "ลำดับแรก",
"second" => "ลำดับที่สอง",
"third" => "ลำดับที่สาม",
"fourth" => "ลำดับที่สี่",
"fifth" => "ลำดับที่ห้า",
"last" => "ลำดับสุดท้าย",
"January" => "มกราคม",
"February" => "กุมภาพันธ์",
"March" => "มีนาคม",
"April" => "เมษายน",
"May" => "พฤษภาคม",
"June" => "มิถุนายน",
"July" => "กรกฏาคม",
"August" => "สิงหาคม",
"September" => "กันยายน",
"October" => "ตุลาคม",
"November" => "พฤศจิกายน",
"December" => "ธันวาคม",
"by events date" => "ตามวันที่จัดกิจกรรม",
"by yearday(s)" => "ของเมื่อวานนี้",
"by weeknumber(s)" => "จากหมายเลขของสัปดาห์",
"by day and month" => "ตามวันและเดือน",
"Not an array" => "ไม่ใช่อาเรย์",
"Date" => "วันที่",
"Cal." => "คำนวณ",
"All day" => "ทั้งวัน",
"Missing fields" => "ช่องฟิลด์เกิดการสูญหาย",
"Title" => "ชื่อกิจกรรม",
"From Date" => "จากวันที่",
"From Time" => "ตั้งแต่เวลา",
"To Date" => "ถึงวันที่",
"To Time" => "ถึงเวลา",
"The event ends before it starts" => "วันที่สิ้นสุดกิจกรรมดังกล่าวอยู่ก่อนวันเริ่มต้น",
"There was a database fail" => "เกิดความล้มเหลวกับฐานข้อมูล",
"Week" => "สัปดาห์",
"Month" => "เดือน",
"List" => "รายการ",
"Today" => "วันนี้",
"Calendars" => "ปฏิทิน",
"There was a fail, while parsing the file." => "เกิดความล้มเหลวในการแยกไฟล์",
"Sun." => "อา.",
"Mon." => "จ.",
"Tue." => "อ.",
"Wed." => "พ.",
"Thu." => "พฤ.",
"Fri." => "ศ.",
"Sat." => "ส.",
"Jan." => "ม.ค.",
"Feb." => "ก.พ.",
"Mar." => "มี.ค.",
"Apr." => "เม.ย.",
"May." => "พ.ค.",
"Jun." => "มิ.ย.",
"Jul." => "ก.ค.",
"Aug." => "ส.ค.",
"Sep." => "ก.ย.",
"Oct." => "ต.ค.",
"Nov." => "พ.ย.",
"Dec." => "ธ.ค.",
"Choose active calendars" => "เลือกปฏิทินที่ต้องการใช้งาน",
"New Calendar" => "สร้างปฏิทินใหม่",
"CalDav Link" => "ลิงค์ CalDav",
"Download" => "ดาวน์โหลด",
"Edit" => "แก้ไข",
"Delete" => "ลบ",
"New calendar" => "สร้างปฏิทินใหม่",
"Edit calendar" => "แก้ไขปฏิทิน",
"Displayname" => "ชื่อที่ต้องการให้แสดง",
"Active" => "ใช้งาน",
"Calendar color" => "สีของปฏิทิน",
"Save" => "บันทึก",
"Submit" => "ส่งข้อมูล",
"Cancel" => "ยกเลิก",
"Edit an event" => "แก้ไขกิจกรรม",
"Export" => "ส่งออกข้อมูล",
"Title of the Event" => "ชื่อของกิจกรรม",
"Category" => "หมวดหมู่",
"Select category" => "เลือกหมวดหมู่",
"All Day Event" => "เป็นกิจกรรมตลอดทั้งวัน",
"From" => "จาก",
"To" => "ถึง",
"Advanced options" => "ตัวเลือกขั้นสูง",
"Repeat" => "ทำซ้ำ",
"Advanced" => "ขั้นสูง",
"Select weekdays" => "เลือกสัปดาห์",
"Select days" => "เลือกวัน",
"and the events day of year." => "และวันที่มีเหตุการณ์เกิดขึ้นในปี",
"and the events day of month." => "และวันที่มีเหตุการณ์เกิดขึ้นในเดือน",
"Select months" => "เลือกเดือน",
"Select weeks" => "เลือกสัปดาห์",
"and the events week of year." => "และสัปดาห์ที่มีเหตุการณ์เกิดขึ้นในปี",
"Interval" => "ช่วงเวลา",
"End" => "สิ้นสุด",
"occurrences" => "จำนวนที่ปรากฏ",
"Location" => "สถานที่",
"Location of the Event" => "สถานที่จัดกิจกรรม",
"Description" => "คำอธิบาย",
"Description of the Event" => "คำอธิบายเกี่ยวกับกิจกรรม",
"Import a calendar file" => "นำเข้าไฟล์ปฏิทิน",
"Please choose the calendar" => "กรณาเลือกปฏิทิน",
"create a new calendar" => "สร้างปฏิทินใหม่",
"Name of new calendar" => "ชื่อของปฏิทิน",
"Import" => "นำเข้าข้อมูล",
"Importing calendar" => "นำเข้าข้อมูลปฏิทิน",
"Calendar imported successfully" => "ปฏิทินถูกนำเข้าข้อมูลเรียบร้อยแล้ว",
"Close Dialog" => "ปิดกล่องข้อความโต้ตอบ",
"Create a new event" => "สร้างกิจกรรมใหม่",
"Timezone" => "โซนเวลา",
"Check always for changes of the timezone" => "ตรวจสอบการเปลี่ยนแปลงโซนเวลาอยู่เสมอ",
"Timeformat" => "รูปแบบการแสดงเวลา",
"24h" => "24 ช.ม.",
"12h" => "12 ช.ม.",
"Calendar CalDAV syncing address:" => "ที่อยู่ในการเชื่อมข้อมูลกับปฏิทิน CalDav:"
);

View File

@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
"New Timezone:" => "新时区:",
"Timezone changed" => "时区已修改",
"Invalid request" => "非法请求",
"Calendar" => "日历",
@ -25,8 +26,46 @@
"Bi-Weekly" => "每两周",
"Monthly" => "每月",
"Yearly" => "每年",
"never" => "从不",
"by occurrences" => "按发生次数",
"by date" => "按日期",
"by monthday" => "按月的某天",
"by weekday" => "按星期的某天",
"Monday" => "星期一",
"Tuesday" => "星期二",
"Wednesday" => "星期三",
"Thursday" => "星期四",
"Friday" => "星期五",
"Saturday" => "星期六",
"Sunday" => "星期日",
"events week of month" => "事件在每月的第几个星期",
"first" => "第一",
"second" => "第二",
"third" => "第三",
"fourth" => "第四",
"fifth" => "第五",
"last" => "最后",
"January" => "一月",
"February" => "二月",
"March" => "三月",
"April" => "四月",
"May" => "五月",
"June" => "六月",
"July" => "七月",
"August" => "八月",
"September" => "九月",
"October" => "十月",
"November" => "十一月",
"December" => "十二月",
"by events date" => "按事件日期",
"by yearday(s)" => "按每年的某天",
"by weeknumber(s)" => "按星期数",
"by day and month" => "按天和月份",
"Not an array" => "不是一个数组",
"Date" => "日期",
"Cal." => "日历",
"All day" => "全天",
"New Calendar" => "新日历",
"Missing fields" => "缺少字段",
"Title" => "标题",
"From Date" => "",
@ -41,8 +80,26 @@
"Today" => "今天",
"Calendars" => "日历",
"There was a fail, while parsing the file." => "解析文件失败",
"Sun." => "周日",
"Mon." => "周一",
"Tue." => "周二",
"Wed." => "周三",
"Thu." => "周四",
"Fri." => "周五",
"Sat." => "周六",
"Jan." => "1月",
"Feb." => "2月",
"Mar." => "3月",
"Apr." => "4月",
"May." => "5月",
"Jun." => "6月",
"Jul." => "7月",
"Aug." => "8月",
"Sep." => "9月",
"Oct." => "10月",
"Nov." => "11月",
"Dec." => "12月",
"Choose active calendars" => "选择活动日历",
"New Calendar" => "新日历",
"CalDav Link" => "CalDav 链接",
"Download" => "下载",
"Edit" => "编辑",
@ -65,14 +122,32 @@
"To" => "",
"Advanced options" => "高级选项",
"Repeat" => "重复",
"Advanced" => "高级",
"Select weekdays" => "选择星期中的某天",
"Select days" => "选择某天",
"and the events day of year." => "选择每年事件发生的日子",
"and the events day of month." => "选择每月事件发生的日子",
"Select months" => "选择月份",
"Select weeks" => "选择星期",
"and the events week of year." => "选择每年的事件发生的星期",
"Interval" => "间隔",
"End" => "结束",
"occurrences" => "",
"Location" => "地点",
"Location of the Event" => "事件地点",
"Description" => "描述",
"Description of the Event" => "事件描述",
"Import a calendar file" => "导入日历文件",
"Please choose the calendar" => "请选择日历",
"create a new calendar" => "创建新日历",
"Name of new calendar" => "新日历名称",
"Import" => "导入",
"Importing calendar" => "导入日历",
"Calendar imported successfully" => "导入日历成功",
"Close Dialog" => "关闭对话框",
"Create a new event" => "创建新事件",
"Timezone" => "时区",
"Check always for changes of the timezone" => "选中则总是按照时区变化",
"Timeformat" => "时间格式",
"24h" => "24小时",
"12h" => "12小时",

View File

@ -7,16 +7,17 @@
var monthNamesShort = <?php echo json_encode($l->tA(array('Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'))) ?>;
var agendatime = '<?php echo ((int) OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'timeformat', '24') == 24 ? 'HH:mm' : 'hh:mm tt'); ?>{ - <?php echo ((int) OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'timeformat', '24') == 24 ? 'HH:mm' : 'hh:mm tt'); ?>}';
var defaulttime = '<?php echo ((int) OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'timeformat', '24') == 24 ? 'HH:mm' : 'hh:mm tt'); ?>';
var allDayText = '<?php echo $l->t('All day') ?>';
var missing_field = '<?php echo $l->t('Missing fields') ?>';
var missing_field_title = '<?php echo $l->t('Title') ?>';
var missing_field_calendar = '<?php echo $l->t('Calendar') ?>';
var missing_field_fromdate = '<?php echo $l->t('From Date') ?>';
var missing_field_fromtime = '<?php echo $l->t('From Time') ?>';
var missing_field_todate = '<?php echo $l->t('To Date') ?>';
var missing_field_totime = '<?php echo $l->t('To Time') ?>';
var missing_field_startsbeforeends = '<?php echo $l->t('The event ends before it starts') ?>';
var missing_field_dberror = '<?php echo $l->t('There was a database fail') ?>';
var allDayText = '<?php echo addslashes($l->t('All day')) ?>';
var newcalendar = '<?php echo addslashes($l->t('New Calendar')) ?>';
var missing_field = '<?php echo addslashes($l->t('Missing fields')) ?>';
var missing_field_title = '<?php echo addslashes($l->t('Title')) ?>';
var missing_field_calendar = '<?php echo addslashes($l->t('Calendar')) ?>';
var missing_field_fromdate = '<?php echo addslashes($l->t('From Date')) ?>';
var missing_field_fromtime = '<?php echo addslashes($l->t('From Time')) ?>';
var missing_field_todate = '<?php echo addslashes($l->t('To Date')) ?>';
var missing_field_totime = '<?php echo addslashes($l->t('To Time')) ?>';
var missing_field_startsbeforeends = '<?php echo addslashes($l->t('The event ends before it starts')) ?>';
var missing_field_dberror = '<?php echo addslashes($l->t('There was a database fail')) ?>';
var totalurl = '<?php echo OC_Helper::linkTo('apps/calendar', 'caldav.php', null, true); ?>/calendars';
$(document).ready(function() {
<?php
@ -27,31 +28,17 @@
echo '$(\'#calendar_holder\').fullCalendar(\'gotoDate\', ' . $year . ', ' . --$month . ', ' . $day . ');';
echo '$(\'#dialog_holder\').load(OC.filePath(\'calendar\', \'ajax\', \'editeventform.php\') + \'?id=\' + ' . $_['showevent'] . ' , Calendar.UI.startEventDialog);';
}
switch(OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'currentview', 'month')){
case 'agendaWeek':
echo '$(\'#oneweekview_radio\').css(\'color\', \'#6193CF\');';
break;
case 'month':
echo '$(\'#onemonthview_radio\').css(\'color\', \'#6193CF\');';
break;
case 'list':
echo '$(\'#listview_radio\').css(\'color\', \'#6193CF\');';
break;
default:
break;
}
?>
});
</script>
<div id="loading"><img src="<?php echo OC_Helper::imagePath('core', 'loading.gif'); ?>" /></div>
<div id="controls">
<div>
<form>
<div id="view">
<input type="button" value="<?php echo $l->t('Week');?>" id="oneweekview_radio"/>
<input type="button" value="<?php echo $l->t('Month');?>" id="onemonthview_radio"/>
<input type="button" value="<?php echo $l->t('List');?>" id="listview_radio"/>
<input type="button" value="<?php echo $l->t('List');?>" id="listview_radio"/>&nbsp;&nbsp;
<img id="loading" src="<?php echo OC_Helper::imagePath('core', 'loading.gif'); ?>" />
</div>
</form>
<form>

View File

@ -1,39 +0,0 @@
<?php
$l->t('Sunday');
$l->t('Monday');
$l->t('Tuesday');
$l->t('Wednesday');
$l->t('Thursday');
$l->t('Friday');
$l->t('Saturday');
$l->t('Sun.');
$l->t('Mon.');
$l->t('Tue.');
$l->t('Wed.');
$l->t('Thu.');
$l->t('Fri.');
$l->t('Sat.');
$l->t('January');
$l->t('February');
$l->t('March');
$l->t('April');
$l->t('May');
$l->t('June');
$l->t('July');
$l->t('August');
$l->t('September');
$l->t('October');
$l->t('November');
$l->t('December');
$l->t('Jan.');
$l->t('Feb.');
$l->t('Mar.');
$l->t('Apr.');
$l->t('May.');
$l->t('Jun.');
$l->t('Jul.');
$l->t('Aug.');
$l->t('Sep.');
$l->t('Oct.');
$l->t('Nov.');
$l->t('Dec.');

View File

@ -12,7 +12,7 @@ for($i = 0; $i < count($option_calendars); $i++){
?>
<tr>
<td colspan="6">
<a href="#" onclick="Calendar.UI.Calendar.newCalendar(this);"><?php echo $l->t('New Calendar') ?></a>
<a href="#" onclick="Calendar.UI.Calendar.newCalendar(this);"><input type="button" value="<?php echo $l->t('New Calendar') ?>"></a>
</td>
</tr>
<tr>

View File

@ -35,7 +35,7 @@ $name = $_POST['name'];
$value = $_POST['value'];
if(!is_array($value)){
$value = trim($value);
if(!$value && in_array($name, array('TEL', 'EMAIL', 'ORG'))) {
if(!$value && in_array($name, array('TEL', 'EMAIL', 'ORG', 'BDAY', 'NICKNAME'))) {
OC_JSON::error(array('data' => array('message' => $l->t('Cannot add empty property.'))));
exit();
}
@ -72,6 +72,7 @@ foreach ($parameters as $key=>$element) {
$vcard->children[$line]->parameters[] = new Sabre_VObject_Parameter($key,$element);
}
}
$checksum = md5($vcard->children[$line]->serialize());
if(!OC_Contacts_VCard::edit($id,$vcard->serialize())) {
OC_JSON::error(array('data' => array('message' => $l->t('Error adding contact property.'))));
@ -88,4 +89,4 @@ $tmpl->assign('phone_types',$phone_types);
$tmpl->assign('property',OC_Contacts_VCard::structureProperty($property,$line));
$page = $tmpl->fetchPage();
OC_JSON::success(array('data' => array( 'page' => $page )));
OC_JSON::success(array('data' => array( 'checksum' => $checksum, 'page' => $page )));

View File

@ -28,6 +28,7 @@ OC_JSON::checkLoggedIn();
OC_JSON::checkAppEnabled('contacts');
$id = $_GET['id'];
$new = isset($_GET['new']) ? true : false;
$vcard = OC_Contacts_App::getContactVCard( $id );
OC_Contacts_App::renderDetails($id, $vcard);
OC_Contacts_App::renderDetails($id, $vcard, $new);

View File

@ -95,4 +95,4 @@ $tmpl->assign('phone_types',$phone_types);
$tmpl->assign('property',OC_Contacts_VCard::structureProperty($vcard->children[$line],$line));
$page = $tmpl->fetchPage();
OC_JSON::success(array('data' => array( 'page' => $page, 'line' => $line, 'oldchecksum' => $_POST['checksum'] )));
OC_JSON::success(array('data' => array( 'page' => $page, 'line' => $line, 'checksum' => $checksum, 'oldchecksum' => $_POST['checksum'] )));

View File

@ -6,7 +6,7 @@ OC::$CLASSPATH['OC_Contacts_Addressbook'] = 'apps/contacts/lib/addressbook.php';
OC::$CLASSPATH['OC_Contacts_VCard'] = 'apps/contacts/lib/vcard.php';
OC::$CLASSPATH['OC_Contacts_Hooks'] = 'apps/contacts/lib/hooks.php';
OC::$CLASSPATH['OC_Connector_Sabre_CardDAV'] = 'apps/contacts/lib/connector_sabre.php';
OC_HOOK::connect('OC_User', 'post_createUser', 'OC_Contacts_Hooks', 'deleteUser');
OC_HOOK::connect('OC_User', 'post_deleteUser', 'OC_Contacts_Hooks', 'deleteUser');
OC_App::register( array(
'order' => 10,

View File

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "خطء خلال توقيف كتاب العناوين.",
"There was an error adding the contact." => "خطء خلال اضافة معرفه جديده.",
"Cannot add empty property." => "لا يمكنك اضافه صفه خاليه.",
"At least one of the address fields has to be filled out." => "يجب ملء على الاقل خانه واحده من العنوان.",
"Error adding contact property." => "خطء خلال اضافة صفة المعرفه.",
"Error adding addressbook." => "خطء خلال اضافة كتاب عناوين.",
"Error activating addressbook." => "خطء خلال تفعيل كتاب العناوين.",
"Error deleting contact property." => "خطء خلال محي الصفه.",
"Error updating contact property." => "خطء خلال تعديل الصفه.",
"Error updating addressbook." => "خطء خلال تعديل كتاب العناوين",
"Contacts" => "المعارف",
"This is not your addressbook." => "هذا ليس دفتر عناوينك.",
"Contact could not be found." => "لم يتم العثور على الشخص.",
"Information about vCard is incorrect. Please reload the page." => "المعلومات الموجودة في ال vCard غير صحيحة. الرجاء إعادة تحديث الصفحة.",
@ -14,11 +25,13 @@
"Fax" => "الفاكس",
"Video" => "الفيديو",
"Pager" => "الرنان",
"Contact" => "معرفه",
"This is not your contact." => ".هذا ليس من معارفي",
"This card is not RFC compatible." => "هذا الكرت ليس متلائم مع نظام ال RFC.",
"This card does not contain a photo." => "لا يحتوي هذا الكرت على صورة.",
"Add Contact" => "أضف شخص ",
"Addressbooks" => "كتب العناوين",
"Addressbook" => "كتاب العناوين",
"Name" => "الاسم",
"Type" => "نوع",
"PO Box" => "العنوان البريدي",
"Extended" => "إضافة",
"Street" => "شارع",
@ -27,8 +40,25 @@
"Zipcode" => "رقم المنطقة",
"Country" => "البلد",
"Create Contact" => "أضف شخص ",
"Choose active Address Books" => "أختر كتاب العناوين الفعال",
"New Address Book" => "كتاب عناوين جديد",
"CardDav Link" => "وصلة CardDav",
"Download" => "انزال",
"Edit" => "تعديل",
"Delete" => "حذف",
"Download contact" => "انزال المعرفه",
"Delete contact" => "امحي المعرفه",
"Add" => "أدخل",
"New Addressbook" => "كتاب عناوين جديد",
"Edit Addressbook" => "عدل كتاب العناوين",
"Displayname" => "الاسم المعروض",
"Active" => "فعال",
"Save" => "حفظ",
"Submit" => "ارسال",
"Cancel" => "الغاء",
"Birthday" => "تاريخ الميلاد",
"Phone" => "الهاتف"
"Preferred" => "مفضل",
"Phone" => "الهاتف",
"Update" => "تعديل",
"CardDAV syncing address:" => "CardDAV مزامنه العناوين:"
);

View File

@ -27,9 +27,7 @@
"Pager" => "Paginador",
"Contact" => "Contacte",
"This is not your contact." => "Aquest contacte no és vostre.",
"This card is not RFC compatible." => "Aquesta targeta no és compatible amb RFC.",
"This card does not contain a photo." => "Aquesta targeta no conté foto.",
"Add Contact" => "Afegiu un contacte",
"Add Contact" => "Afegir un contacte",
"Addressbooks" => "Llibretes d'adreces",
"Addressbook" => "Llibreta d'adreces",
"Name" => "Nom",

View File

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "Chyba při (de)aktivaci adresáře.",
"There was an error adding the contact." => "Během přidávání kontaktu nastala chyba.",
"Cannot add empty property." => "Nelze přidat prazdný údaj.",
"At least one of the address fields has to be filled out." => "Musí být uveden nejméně jeden z adresních údajů",
"Error adding contact property." => "Chyba během přdávání údaje kontaktu.",
"Error adding addressbook." => "Chyba při přidávání adresáře.",
"Error activating addressbook." => "Chyba při aktivaci adresáře.",
"Error deleting contact property." => "Chyba při odstraňování údaje kontaktu.",
"Error updating contact property." => "Chyba při aktualizaci údaje kontaktu.",
"Error updating addressbook." => "Chyba při aktualizaci adresáře.",
"Contacts" => "Kontakty",
"This is not your addressbook." => "Toto není Váš adresář.",
"Contact could not be found." => "Kontakt nebyl nalezen.",
"Information about vCard is incorrect. Please reload the page." => "Informace o vCard je nesprávná. Obnovte stránku, prosím.",
@ -14,10 +25,11 @@
"Fax" => "Fax",
"Video" => "Video",
"Pager" => "Pager",
"Contact" => "Kontakt",
"This is not your contact." => "Toto není Váš kontakt.",
"This card is not RFC compatible." => "Tato karta není kompatibilní s RFC.",
"This card does not contain a photo." => "Tato karta neobsahuje foto",
"Add Contact" => "Přidat kontakt",
"Addressbooks" => "Adresáře",
"Addressbook" => "Adresář",
"Name" => "Jméno",
"Type" => "Typ",
"PO Box" => "PO box",
@ -34,8 +46,11 @@
"Download" => "Stažení",
"Edit" => "Editovat",
"Delete" => "Odstranit",
"Download contact" => "Stáhnout kontakt",
"Delete contact" => "Odstranit kontakt",
"Add" => "Přidat",
"New Addressbook" => "Nový adresář",
"Edit Addressbook" => "Editace adresáře",
"Displayname" => "Zobrazené jméno",
"Active" => "Aktivní",
"Save" => "Uložit",
@ -44,5 +59,6 @@
"Birthday" => "Narozeniny",
"Preferred" => "Preferovaný",
"Phone" => "Telefon",
"Update" => "Aktualizovat"
"Update" => "Aktualizovat",
"CardDAV syncing address:" => "CardDAV synchronizuje adresu:"
);

View File

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "Fejl ved (de)aktivering af adressebogen",
"There was an error adding the contact." => "Der opstod en fejl ved tilføjelse af kontaktpersonen.",
"Cannot add empty property." => "Kan ikke tilføje en egenskab uden indhold.",
"At least one of the address fields has to be filled out." => "Der skal udfyldes mindst et adressefelt.",
"Error adding contact property." => "Fejl ved tilføjelse af egenskab.",
"Error adding addressbook." => "Fejl ved tilføjelse af adressebog.",
"Error activating addressbook." => "Fejl ved aktivering af adressebog.",
"Error deleting contact property." => "Fejl ved sletning af egenskab for kontaktperson.",
"Error updating contact property." => "Fejl ved opdatering af egenskab for kontaktperson.",
"Error updating addressbook." => "Fejl ved opdatering af adressebog",
"Contacts" => "Kontaktpersoner",
"This is not your addressbook." => "Dette er ikke din adressebog.",
"Contact could not be found." => "Kontaktperson kunne ikke findes.",
"Information about vCard is incorrect. Please reload the page." => "Informationen om vCard er forkert. Genindlæs siden.",
@ -14,10 +25,11 @@
"Fax" => "Fax",
"Video" => "Video",
"Pager" => "Personsøger",
"Contact" => "Kontaktperson",
"This is not your contact." => "Dette er ikke din kontaktperson.",
"This card is not RFC compatible." => "Dette kort er ikke RFC-kompatibelt.",
"This card does not contain a photo." => "Dette kort indeholder ikke et foto.",
"Add Contact" => "Tilføj kontaktperson",
"Addressbooks" => "Adressebøger",
"Addressbook" => "Adressebog",
"Name" => "Navn",
"Type" => "Type",
"PO Box" => "Postboks",
@ -34,8 +46,11 @@
"Download" => "Download",
"Edit" => "Rediger",
"Delete" => "Slet",
"Download contact" => "Download kontaktperson",
"Delete contact" => "Slet kontaktperson",
"Add" => "Tilføj",
"New Addressbook" => "Ny adressebog",
"Edit Addressbook" => "Rediger adressebog",
"Displayname" => "Vist navn",
"Active" => "Aktiv",
"Save" => "Gem",
@ -44,5 +59,6 @@
"Birthday" => "Fødselsdag",
"Preferred" => "Foretrukken",
"Phone" => "Telefon",
"Update" => "Opdater"
"Update" => "Opdater",
"CardDAV syncing address:" => "Synkroniseringsadresse for CardDAV:"
);

View File

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "(De-)Aktivierung des Adressbuches fehlgeschlagen",
"There was an error adding the contact." => "Erstellen des Kontakts fehlgeschlagen",
"Cannot add empty property." => "Feld darf nicht leer sein.",
"At least one of the address fields has to be filled out." => "Mindestens eines der Adressfelder muss ausgefüllt werden.",
"Error adding contact property." => "Kontakt ändern fehlgeschlagen",
"Error adding addressbook." => "Adressbuch hinzufügen fehlgeschlagen",
"Error activating addressbook." => "Adressbuchaktivierung fehlgeschlagen",
"Error deleting contact property." => "Kontakteigenschaft löschen fehlgeschlagen",
"Error updating contact property." => "Kontakteigenschaft aktualisieren fehlgeschlagen",
"Error updating addressbook." => "Adressbuch aktualisieren fehlgeschlagen",
"Contacts" => "Kontakte",
"This is not your addressbook." => "Dies ist nicht dein Adressbuch.",
"Contact could not be found." => "Kontakt konnte nicht gefunden werden.",
"Information about vCard is incorrect. Please reload the page." => "Die Information der vCard ist fehlerhaft. Bitte aktualisiere die Seite.",
@ -14,10 +25,11 @@
"Fax" => "Fax",
"Video" => "Video",
"Pager" => "Pager",
"Contact" => "Kontakt",
"This is not your contact." => "Dies ist nicht dein Kontakt.",
"This card is not RFC compatible." => "Diese Karte ist nicht RFC-kompatibel.",
"This card does not contain a photo." => "Diese Karte enthält kein Foto.",
"Add Contact" => "Kontakt hinzufügen",
"Addressbooks" => "Adressbücher",
"Addressbook" => "Adressbuch",
"Name" => "Name",
"Type" => "Typ",
"PO Box" => "Postfach",
@ -34,8 +46,11 @@
"Download" => "Herunterladen",
"Edit" => "Bearbeiten",
"Delete" => "Löschen",
"Download contact" => "Kontakt herunterladen",
"Delete contact" => "Kontakt löschen",
"Add" => "Hinzufügen",
"New Addressbook" => "Neues Adressbuch",
"Edit Addressbook" => "Adressbuch editieren",
"Displayname" => "Anzeigename",
"Active" => "Aktiv",
"Save" => "Speichern",
@ -44,5 +59,6 @@
"Birthday" => "Geburtstag",
"Preferred" => "Bevorzugt",
"Phone" => "Telefon",
"Update" => "Aktualisieren"
"Update" => "Aktualisieren",
"CardDAV syncing address:" => "CardDAV Sync-Adresse:"
);

View File

@ -15,8 +15,6 @@
"Video" => "Βίντεο",
"Pager" => "Βομβητής",
"This is not your contact." => "Αυτή δεν είναι επαφή σας.",
"This card is not RFC compatible." => "Αυτή η κάρτα δεν είναι RFC συμβατή.",
"This card does not contain a photo." => "Αυτή η κάρτα δεν περιέχει φωτογραφία.",
"Add Contact" => "Προσθήκη επαφής",
"Name" => "Όνομα",
"Type" => "Τύπος",

View File

@ -15,8 +15,6 @@
"Video" => "Videaĵo",
"Pager" => "Televokilo",
"This is not your contact." => "Tiu ĉi ne estas via kontakto.",
"This card is not RFC compatible." => "Ĉi tiu karto ne kongruas kun RFC.",
"This card does not contain a photo." => "Ĉi tiu karto ne havas foton.",
"Add Contact" => "Aldoni kontakton",
"Name" => "Nomo",
"PO Box" => "Abonkesto",

View File

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "Error al (des)activar libreta de direcciones.",
"There was an error adding the contact." => "Ocurrió un error al agregar el contacto.",
"Cannot add empty property." => "No se puede agregar una propiedad vacía.",
"At least one of the address fields has to be filled out." => "Al menos uno de los campos de direcciones tiene que ser llenado.",
"Error adding contact property." => "Error al agregar una propiedad del contacto.",
"Error adding addressbook." => "Error al agregar la libreta de direcciones.",
"Error activating addressbook." => "Error al activar la libreta de direcciones.",
"Error deleting contact property." => "Error al borrar una propiedad del contacto.",
"Error updating contact property." => "Error al actualizar una propiedad del contacto.",
"Error updating addressbook." => "Error al actualizar la libreta de direcciones.",
"Contacts" => "Contactos",
"This is not your addressbook." => "Esta no es tu agenda de contactos.",
"Contact could not be found." => "No se pudo encontrar el contacto.",
"Information about vCard is incorrect. Please reload the page." => "La información sobre el vCard es incorrecta. Por favor vuelve a cargar la página.",
@ -14,10 +25,11 @@
"Fax" => "Fax",
"Video" => "Video",
"Pager" => "Localizador",
"Contact" => "Contacto",
"This is not your contact." => "Este no es tu contacto.",
"This card is not RFC compatible." => "Esta tarjeta no es compatible con RFC.",
"This card does not contain a photo." => "Esta tarjeta no contiene ninguna foto.",
"Add Contact" => "Agregar contacto",
"Addressbooks" => "Libretas de direcciones",
"Addressbook" => "Libreta de direcciones",
"Name" => "Nombre",
"Type" => "Tipo",
"PO Box" => "Código postal",
@ -28,13 +40,18 @@
"Zipcode" => "Código Postal",
"Country" => "País",
"Create Contact" => "Crear contacto",
"Choose active Address Books" => "Elige libreta de direcciones activa",
"New Address Book" => "Nueva libreta de direcciones",
"CardDav Link" => "Link Card Dav",
"Download" => "Descargar",
"Edit" => "Editar",
"Delete" => "Borrar",
"Download contact" => "Descargar contacto",
"Delete contact" => "Eliminar contacto",
"Add" => "Añadir",
"New Addressbook" => "Nueva libreta de direcciones",
"Edit Addressbook" => "Editar libreta de direcciones",
"Displayname" => "Nombre a mostrar",
"Active" => "Activo",
"Save" => "Guardar",
"Submit" => "Aceptar",
@ -42,5 +59,6 @@
"Birthday" => "Cumpleaños",
"Preferred" => "Preferido",
"Phone" => "Teléfono",
"Update" => "Actualizar"
"Update" => "Actualizar",
"CardDAV syncing address:" => "Dirección de sincronización CardDAV:"
);

View File

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "Viga aadressiraamatu (de)aktiveerimisel.",
"There was an error adding the contact." => "Konktakti lisamisel tekkis viga.",
"Cannot add empty property." => "Tühja omadust ei saa lisada.",
"At least one of the address fields has to be filled out." => "Vähemalt üks aadressiväljadest peab olema täidetud.",
"Error adding contact property." => "Viga konktakti korralikul lisamisel.",
"Error adding addressbook." => "Viga aadressiraamatu lisamisel.",
"Error activating addressbook." => "Viga aadressiraamatu aktiveerimisel.",
"Error deleting contact property." => "Viga konktaki korralikul kustutamisel.",
"Error updating contact property." => "Viga konktaki korralikul uuendamisel.",
"Error updating addressbook." => "Viga aadressiraamatu uuendamisel.",
"Contacts" => "Kontaktid",
"This is not your addressbook." => "See pole sinu aadressiraamat.",
"Contact could not be found." => "Kontakti ei leitud.",
"Information about vCard is incorrect. Please reload the page." => "Visiitkaardi info pole korrektne. Palun lae leht uuesti.",
@ -14,11 +25,13 @@
"Fax" => "Faks",
"Video" => "Video",
"Pager" => "Piipar",
"Contact" => "Kontakt",
"This is not your contact." => "See pole sinu kontakt.",
"This card is not RFC compatible." => "See kaart ei ühildu RFC-ga.",
"This card does not contain a photo." => "Sellel kaardil pole fotot.",
"Add Contact" => "Lisa kontakt",
"Addressbooks" => "Aadressiraamatud",
"Addressbook" => "Aadressiraamat",
"Name" => "Nimi",
"Type" => "Tüüp",
"PO Box" => "Postkontori postkast",
"Extended" => "Laiendatud",
"Street" => "Tänav",
@ -27,8 +40,25 @@
"Zipcode" => "Postiindeks",
"Country" => "Riik",
"Create Contact" => "Lisa kontakt",
"Choose active Address Books" => "Vali aktiivsed aadressiraamatud",
"New Address Book" => "Uus aadressiraamat",
"CardDav Link" => "CardDav link",
"Download" => "Lae alla",
"Edit" => "Muuda",
"Delete" => "Kustuta",
"Download contact" => "Lae kontakt alla",
"Delete contact" => "Kustuta kontakt",
"Add" => "Lisa",
"New Addressbook" => "Uus aadressiraamat",
"Edit Addressbook" => "Muuda aadressiraamatut",
"Displayname" => "Näidatav nimi",
"Active" => "Aktiivne",
"Save" => "Salvesta",
"Submit" => "Saada",
"Cancel" => "Loobu",
"Birthday" => "Sünnipäev",
"Phone" => "Telefon"
"Preferred" => "Eelistatud",
"Phone" => "Telefon",
"Update" => "Uuenda",
"CardDAV syncing address:" => "CardDAV sünkroniseerimise aadress:"
);

View File

@ -15,8 +15,6 @@
"Video" => "Bideoa",
"Pager" => "Bilagailua",
"This is not your contact." => "Hau ez da zure kontaktua.",
"This card is not RFC compatible." => "Txartel hau ez da RFC bateragarria.",
"This card does not contain a photo." => "Txartel honek ez dauka argazkirik.",
"Add Contact" => "Gehitu Kontaktua",
"Name" => "Izena",
"PO Box" => "Posta kutxa",

View File

@ -27,8 +27,6 @@
"Pager" => "Bipeur",
"Contact" => "Contact",
"This is not your contact." => "Ce n'est pas votre contact.",
"This card is not RFC compatible." => "Cette fiche n'est pas compatible RFC.",
"This card does not contain a photo." => "Cette fiche ne contient pas de photo.",
"Add Contact" => "Ajouter un Contact",
"Addressbooks" => "Carnets d'adresses",
"Addressbook" => "Carnet d'adresses",

View File

@ -27,8 +27,6 @@
"Pager" => "Paxinador",
"Contact" => "Contacto",
"This is not your contact." => "Este non é un dos seus contactos",
"This card is not RFC compatible." => "Esta tarxeta non é compatible con RFC",
"This card does not contain a photo." => "Esta tarxeta non ten fotografía",
"Add Contact" => "Engadir contacto",
"Addressbooks" => "Directorios",
"Addressbook" => "Directorio",

View File

@ -15,8 +15,6 @@
"Video" => "וידאו",
"Pager" => "זימונית",
"This is not your contact." => "זהו אינו איש קשר שלך",
"This card is not RFC compatible." => "כרטיס זה אינו תואם ל־RFC",
"This card does not contain a photo." => "כרטיס זה אינו כולל תמונה",
"Add Contact" => "הוספת איש קשר",
"Name" => "שם",
"PO Box" => "תא דואר",

View File

@ -15,8 +15,6 @@
"Video" => "Video",
"Pager" => "Pager",
"This is not your contact." => "Ovo nije vaš kontakt.",
"This card is not RFC compatible." => "Ova kartica nije sukladna prema RFC direktivama.",
"This card does not contain a photo." => "Ova kartica ne sadrži fotografiju.",
"Add Contact" => "Dodaj kontakt",
"Name" => "Naziv",
"PO Box" => "Poštanski Pretinac",

View File

@ -15,8 +15,6 @@
"Video" => "Video",
"Pager" => "Lapozó",
"This is not your contact." => "Nem a te kapcsolatod.",
"This card is not RFC compatible." => "A kártya nem RFC kompatibilis.",
"This card does not contain a photo." => "A kártya nem tartlmaz fényképet.",
"Add Contact" => "Kontakt hozzáadása",
"Name" => "Név",
"PO Box" => "Postafiók",

View File

@ -13,7 +13,6 @@
"Video" => "Video",
"Pager" => "Pager",
"This is not your contact." => "Iste non es tu contacto",
"This card is not RFC compatible." => "Iste carta non es compatibile con RFC",
"Add Contact" => "Adder contacto",
"Name" => "Nomine",
"PO Box" => "Cassa postal",

View File

@ -27,8 +27,6 @@
"Pager" => "Cercapersone",
"Contact" => "Contatto",
"This is not your contact." => "Questo non è un tuo contatto.",
"This card is not RFC compatible." => "Questa card non è compatibile con il protocollo RFC.",
"This card does not contain a photo." => "Questa card non contiene una foto.",
"Add Contact" => "Aggiungi contatto",
"Addressbooks" => "Rubriche",
"Addressbook" => "Rubrica",

View File

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "電話帳の有効/無効化に失敗しました。",
"There was an error adding the contact." => "連絡先の追加でエラーが発生しました。",
"Cannot add empty property." => "項目の新規追加に失敗しました。",
"At least one of the address fields has to be filled out." => "アドレス項目の1つは記入して下さい。",
"Error adding contact property." => "連絡先の追加に失敗しました。",
"Error adding addressbook." => "電話帳の追加に失敗しました。",
"Error activating addressbook." => "電話帳の有効化に失敗しました。",
"Error deleting contact property." => "連絡先の削除に失敗しました。",
"Error updating contact property." => "連絡先の更新に失敗しました。",
"Error updating addressbook." => "電話帳の更新に失敗しました。",
"Contacts" => "連絡先",
"This is not your addressbook." => "これはあなたの電話帳ではありません。",
"Contact could not be found." => "連絡先を見つける事ができません。",
"Information about vCard is incorrect. Please reload the page." => "vCardの情報に誤りがあります。ページをリロードして下さい。",
@ -14,11 +25,13 @@
"Fax" => "FAX",
"Video" => "テレビ電話",
"Pager" => "ポケベル",
"Contact" => "連絡先",
"This is not your contact." => "あなたの連絡先ではありません。",
"This card is not RFC compatible." => "このカードはRFCに準拠していません。",
"This card does not contain a photo." => "このカードは写真を含んでおりません。",
"Add Contact" => "連絡先の追加",
"Addressbooks" => "電話帳",
"Addressbook" => "電話帳",
"Name" => "氏名",
"Type" => "種類",
"PO Box" => "私書箱",
"Extended" => "拡張番地",
"Street" => "街路番地",
@ -27,8 +40,25 @@
"Zipcode" => "郵便番号",
"Country" => "国名",
"Create Contact" => "追加",
"Choose active Address Books" => "有効な電話帳の選択",
"New Address Book" => "新規電話帳",
"CardDav Link" => "CardDAV リンク",
"Download" => "ダウンロード",
"Edit" => "編集",
"Delete" => "削除",
"Download contact" => "連絡先のダウンロード",
"Delete contact" => "連絡先の削除",
"Add" => "追加",
"New Addressbook" => "電話帳の新規作成",
"Edit Addressbook" => "電話帳の編集",
"Displayname" => "表示名",
"Active" => "アクティブ",
"Save" => "保存",
"Submit" => "送信",
"Cancel" => "取り消し",
"Birthday" => "生年月日",
"Phone" => "電話番号"
"Preferred" => "推奨",
"Phone" => "電話番号",
"Update" => "更新",
"CardDAV syncing address:" => "CardDAV 同期アドレス:"
);

View File

@ -15,8 +15,6 @@
"Video" => "Video",
"Pager" => "Pager",
"This is not your contact." => "Dat do ass net däin Kontakt.",
"This card is not RFC compatible." => "Déi do Kaart ass net RFC kompatibel.",
"This card does not contain a photo." => "Déi do Kaart huet keng Foto.",
"Add Contact" => "Kontakt bäisetzen",
"Name" => "Numm",
"PO Box" => "Postleetzuel",

View File

@ -15,8 +15,6 @@
"Video" => "Video",
"Pager" => "Pieper",
"This is not your contact." => "Dit is niet uw contactpersoon.",
"This card is not RFC compatible." => "Deze kaart is niet RFC compatibel.",
"This card does not contain a photo." => "Deze contact bevat geen foto.",
"Add Contact" => "Contact toevoegen",
"Name" => "Naam",
"Type" => "Type",

View File

@ -15,8 +15,6 @@
"Video" => "Video",
"Pager" => "Personsøkjar",
"This is not your contact." => "Dette er ikkje din kontakt.",
"This card is not RFC compatible." => "Dette kortet er ikkje RFC-kompatibelt",
"This card does not contain a photo." => "Dette kortet har ingen bilete.",
"Add Contact" => "Legg til kontakt",
"Name" => "Namn",
"PO Box" => "Postboks",

View File

@ -27,8 +27,6 @@
"Pager" => "Pager",
"Contact" => "Kontakt",
"This is not your contact." => "To nie jest twój kontakt.",
"This card is not RFC compatible." => "Ta karta nie jest zgodna ze specyfikacją RFC.",
"This card does not contain a photo." => "Ta karta nie zawiera zdjęć.",
"Add Contact" => "Dodaj kontakt",
"Addressbooks" => "Książki adresowe",
"Addressbook" => "Książka adresowa",

View File

@ -15,8 +15,6 @@
"Video" => "Vídeo",
"Pager" => "Pager",
"This is not your contact." => "Este não é o seu contato.",
"This card is not RFC compatible." => "Este cartão não é compatível com RFC.",
"This card does not contain a photo." => "Este cartão não contém uma foto.",
"Add Contact" => "Adicionar Contato",
"Name" => "Nome",
"PO Box" => "Caixa Postal",

View File

@ -15,8 +15,6 @@
"Video" => "Vídeo",
"Pager" => "Pager",
"This is not your contact." => "Este não é o seu contacto",
"This card is not RFC compatible." => "Este cartão não é compativel com RFC",
"This card does not contain a photo." => "Este cartão não possui foto",
"Add Contact" => "Adicionar Contacto",
"Name" => "Nome",
"PO Box" => "Apartado",

View File

@ -15,8 +15,6 @@
"Video" => "Video",
"Pager" => "Pager",
"This is not your contact." => "Nu este contactul tău",
"This card is not RFC compatible." => "Nu este compatibil RFC",
"This card does not contain a photo." => "Nu conține o fotografie",
"Add Contact" => "Adaugă contact",
"Name" => "Nume",
"Type" => "Tip",

View File

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "Ошибка (де)активации адресной книги.",
"There was an error adding the contact." => "Произошла ошибка при добавлении контакта.",
"Cannot add empty property." => "Невозможно добавить пустой параметр.",
"At least one of the address fields has to be filled out." => "Как минимум одно поле адреса должно быть заполнено.",
"Error adding contact property." => "Ошибка добавления информации к контакту.",
"Error adding addressbook." => "Ошибка добавления адресной книги.",
"Error activating addressbook." => "Ошибка активации адресной книги.",
"Error deleting contact property." => "Ошибка удаления информации из контакта.",
"Error updating contact property." => "Ошибка обновления информации контакта.",
"Error updating addressbook." => "Ошибка обновления адресной книги.",
"Contacts" => "Контакты",
"This is not your addressbook." => "Это не ваша адресная книга.",
"Contact could not be found." => "Контакт не найден.",
"Information about vCard is incorrect. Please reload the page." => "Информация о vCard некорректна. Пожалуйста, обновите страницу.",
@ -14,11 +25,13 @@
"Fax" => "Факс",
"Video" => "Видео",
"Pager" => "Пейджер",
"Contact" => "Контакт",
"This is not your contact." => "Это не контакт.",
"This card is not RFC compatible." => "Эта карточка не соответствует RFC.",
"This card does not contain a photo." => "Эта карточка не содержит фотографии.",
"Add Contact" => "Добавить Контакт",
"Addressbooks" => "Адресные книги",
"Addressbook" => "Адресная книга",
"Name" => "Имя",
"Type" => "Тип",
"PO Box" => "АО",
"Extended" => "Расширенный",
"Street" => "Улица",
@ -27,8 +40,25 @@
"Zipcode" => "Почтовый индекс",
"Country" => "Страна",
"Create Contact" => "Создать Контакт",
"Choose active Address Books" => "Выберите активные адресные книги",
"New Address Book" => "Новая адресная книга",
"CardDav Link" => "Ссылка CardDAV",
"Download" => "Скачать",
"Edit" => "Редактировать",
"Delete" => "Удалить",
"Download contact" => "Скачать контакт",
"Delete contact" => "Удалить контакт",
"Add" => "Добавить",
"New Addressbook" => "Новая адресная книга",
"Edit Addressbook" => "Править адресную книгу",
"Displayname" => "Отображаемое имя",
"Active" => "Активно",
"Save" => "Сохранить",
"Submit" => "Отправить",
"Cancel" => "Отменить",
"Birthday" => "День рождения",
"Phone" => "Телефон"
"Preferred" => "Предпочитаемый",
"Phone" => "Телефон",
"Update" => "Обновить",
"CardDAV syncing address:" => "Адрес синхронизации CardDAV:"
);

Some files were not shown because too many files have changed in this diff Show More